PODCAST #23. Maximizing Opportunities in Product Management: What We Learned from a Director of Engineering

Welcome to the Care Minds podcast! Today, our guest is Adam Jubert, Director of Engineering at Journey Clinical. We’ll cover Adam’s career, explore product design and development, and discuss the role of AI in process optimization.

Now, here’s a thought to ponder for PMs – What if the secret to groundbreaking innovation lies in identifying the right company? Let’s explore this, shall we?

Navigating Career Growth: From a Software Developer to Director of Engineering

“Taking an active role in your own career progression is the most important thing.”

Adam Jubert – Director of Engineering at Journey Clinical

Mr. Adam said a proactive approach and a keen eye for new opportunities drove his career growth and progression. He emphasized the importance of having regular one-on-one meetings with his managers, during which they discussed his career goals and identified potential areas for growth. Through these conversations, he was able to take on challenging technical projects and expand his skills in project management.

As he evolved as a software engineer, Mr. Adam recognized the choice between pursuing an individual contributor track or transitioning into a management track. Opting for the latter, he began working cross-functionally and delving into project management. He actively sought opportunities to lead and demonstrated his capabilities in coordinating projects and collaborating with teams.

One key factor contributing to his growth was the feedback he received from his managers. During their one-on-one sessions, he not only sought constructive criticism but also asked his managers to identify the aspects of his work that they appreciated. This enabled him to receive recognition for his strengths and continue to build upon them.

Mr. Adam’s progression was gradual; he took small steps by managing projects that initially required one to two engineers. Over time, he gained experience handling multiple cross-functional projects simultaneously. He actively sought advice from his leadership, seeking guidance on improving his project management skills and effectively managing people.

Identifying Growth Opportunities in Early Career Choices

According to Mr. Adam, identifying companies that offer growth opportunities early on requires careful consideration during the interview process. While popular rankings and articles about top tech companies can provide a starting point, he emphasizes that many lesser-known companies can still provide a conducive environment for success.

It is essential to present yourself as a candidate and interview the company during interviews. Mr. Adam suggests asking questions about team culture and management style. One effective question he often asks managers is to describe a situation where they had to discipline or handle issues with an employee. Understanding the manager’s leadership approach makes it possible to assess if it aligns with personal preferences and career goals.

Moreover, Mr. Adam highlights the importance of gathering insights from current employees about the company culture and career progression. Asking about recent promotions and success stories within the organization can provide valuable information about growth opportunities. Exploring these cultural questions related to career progression helps in making an informed decision.

Regarding series D startups or later-stage startups, where organizational structures may be less defined, Mr. Adam suggests discussing career progression during the interview process. It is important to inquire about the frequency of promotions and how the company supports employee growth. Once in the role, maintaining open and honest communication with one’s direct manager is crucial. Clearly expressing career aspirations and goals and ensuring that expectations are aligned with the manager’s support can contribute to a successful career path within such organizations.

Mr. Adam acknowledges that navigating promotions can be challenging due to organizational structures, but having a supportive manager who advocates for employee growth is vital. Identifying such managers during the interview process and fostering a strong working relationship with them is key. By collaborating with managers, setting clear expectations, and regularly checking in, employees can enhance their chances of career advancement.

Streamlining Engineering Moves and Balancing Efficiency and Effectiveness in Multi-Sided Marketplaces

According to Mr. Adam, effectively managing a multi-sided marketplace like Journey Clinical involves understanding and acknowledging the diverse needs and perspectives of different user groups. He emphasizes the importance of tailoring the presentation of information to suit the specific requirements of each user segment. For example, doctors may prefer concise, scientifically formatted information, while patients would benefit from a user-friendly and organized experience.

In tackling problem statements within the marketplace, Mr. Adam suggests addressing the concerns of the respective user sets involved. However, it is also crucial to consider the potential ripple effects and impacts on other areas of the application. For instance, changes made in the patient portal should be consistent with and complement updates in the prescriber portal. This ensures a cohesive user experience across the entire marketplace.

Furthermore, Mr. Adam emphasizes aligning communication styles with users’ preferences. By considering not only what users are accustomed to seeing within the app but also what they generally prefer, a more engaging and effective user experience can be created.

Preparing for Product Success: Essential Steps Before Embarking on Component-Driven Development

Adam believes companies must take certain steps before diving into product development. While the instinct might be to start solving problems immediately, he advises against skipping the process of first digitizing and operationalizing the solution. By incorporating the solution into the product design engineering flow, valuable time can be saved, and important lessons can be learned.

“Being lean, being a startup, your goal is to make guesses, make hypotheses, run experiments, see if those experiences were true, see if the hypothesis was true, and then iterate on it.”

Adam Jubert – Director of Engineering at Journey Clinical

Being lean and agile is essential for startups, and their goal should be to make hypotheses, run experiments, validate those hypotheses, and iterate based on the results. Mr. Adam emphasizes the importance of operationalizing things, which involves using tools that facilitate the creation of prototypes or minimal viable products. These tools can range from simple ones like Google Sheets and Forms to more complex automation processes and scheduling software. By leveraging these tools, companies can quickly create hypotheses, test them, and iterate accordingly.

The advantage of operationalizing hypotheses before entering the full product design cycle is to avoid spending excessive time and effort on developing a product that may not align with user expectations. By validating hypotheses early on, companies can gather feedback and make informed decisions about the direction of their product development.

Balancing Speed and Quality and Navigating Pushback between Technical and Product Departments

“Having a culture on the team of having open conversations around tradeoffs is super important.”

Adam Jubert – Director of Engineering at Journey Clinical

According to Mr. Adam, one of the difficulties that technical and product departments in startups frequently face is striking a balance between speed and quality. The need for rapid progress often clashes with the desire for a polished and aesthetically pleasing product. In the startup environment, speed is crucial, and the focus is on delivering a functional solution rather than a perfect user experience.

Creating a culture of open discussions around trade-offs is vital to addressing this challenge. Mr. Adam emphasizes the importance of conversations involving engineering leadership, product managers, and other stakeholders. It is crucial to openly discuss the trade-offs between delivering a shiny, feature-rich product in a longer timeframe versus delivering a functional product quickly for testing and iteration.

In Mr. Adam’s experience, most product managers in startups prioritize functionality over aesthetics during the early stages. They opt for delivering a minimum viable product quickly and gathering user feedback before investing time and resources in refining the user experience. The decision-making process regarding trade-offs is typically non-emotional, focusing on what is best for the business and the users.

As a director of engineering, Mr. Adam aims to ensure the business’s success and the users’ satisfaction. He emphasizes that no matter which trade-off is chosen, his team can still work on interesting projects and contribute valuable code. The level of attention to product and design quality increases as the user base grows. However, in the early stages of startups, having a functional product is generally deemed more important than a flawless user interface.

Mr. Adam cites examples of successful startups that initially operated with simple tools like Google Sheets or manual email processes. These companies scaled their user base significantly before investing heavily in refining the user experience. This illustrates that perfection in UX or UI is not essential at the early stages of a startup.

Essential Solutions and Strategies for Fast-tracking Efficient Go-to-Market

“When researching third party tools, cost is also important, as well as their ability to integrate and provide a seamless user experience.”

Adam Jubert – Director of Engineering at Journey Clinical

According to Mr. Adam, there are several key factors to consider when selecting software solutions for different industries. In the healthcare sector, HIPAA compliance is a must-have requirement. Similarly, in finance, there may be specific regulations like Payment Card Industry Data Security Standard (PCI DSS) compliance to consider. Mr. Adam emphasizes that they can ensure HIPAA compliance if they build the software in-house. However, HIPAA compliance and cost become crucial when exploring third-party options.

During discussions about problem statements, Mr. Adam applies a cost-benefit analysis. He first considers whether existing companies offer solutions for the specific problem statement, estimating that approximately 80% of problems already have existing solutions. He examines the available companies and their solutions, evaluating factors such as their ability to address the problem statement, ease of integration, and the presence of APIs, which are essential for seamless integration with existing systems. Mr. Adam highlights the importance of integrating the third-party solution in a way that appears seamless to the user, avoiding a disjointed experience.

Furthermore, Mr. Adam considers the resources within his team, particularly focusing on product design and engineering. He evaluates the number of engineers available, the time required to build a custom solution, the scalability of the custom solution, and the need for additional features. If a company has sufficient engineers, building an in-house solution to keep everything internal may make sense. However, with limited engineering resources, integrating with third-party tools becomes a more viable option, allowing the engineers to focus on other tasks.

Mr. Adam acknowledges the tradeoffs between building in-house and buying third-party solutions. While it’s tempting to have most of the solution be internal intellectual property (IP), third-party tools’ practical considerations and advantages should not be overlooked. He suggests that companies carefully assess the benefits and drawbacks of each approach.

“Tools like Github Copilot and Chat GPT can save a ton of time and be useful for tasks like code autocomplete and writing unit tests.”

Adam Jubert – Director of Engineering at Journey Clinical

Shifting gears to AI technology, Mr. Adam shares his enthusiasm for tools like GitHub Copilot. This tool provides code autocomplete suggestions based on the user’s codebase and the vast amount of code available on GitHub. It significantly saves time and is particularly adept at suggesting proper conventions, which is crucial when using frameworks like Ruby on Rails.

Additionally, Mr. Adam mentions the usefulness of chatbot AI tools for writing unit tests. Unit testing and code quality are paramount to him and his team. Tools like Chat GPT enable developers to generate unit tests quickly by providing suggestions and reducing the time spent on manual test writing.

The Ideal Product Manager and Quality Traits Engineers Love to Work With

“Some of the product managers that I’ve really loved working with in the past are proactive and get a full sense of the stakeholders’ needs and problems beforehand.”

Adam Jubert – Director of Engineering at Journey Clinical

According to Mr. Adam, effective product managers are proactive and thoroughly understand stakeholders’ needs and problems before involving the engineering and design teams. He appreciates the use of comprehensive documentation, citing companies like Stripe as an example, where they prioritize documentation and even have documentation about their documentation. Mr. Adam believes writing things down and incorporating visuals when possible is essential for clarity and understanding.

“Making sure that the problem statements and potential solutions align with what already exists in the current context of the application.”

Adam Jubert – Director of Engineering at Journey Clinical

Moreover, Mr. Adam emphasizes the importance of considering the current context of the application being worked on. It is crucial to ensure that problem statements and potential solutions align with the existing framework. 

When wireframing and discussing the flow of data elements, he emphasizes the need to know where each data element originates. For example, if a user’s phone number is required to send them a text, it is necessary to consider what happens if the phone number is unavailable. Understanding the data sources and their interaction with different application parts is vital for maintaining a coherent and functional system.

Key Considerations for Enhancing Collaboration between Product Managers and Engineering Teams

“Having blameless postmortems when there are big issues and taking the focus off of who did the wrong thing onto what happened and how to improve it in the future.”

Adam Jubert – Director of Engineering at Journey Clinical

Effective product managers should communicate the problem statement to the engineering team and provide insights into the user’s journey. Sharing user feedback and recordings of user interviews can give engineers a sense of purpose and intrinsic motivation. Data-driven communication, such as highlighting the percentage of users experiencing a specific problem and expressing their frustration, resonates well with engineers who value empirical evidence.

Furthermore, Mr. Adam emphasizes creating a shared experience within a fully remote team. He suggests starting meetings with a few minutes of casual conversation to foster a sense of camaraderie. Writing high-quality code, including tests, conducting pull requests, and conducting code reviews, is essential for a high-performance engineering team.

As a manager, Mr. Adam believes in the significance of regular one-on-one meetings with direct reports to support their progress toward their goals. Additionally, he recognizes the value of occasional skip-level one-on-ones to maintain an understanding of the broader team dynamics. Encouraging a blameless culture is crucial when addressing bugs or issues. 

Mr. Adam promotes blameless postmortems to focus on process improvement rather than assigning individual blame. By referring to code issues as “our code” and conducting blameless postmortems, the team takes collective responsibility for their work and focuses on learning from mistakes.

Summing it Up…

The journey of Mr. Adam provides valuable insights for navigating career growth in the tech industry. Through his experiences and perspectives, we can distill the following major lessons:

  • Proactively seeking new opportunities and engaging in regular one-on-one meetings with managers serve as a platform to discuss career goals and identify growth areas.
  • As one’s career progresses, pursuing an individual contributor or management track demonstrates one’s capabilities. It also expands one’s skills beyond technical expertise.
  • Seeking feedback from managers helps identify areas for improvement while acknowledging strengths and leveraging them to build upon success. 
  • Making informed career choices and identifying growth opportunities early in one’s career requires careful consideration.
  • Balancing efficiency and effectiveness is very important, especially in startups. Also, prioritizing functionality over aesthetics in the early stages is key.








The APP Solutions launched a podcast, CareMinds, where you can hear from respected experts in healthcare and Health Tech.

Who is a successful product manager in the healthcare domain? Which skills and qualities are crucial? How important is this role in moving a successful business to new achievements? Responsibilities and KPIs?

Please find out about all this and more in our podcast. Stay tuned for updates and subscribe to channels.

Listen to our podcast to get some useful tips on your next startup.

Article podcast YouTube

Project Management for Software Development: The APP Solutions Tips

When choosing a development team for your project, what should you pay attention to? 

Portfolio? Tech Stack? Domain expertise? All of these answers are correct. But more importantly, the development team should have documented project setup processes and development to ensure transparency for stakeholders. 

Knowing the project lifecycle, core deliverables, and critical roles on the project, allow you as a decision-maker to be on the same page with the development team, thus, create more realistic expectations and the final result. 

This article explains the project setup and management processes at The APP Solutions in detail and the key roles and responsibilities of each party during the project life cycle. We also list key deliverables our clients receive at each stage of project development. 

Software development project management at The APP Solutions

We apply SDLC (Software Development Life Cycle ) as our methodology of choice for the projects we develop from scratch and existing projects requiring features modernization, software update, and code refactoring. 

The SDLC refers to a methodology with clearly defined processes for the development team. 

The development team goes through the following steps of the project lifecycle:  

  • Requirement analysis 
  • Planning process
  • Software design 
  • Architectural design 
  • Software development 
  • Testing process
  • Deployment process

Software Development Life Cycle from a stakeholder’s perspective includes the following phases:  

  • Inception 
  • Project Initiation 
  • Project Development and Quality Assurance 
  • Final Project Demonstration Session
  • Technical Support

Each of these phases requires the cooperation of stakeholders with different team members. Let’s take a look at each stage of software development at The APP Solutions in more detail.

Phase 1. Engagement 

The engagement phase is the first step toward project development. It takes four weeks for our development team to determine user roles, ways users interact with the application (user stories), and project usage scenarios. 

Each week of the engagement phase has its goals and deliverables:

Week 1. Understanding

We suggest relevant technologies, dig deeper into your business and highlight the main business challenges you want to overcome with the project. 

We achieve these goals by:

  • Defining your business goals 
  • Discussing business needs
  • Checking out the current product infrastructure 
  • Running requirement elicitation session
  • Limiting potential opportunities for further cooperation 

Week 2. Definition

We shape the project vision and create a list of features for the first project version with basic features, i.e., the project’s MVP (Minimum Viable Product) and features for a fully-fledged product’s version.  

During the second week of the engagement phase, The APP Solutions developers are dedicated to 

  • Setting up scope boundaries
  • Running scope prioritization
  • Defining MVP scope
  • Creating Architecture Vision

Week 3. Portrayal

We devote the third week of the engagement phase to gathering and writing project requirements, functional, non-functional, and transactional. 

We ensure that technical project requirements are written down from a Solution-perspective, i.e., are aligned with business needs. 

To achieve this goal, software test engineers view the requirements at early stages and apply a “Requirement Checklist” that helps determine whether the requirements are complete, accurate, verifiable, and consistent. 

The tasks for the third week include: 

  • Running technical assessment session
  • Organizing requirements elicitation session 
  • Reweaving the project’s visual style 

Week 4. Result

We develop a realistic Product Roadmap that supports your Commercial Roadmap.

We also manage the technical aspects of a project to ensure that they’re in line with the company’s growth targets. 

During the last week of the engagement phase, we are busy with:

  • Gathering the Project Scope for the release 0.1
  • Writing a Resource Plan for the Scope for release 0.1 
  • Completing Requirements description 

Main deliverables of the Inception Phase

After a four-week-period, our team comes up with the following deliverables of the engagement phase: 

  • Technical Documentation 
  • System Architecture 
  • Resource Plan 
  • UI/UX Vision

Then, we move to the next phase of the project development life cycle named the project initiation phase. 

Phase 2. Project Initiation

Before developers start writing code for your project, the team runs a quick project setup phase to gather all the necessary documentation, including the cooperation agreement, project briefs, specifications, prototypes, etc. 

The project initiation phase also ensures that all team members are aware of the project goals, and you, as a stakeholder, are aware of the communication plan schedule. 

The main deliverables of the project initiation phase are:

Communication plan

A communication plan is a document that specifies all the reports our team makes during the project development phase.

To create the Communication Plan, the Business Development Manager invites you and the Project Manager to a meeting during which you discuss further cooperation and critical project milestones. 

The Communication plan covers the schedule of:

  • Daily Scrum meetings. Their purpose is to synchronize the Project Manager with the team each day about the progress/blockers/plan for the next day. 
  • Weekly planning meetings. Once a week, the Project Manager meets the development team to prioritize tasks for the next week and improve the log review. The Project Manager writes down the incoming information from the team meeting notes to ensure important details won’t be lost. 
  • Financial reports. The Project Manager creates financial statements in PDF with a list of all the hours spent and task breakdown to the customer to ensure transparency about the monthly expenses and time spent. The customer receives the Financial report on the first day of the month.  
  • Monthly reports. The Project Manager overviews the created tasks based on requests and produces a monthly report with incoming requests from the client and requests we’ve fulfilled. 
  • Delivery meetings. The Delivery Director and  Customer discuss the processes on a higher level and write down the outcomes from meeting notes. 

Kickoff meeting

After all preparations, the development team runs a kickoff meeting with you to introduce the development team members and their roles. 

The team composition and development depend on the project’s scope. An average development team composition includes the Project Manager, the Product Owner, the Technical Lead, the Quality Assurance Manager, and  System Administrator. 

After the kickoff meeting, the team gets ready for the project development phase: 

  • The Project Manager and the business analyst create a project backlog with the tasks.
  • The Project Manager and the Product Owner prioritize tasks in the backlog.
  • The Project Manager, the Product Owner, and the rest of the development team estimate the first sprint, i.e., the amount of time they need to implement the required functionality.
  • The Technical Lead creates the overall project architecture.
  • The Quality Assurance manager creates a checklist for the project functionality one will use to ensure that the project’s functions work as they should
  • The System Administrator creates the GitLab CI/CD repository where the team will deploy and store different versions of the project’s code. 
  • The System Administrator sets up the Development and the Stage environments. The Development environment is the environment for coding. The Stage (staging or pre-production) environment is the environment for testing that resembles a Production environment.

Phase 3. Project Development and QA

For most projects, we apply the scrum project development framework. This means that the scope of the project is broken down into 2-3 week sprints. At the end of the sprint, the team runs a demo of new functionality to stakeholders and releases the new functionality to the live environment. 

Sprint Planning 

Each new sprint begins with sprint planning. At the beginning of the sprint, the development team plans and determines what scope will be delivered.

If the team considers that they can’t deliver the expected result, we find extra developers that augment the team. 

At this phase, the Project Manager and the development team

  • Define a person responsible for technical leadership on the project, i.e., the tech lead
  • Implement development guidelines (design pattern, scalability, maintainability, test coverage, code review, etc.)    

Definition of Done 

The definition of done is an essential document for developers, QA managers, and project stakeholders. Definition of done is a list of requirements determining one or another feature is performed as it should, ready for deployment to a live environment, and enlightened with the tech specification. 

The development team determines the definition of done for each function of the project during spring planning: 

  • The developer estimates the required time to complete a particular task
  • The Project Manager adds the user stories and the use case to the description of the task 
  • The developer and Project Manager add conditions the task requires to perform correctly in the definition of done     

Once the team defines the project scope for the new sprint, developers begin to code project functionality. The quality assurance team tests each task right after the developer finishes coding it. 

Sprint end 

When the team has a few days before the sprint ends, the tech lead of the project dedicates a stable branch for a QA manager for project testing: 

  • QA managers run regression tests to find bugs and errors
  • Developers fix errors and do code refactoring
  • The team releases new functions and run a demo session with stakeholders and gathers their feedback
  • The team share their challenges during the sprint, potential bottlenecks for the new spring during sprint retrospective, and create the scope for the project improvement process in the case of stakeholders not being satisfied with the project demo

Project Improvement 

Project Improvement is the scope of work developers must do so the project’s functions meet the definition of done:

  • The Project Manager establishes the improvement backlog and renews it by the end of an iteration 
  • The Project Manager involves the stakeholders in generating the project improvement ideas and fixes them in the improvement backlog


Before releasing the new project’s code, developers create a project repository backup. This procedure is necessary because new functions may not be compatible with tasks in the old project’s code.

Moreover, backups help us compare a previously good state of the project with the project’s current state. Finally, backups prevent data loss by ensuring that critical infrastructure wasn’t decoupled from Github by a third party that wants the breach to spread. 

The team creates a backup of GitHub repositories with critical project assets, including:

  • Codebase                        
  • Infrastructure and configuration                         
  • Databases                        

Then, QA managers test each project backup.

Iteration by iteration, The APP Solutions team of developers does spring planning, coding, bug fixing, making backups, and testing until the final project demo. 

Phase 4. Final Demonstration

The final demonstration session of the project is a meeting of the development team and you as a project stakeholder before the project’s release. 

During the final demonstration sessions, the development team shows the project functionality written in the project technical documentation to you and other stakeholders.

After the final demonstration session, you and other stakeholders can test the product on your own in the test environment before developers upload the project to your server. 

During the next two weeks, The APP Solutions team provides free technical support to fix issues that are not aligned with technical requirements to the system. After the end of the two weeks, the APP Solutions Team and you can sign a Technical Support Agreement to continue project improvement. 

Phase 5. Technical support 

Technical support is necessary for all new projects to maintain a system that can perform differently in a live environment rather than in a test environment. 

Technical support is also essential for ensuring the system’s stability since unexpected high traffic loads can increase project downtime and cause other technical issues. 

Tech Support Team 

The typical support team includes: 

  • The DevOps engineer maintains network health and fixes errors on the server 
  • The support manager (or a feedback operator) gathers user requests (briefing, receiving complaints, processing applications and proposals)
  • The support developer makes any urgent changes to the project to ensure streamlined fixing of critical issues, bypassing the project improvement backlog

Technical Support on 3 Levels 

At The APP Solutions, we have three different technical support levels that vary in respect of the project’s complexity, stakeholder’s needs, and the client’s business maturity: 

Level 1. Service desk

Under the service desk tier, The APP Solutions team ensures: 

  • Processing of incidents and requests 
  • Dealing with common, typical, and previously documented issues
  • Escalating issues
  • Collecting statistics

Level 2. Issues/problem management

The second level of technical support empowers developers with more responsibilities:

  • Resolving of non-standard issues 
  • Analyzing root causes 
  • Providing workarounds and quick fixes to minimize business interruptions
  • Resolving high severity and urgent incidents

Level 3. Product development

Under the third level of technical support, The APP Solutions provide a dedicated team that deals with

  • Developing permanent solutions to issues from rare curing
  • Releasing and deploying management to align system changes with changing business needs

Models of cooperation 

The model of cooperation determines the number of responsibilities a development team faces when building a project. There are three fundamental models of cooperation – Managed Services, the Dedicated team, and the Extended team. Let’s explain them one by one. 

project management for software development cooperation models at the app solutions

Managed Services is a cooperation model under which The APP Solutions team manages all product development processes while you get the freedom and time to develop your business. This engagement model works best to build complex products, such as web or mobile applications from scratch and provides technical support services. 

The composition of a team that works under this model may include application developers and quality assurance specialists and a product manager, UI/UX Designer, Business or System Analyst, and other team members depending on your project’s needs. 

The dedicated team model means the development team shares responsibilities with you. You can work under this model for outsourcing business functions such as development and quality assurance to empower your existing development team with our narrowed domain specialists. 

The team composition of the dedicated team model includes developers, quality assurance managers, and a dedicated Project Manager who is taking care of the Software Development Life Cycle (SDLC) Methodology and process. The Project Manager also facilitates the integration of the dedicated team with other teams on your side and third parties.

The extended team is a cooperation model under which you as a client manage all the project development processes. The extended team model is popular among businesses that want to extend existing software development teams with extra professionals while avoiding finding in-house candidates and hiring costs. 

To make the extended team model work, you need to have established project management processes. Our Extended Team will inherit your existing structure and report directly to you or your project manager.

Project Management for Software Development: The APP Solutions Tips

The APP Solutions team have six central values that differentiate us from other software development companies: 

Happiness as KPI. We focus on things that matter. We know how to take care of your business’s problems and turn them into solutions. 

Result-Oriented. We value your business the most, and we are willing to help you with directions that yield great value where time is everything and doubts are detrimental. 

Narrow Expertise. We understand the balance between the industry’s best practices and adjusting to opportunities when they come knocking on the door.

Verified Seniority. We manage the qualification of each team member, applying the Competence matrix, and create a Personal Development Plan to grow in-house professionals. 

Standardized Onboarding. We apply an Onboarding Plan to shorten the project onboarding process, so new team members are integrated into the project quickly and efficiently.

Project Health Check. We ensure that the project goes right by applying Project Health Check best practices to compare project characteristics and qualities with industry standards.

The APP Solutions team is here to help you develop your new project, improve your old system, augment your existing development team, and provide technical support. You can write down your request to the contact form to get in touch with the team.

Looking for a tech partner?

Drop us several lines

Inception Phase of Software Projects with The APP Solutions

The inception phase is a unified process that helps business owners validate their business idea, define risks, clarify the project’s requirements, and make the development process run smoothly.

This article will share The APP Solutions experience describing the inception phase of a software project, its main stages, deliverables, and explaining why it is crucial for a project’s success. 

What is the inception phase in agile?

The inception phase is a unified process of gathering objectives for the project and getting ready for the development phase. The inception phase brings the following benefits:  

Predicted results. We break down your project into smaller parts called use cases and user stories to clarify how one or other features should perform and then confirm the results with you

Flexible project scope. With the big picture of your project at hand, you can easily change the project’s MVP scope 

Reduce development costs. Agreed project specification, architecture, and tech solutions allow us to describe the project in more detail, prioritize tasks more effectively, and schedule the development phase in a better way

Do you need to hire us for an inception phase for your particular project? Let’s find out. 

What is inception in software engineering?

When you start a new mobile app project, there is tons of work to be done – selecting the best mobile app development team, shaping the business idea, clarifying requirements, creating technical documentation, and finding the most appropriate tech solutions.

 There are too many tasks for a non-tech person. To complete all of these tasks you can hire a development team to start the inception phase. 

The inception phase is a unified process of collecting and analyzing information about the project for: 

  • Creating a project knowledge base for accessible knowledge transferring to avoid unnecessary development alterations and ensure a quick onboarding time
  • Structuring a team of people with the required experience and expertise
  • Mitigating risks which occur during software development
  • Performing project monitoring and providing excellent customer service – constant business function assessment, clear separation of responsibilities, transparent decision making, and escalation path

The business analysis part of this phase helps to understand the end-users, their needs, and requirements. 

The technical aspect of the process leads to the system requirements specification that includes information necessary for development—for example, primary and additional features, measurable deliverables, and more.

At the end of the inception phase, you’ll have a well-rounded and in-depth understanding of the project goals, scope, and limitations.

What is the inception phase scope of work?

The scope of the unified process of the inception phase includes the following activities:

  • Elicitation of business goals, requirements, and other drivers that affect the implementation of a solution
  • Description of use cases of the solution
  • Generation and justification recommendations and decision options to implement the solution
  • Creation of prototypes of UI/UX design of the solution
  • Estimation of implementation scope and preparation of resource plan for the implementation phase

Inception phase deliverables

The App Solution team will prepare and deliver these deliverables to the client:

Technical documentation structure for the MVP phase

Documentation covering the MVP scope and including:

  • Elicited requirements and constraints
  • Defines solution use cases
  • Written solution architecture recommendations and decision options

Prototype of UI/UX

Our designer will create 3-4 screens of design proposals or assessment reports of existing designs. 

theappsolutions inception phase uiux prototype

[UI/UX design prototype, made by The APP Solutions. Try it on the link]

Resource plan for implementation 

Our team estimates the implementation of the project and plans the development resources for the next phase.

What factors are estimated in the inception phase?

Since the inception phase is a unified process that includes many tasks from different areas, we gather the following team members that have specialized expertise in a particular sphere:

Business Analyst for:

  • Driving requirement sessions
  • Performing requirement analysis and prioritization
  • Collecting and writing use cases 
  • Writing documentation

Solutions Architect for:

  • Initiating architectural sessions
  • Performing architectural analysis
  • Writing architecture vision or assessment report
  • Composing and estimating the implementation road map
the example of the project architecture the app solutions inception phase

[Example of project system architecture made by The APP Solutions Solution Architect]

UI/UX designer for: 

  • Running UI/UX sessions
  • Performing UX analysis
  • Creating and preparing UI/UX design of the solution

Technology Experts for: 

  • Contributing to the architecture analysis within their area of technological competence
  • Participating in the architectural sessions 
  • Contributing to the assessment report, estimates, and presentation
inception phase environment vision

[Environment vision example made at The APP Solutions]

Client’s Obligations

The client acknowledges that the completion of the Deliverables under this proposal depends on and requires the client’s commitment to provide all information needed to complete deliverables, give access to the necessary product owners and technical participants, and provide access to assets required by this phase. 

You, as a client, agree to timely provide the mentioned above resources for The App Solutions to fully comply with its obligations under this proposal.

What are the inception phase stages?

The inception phase kicks off after you’ve signed an NDA, given us the project vision, and approved a rough project estimation. The inception phase includes the following software project planning activities:

Step 1. Initiation

During this planning phase of the software development life cycle, our business analyst schedules a call with you to clarify your project objectives and strategy, including target users, monetization models, an estimated number of users, and project scaling perspectives.

The main activities during the unified process of the inception phase are: 

  • Introduce the team to stakeholders 
  • Review your business case and project goals 
  • Define the current state of the project 

Step 2. Research 

Next, the Business Analyst (BA) conducts market and competitor research to find out whether there is a place for such a business case in the market and to show how many similar projects already exist.

Main activities include: 

  • Define business goals and needs
  • Demo of an existing product 
  • Requirements elicitation session 
  • Identify stakeholders’ concerns, risks, and issues

Step 3. Gathering requirements 

We write down technical requirements for your project’s business case and start creating project technical documentation with use cases, user stories, suitable technologies, and third-party integrations. 

Main activities are: 

  • Technical assessment session
  • Requirements elicitation session
  • Collect functional and non-functional requirements
  • UI/UX review session
  • Identify and verify solution use cases

Step 4. Prototyping 

Using the use cases of your project, our designer starts making layouts, wireframes, and prototypes while consulting with you on each result.

Our team is busy with the following actions:

  • Define scope boundaries
  • Prioritize the scope
  • Define MVP scope
  • Prepare outcome documentation 
  • Validate outcomes with stakeholders

Step 5. Preparation for the development stage 

Now, using a technical project specification, we prioritize features to identify the MVP’s scope, i.e., the list of functions sufficient to verify your business model and estimate the time and money required to implement one or other features. 

Main activities are: 

  • Finalizing outcome documents
  • Sending outcomes to the client
  • Final meeting to present deliverables to all client stakeholders

What happens after the Inception phase? 

When the inception phase is over, you have several options: 

  • You can use the technical documentation to launch the development stage with our team 
  • Compare our technical specification with specifications provided by other developers and select the best one
  • Extend your existing development team with our specialists to build your project using our technical documentation

The inception phase adjusted to your needs

There are three main scenarios in which we provide clients with the inception phase:

Project lifecycle objectives from scratch 

In this case, the main inception phase objective is to disprove or confirm your business idea. To achieve this, we create technical documentation so that you can build the project’s MVP. 

The main deliverables are user stories, use cases, mockups, diagrams with system architecture recommendations, a list with technologies, third-party integrations, and precise estimation of project cost and length.

Project prototype without tech specification

If you have a ready-made project design and prototype, you can hire us to shape the technical side of your project, such as system architecture, user stories, and feature lists. 

In this case, you will receive technical documentation that will include high-level requirements, use cases, user stories with general user flow, project system architecture diagrams, detailed project cost estimation, and project timeframes. 

Improvement of a ready-made project 

Such clients have ready-made projects, but they do not meet their business goals or work improperly. For such clients, we conduct a code review and show you how we can improve the project. 

We provide a list of system errors and gaps, as well as recommendations on how to fix your project. 

The unified process of the inception phase for clear objectives for the project

In a nutshell, the inception phase of software development allows us to achieve predictable results in business and technological solutions, reduce risks, decrease project costs, and receive a bigger picture of your project.

If you are ready to launch an inception phase for your project with us, drop us a few lines and our sales manager will schedule a call with you. 

Handling Deadlines in Software Development: Most Effective Tips

Why Software Development Deadlines are Important

In recent years, the word “deadline” has become a synonym for “trouble” or even “catastrophe.” Yet, deadlines are both essential and useful. They help to coordinate the actions of multiple people within a complex project that requires different processes to happen simultaneously. This description reminds us of software development. Let’s see what is so special about software project deadlines.

First of all, time is money. The process of software development is rather costly, and you need to stick to the plan. Furthermore, the sooner you launch the product, the faster you start getting profit. Secondly, the release of the product might be bound to a specific date, for instance, the time of committee review or marketing activities. Last but not least, software companies are usually interested in keeping their customers content and loyal, which involves timely project completion. That is why it is significant for The APP Solutions to explain the purpose and benefits of meeting deadlines to our team members and clients.

Risks of Timely Development

Usually, people do not manage to complete projects within time frames and not for want of trying. There are various factors, and the more complex the project is, the more factors need to be taken into account. Here are some of them:

  • An inaccurate estimation might happen due to different factors. Mostly, a brand new product involves fewer risks than the refinement or completion of an existing one. Improvement and completion are more complicated than creating from scratch for developers. It is hard to say how much time it takes before you see the quality of the code. Also, developers need extra time to look into an existing solution.
  • Third-party services. However, even the development of a new product can bring surprises. For example, if there are third-party services involved, they can change their configuration or API at any time during your project. Consequently, the developers would need to change the code according to those changes, and this can take additional time.
  • Human element. We also should not forget about the human factor: illnesses, lack of expertise, residence change, and many others. This takes us to the next possibility;
  • Long on-boarding for newcomers to an on-going project. If a new person joins the team during an ongoing project, they will probably need some time for onboarding, depending on the project’s complexity, 
  • Requirements changes. Some difficulties that affect deadlines might also occur from the customer’s side. If you increase the scope of work by changing the requirements, the development team will need more time. If a person fails to provide feedback or answer questions on time, it will probably blow the deadline as well.

Our Models of Cooperation by Risk of Deadline Breach 

  • Dedicated Team

This is the safest work mode that we can offer in terms of timely completion. It means that we provide a client with a full-cycle development team. Together with the customer, we decide on the work scope, project requirements, and deadlines. If something goes off the rails, we rearrange the scope of work by prioritizing requirements.

  • Time and Material

This model of cooperation tends to meet deadlines as well. Its other name is “Pay As You Go” because a customer pays according to how much actual time the team spends on the project. This model is flexible, and it allows us to rearrange the scope of work if needed.

  • Fixed Price

This model is suitable only for little projects with a clear understanding of the workload. Yet, if anything changes during an ongoing project, a customer would need to pay extra. “Fixed Price” model involves many factors, including the possibility of blowing the deadline.

If you want to learn more about our models of cooperation, see this article.

How to Meet a Deadline

So, we agree that meeting deadlines is a crucial part of software development, and multiple issues may threaten the timely completion of a project. Here are several tips on how to not miss deadlines:

  • Estimate Risks Realistically

Project managers are always involved in risk management. They need to identify and classify risks before project implementation, as well as create a plan for each risk mitigation. For this purpose, they can use a risk matrix that helps to detect both the probability and consequence severity of possible events. In this way, when an incident happens, there is no panic, since it was predicted, and a PM already knows what to do.

Risk assessment in software development


  • Trust Your Team and Double-Check Your Estimates

Before starting to work on a project, developers break up large tasks into smaller ones. Then, they evaluate the probable time they will spend to deliver them. After this, CTO or a team leader checks the estimates to avoid the risk of incorrect expectations. This allows decreasing the probability of unrealistic deadlines that may be harmful to project completion.

  • Be Flexible

Sticking to the plan is excellent, but sometimes you need to take action. In the case of an unpredicted event, you might need to change something, for example, involve more developers or change the scope of work. The key to time and risk management is the readiness to make a decision or implement a plan B.

  • Use a Task-Management System

task management system


When managing software development you need to have a place to store and track all the tasks and deadlines. No matter if you use Agile, SCRUM, or Kanban; JIRA, Asana, or Trello, it must be a software tool. One of the crucial elements of project management is backlog grooming. This process usually involves both a product owner and the team checking the backlog tasks. They ensure that all the necessary tasks are in the backlog, they are prioritized, and tasks at the top are ready to be delivered. Backlog grooming is always an ongoing process that helps to avoid unnecessary tasks and meet deadlines.

  • Communicate

Regardless of all the technical progress, we still cannot read minds, so everyone needs to talk to each other. The product owner, project manager, and all team members perform their best if they have all the necessary information and receive updates on time. This helps all project members work promptly and avoid useless effort. Even if all the previous methods have not worked, and it seems that the team will not meet the deadline, timely and transparent communication can regulate the difficulties.


You need to track different factors to have things done in a timely manner, especially if you are dealing with a deadline in software development. Not sure you can handle software deadlines? Hire us, and we will provide you with the best project-managers. 

Want to receive reading suggestions once a month?

Subscribe to our newsletters

What is a Business Analyst’s Role in Project Development?

Imagine you have a fascinating business idea. In developing an IT product,  an idea is not enough. You will need a specialist, who will define high-level business goals and outline initial requirements for the project’s implementation. 

Does this sound too difficult? Keep calm. That is a job for a business analyst, an integral member of any IT team. 

From this article, you will learn what, in IT, a business analyst is, how they are involved in the development process, and what tools they use.

Read on.

Why is a business analyst essential for IT efficiency?

Business analysts, or BAs, work closely with stakeholders and the development team, turning business ideas into IT solutions. But what does a business analyst do in IT development? 

Let’s check. 

Without BAs, the development team would spend more time and effort to understand client requirements. Such challenging communication often results in wasted energy and failed projects. 

Moreover, the development team does not have the necessary skills to transform a business idea into high-end solutions that meet customer expectations and business needs. 

Thus, every development team needs business analysts to define the stakeholders’ needs and help to deliver an accurate, logical, and practical product, without missing deadlines.

But how do business analysts do it? You will find the answer in the next paragraph.

Who is a business analyst?

The main goal of business analysts is to effectively communicate the clients’ requirements to the development team and ensure that the project meets the business’ goals.

For a business analyst position, the following skills are essential:

Technical knowledge. Technical expertise is essential to understand the project’s technical specifics and limitations and to communicate with developers and QA engineers effectively.

Problem-solving and analytical skills. Extensive analytical skills are essential to interpret customer business needs into functional specifications. The BA role and responsibilities require problem-solving and decision-making skills to any issue that arises between customers and developers.

Communication skills. A business analyst should know how to gather information from a person and communicate it to another in an understandable manner. Being engaged in communication with people from different organizations, business analysts should interact with them effectively and make sure that their concerns reach each other. 

Now that you know business analyst definition and skills, let us move further and find out how business analysts participate in the development process.

Business analyst role in an IT project

During the software development process, business analysts take part in the following phases:

Requirements Gathering

During this initial stage of every development process, a business analyst gathers Functional Requirements (FRs) and Non-functional Requirements (NFRs) for a project. 

Functional Requirements include functions or features of the future project. 

Non-functional Requirements specify criteria that can be used to judge a system operation. Such requirements are contrasted with functional requirements that define specific behavior or functions.

To gather requirements, our business analysts use the following techniques:  

1) Interviews. The business analyst asks clients specific questions to identify their requirements for the project. Such an interview is aimed at identifying the main business issues to be solved. 

2) Questionnaires. The business analysts provide stakeholders with electronic or paper-based surveys to define the project requirements. This technique works great when a business analyst needs to gather requirements from many people, located remotely.  

3) Prototyping. We use this approach to visualize the requirements for the project. With product prototypes, it is more convenient to discuss all the necessary features with the client. 

4) Document Analysis. Using this technique, the business analyst gathers the documentation to define the project requirements. They analyze internal client documentation, concerning business restrictions or the documentation of existing products, with similar business objectives. 

5) Brainstorming. We apply this technique to gather ideas on the product functionality from both stakeholders and our development team.  

Now, let us move to the next phase.

Preparing the Project Specification Documents

In this stage, the business analyst analyzes, reviews, and refines project requirements to form the project technical specification that should include: 

A summary statement. This section consists of the outline of the project requirements. 

Project objectives. The business analyst should perform the project objectives in a SMART format, which means that the project goals must be specific, measurable, attainable, realistic, and time-bound.

Needs statement. In this section, the business analyst outlines why a business needs this project and how the project solves business issues.

Project scope. This document includes all the information about the project scope, outlining product functionality.  

Functional requirements. In this section, the business analyst outlines all the technical requirements toward the project using diagrams, charts, and timelines.

Assumptions. Here, the BA outlines anticipated events that might occur during the project development stage.

Cost. In this section, the business analyst gives a detailed list of all the costs involved in the project development.

Based on project specifications, the team identifies the project’s scope and builds its roadmap.

Explaining Requirements to Developers

When stakeholders approve the project specification, the team divide the project into smaller tasks and assign these to the development team. 

During the development stage, developers might need to specify some information concerning product functionality, architecture, and inner logic with stakeholders.

The business analyst gathers all questions from developers and communicates with the stakeholders. Then, the business analyst may add new project requirements to the specification. 

The business analyst communicates with both the developers and stakeholders in such a manner until the project ends.

Conducting User Acceptance Tests

In some cases, business analysts participate in user acceptance testing, which is the last phase of software development. During this stage, actual software users test the software to ensure that the product can handle tasks in real-world scenarios.

After this phase, the business analyst determines whether the product is ready for the launch, or if it requires additional maintenance.

Now, let’s move further and find out what tools business analysts use.

Business analysts’ toolset

The business analyst needs an advanced toolset to visualize complex customer requirements, add diagrams to specification documents, and check the progress of the development team. 

 The App Solutions business analysts use the following toolkit:

Prototyping tools

Such tools are handy to create the project design and layout prototypes.

  • Marvel. This browser-based tool simplifies the prototyping process. Marvel supports JPG, GIF, and PSD image uploading. Besides, this tool has direct ingratiation with Dropbox, Sketch, Google drive, etc.
Marvel supports JPG, GIF, and PSD image uploading

Image source: Marvelapp

  • Proto.io. We use this to create mobile applications or websites prototypes of in the browser. Proto.io supports manual drag-and-drop file uploading as well as direct upload from Dropbox.
Proto.io supports manual drag-and-drop file uploading as well as direct upload from Dropbox.

Image source: Proto.io

  • Invision. We find InVision convenient since users can leave feedback directly on the prototype.
We find InVision convenient since users can leave feedback directly on the prototype.

Image source: Invisionapp

Task managers

To manage the tasks effectively, our team uses the following tools:

  • Jira. Our business analysts team uses Jira if they need to coordinate between complex projects and customize the project workflow.
Our business analysts team use Jira

Image source: Atlassian

  • Trello. If the team deals with simple projects, they use Trello. It is also a great choice when a project manager or business analyst needs a simple structure to keep the project organized.  
If the team deal with simple projects, they use Trello

Image source: Trello

  • Hygger is an up-and-coming project management tool, which blends features of Jira and Trello into the leaner and more streamlined tool. With less baggage to handle, Hygger provides straight-to-the-point task management tools to keep everyone on the same page and achieve goals without breaking a sweat.
  • Asana. This tool, for small teams, allows business analysts to see how their tasks impart overall business goals.
Asana. This tool, for small teams,

Image source: Asana

Business analyst tools for diagrams

To add diagrams to the project specifications, we use:

  • Draw.io. Using this tool, we create a flow chart or diagram to visualize the project infrastructure clearly.
Draw.io. Using this tool, we create a flow chart or diagram

Image source:Draw.io

Business analysis outsourcing

Being engaged in every stage of the development process, business analysts are an essential part of the development team. While some companies work only with existing in-house specialists, BA outsourcing might bring advantages to companies of any size. Let’s check. 

  • Small and medium companies. In most cases, small companies do not have enough budget to hire in-house business analytic. By outsourcing the business analysis services, the company receives an experienced professional, while saving money.  
  • Large companies. If a new client comes to a big IT company, all in-house business analysts might be too busy with their projects. In this case, outsourcing a business analyst solves this issue. So there is no need to waste time on hiring a new in-house specialist.  

In this way, both small and big companies receive the benefits of business analyst outsourcing. 

We also have an article about Business Intelligence Analyst. Find out the difference between BA and BI.

Download Free E-book with DevOps Checklist

Download Now


Business analysts are an essential part of any development team. 

Still, it is crucial to understand when you are ready to hire a business analyst. 

We recommend testing business ideas in practice before investing in project development. Check potential competitors, conduct an interview with end-users, make a prototype, or even promote the to-be-developed product and receive feedback from potential customers. And when you receive the result, contact the developers. 

Conducting such tests is a more budget-saving option than hiring a BA and investing in a product nobody wants to use.

AppDepot: Interactive App Discovery Platform

Project Description 

AppDepot is a video interactive platform for apps and related tech discovery, that helps apps and related tech gain visibility, increase discoverability, and organically generate traction while engaging your consumers. 

We offer the fastest and easiest means to highlight the value; showcase the key functionalities; and render a great first impression of your app.

We have developed a highly effective and competitive application that will be able to pleasantly surprise users:

  • unlimited possibilities in creating a video using features such as: screen recording, embedding from YouTube, uploading from gallery, using device camera, with built-in video trimming features.

  • If the user has already created a YouTube video for their app, they can simply embed it in AppDepot via a link

  • AppDepot’s analytics will allow you to solicit feedback of your potential users while your app is still in development.

  • As soon as your application becomes available in the App Store or even during development, you can utilize AppDepot’s push notifications to notify your followers about important launch milestones.

  • AppDepot allows you, as the app owner, to manage the visibility of your content to other users (by utilizing the private mode option)

What Solution can We Offer

Find Out More

Main challenges:

The app’s initial code was based on the serverless solution and our developers needed to implement new features that required full-fledged back-end development. After implementing various combinations of AWS services, we were able to successfully implement the following functionalities: sending push notifications, logic of payment and reward systems, as well as the option to embed from YouTube, etc.

Core app functionality in the initial code was created on legacy frameworks that complicated the work, so we have optimized the UI of the application using more modern and adaptive solutions.

Because of the presence of strong binding between the backend elements of the application a single change in one element caused undesired changes in several other elements. As a result, the scope of work increased.

Large amount of the initial code lacked explanatory comments.

Key Solutions 

  1. One of the unique features of the application is that its work is based on tight integration with AWS services (DynamoDB, S3, Lambda functions, Pinpoint). The application was developed only by iOS specialists, backend logic was implemented using specified services. We were able to access AWS powerful infrastructure using capabilities provided by Amplify.
  2. We have created our own library that allows users to publish YouTube videos on our Feed page. The mechanism developed by our specialists allows the app to receive a direct link to a specific video from YouTube and display it in the application. At the same time, we save space on customer’s Amazon S3, because we use direct links to videos stored in Google infrastructure.
  3. In addition, we utilized capabilities provided by iOS (In-App Purchases, Subscriptions, Sign In with Apple, Push Notifications).
  4. Using the UI layout framework “Texture”, we have achieved asynchronous UI rendering, which made exploring of videos fast and enjoyable for our users, at the same time optimizing the usage of Internet connection.
  5. We have developed a highly efficient mechanism of caching videos. It takes care of free space on our users’ phones. We clean app cache regularly.
  6. Our users don’t have to worry about data security. All data is stored on Amazon services (DynamoDB), and content is secured in S3 cloud storage, which is accessible only via protected links.

Tech Stack

  • App language:
  • Architecture:
    MVC & MVVM
  • UI:
    UIKit (SnapKit) & SwiftUI & Texture (AsyncDisplayKit)
  • Lambda functions:
    Ruby & Swift
  • Backend:
    AWS Amplify
    API generated by Amazon using GraphQL language

Team composition

  • PM
  • UI/UX Designer
  • 2 iOS developers
  • QA


    On the AppDepot platform users interact, build trust, and share their experiences or views about different apps featured on the platform, while enjoying personalized user and rich interactive experience.

    Did you come up with something?

    Calculate The Cost

    By downloading our application you get:

    •  The opportunity to always be aware of new products and trends on the digital market.
    • Even if you are not tech-savvy you can still have a fun learning experience with AppDepot: just watch short videos and discover new things in the App world
    • Fun environment for personal/career development
    • Join AppDepot’s community. One idea breeds another, so AppDepot will help you spread your ideas and effortlessly find like-minded people.
    • AppDepot provides the possibility to learn about upcoming apps prior to their launch in the AppStore.

    Scan now to get started