Running your own business is hard. You have to handle marketing, sales, budgeting, paperwork, and much more. But what if you need a technical solution for any of these business processes? How can you find a software development vendor that will fully satisfy your business needs, carefully plan your project, and properly organize and manage a development team? The answer is by collaborating with a vendor that provides project management services.
In this post, we discuss in detail why a project manager is vital for the software development process. We also define the role of a project manager at every stage of development.
In a nutshell, a project manager makes sure your team executes your project according to the set schedule, stays within your budget, and sticks to the planned scope of work.
Plus, a project manager constantly keeps you in the loop on the project’s progress in the form of reports and meetings.
First, let’s have a look at the stages of the software development process at Yalantis.
What are the app development stages at Yalantis?
We’ve been in the app development game since 2008, so we’ve had time to work out our method of managing app development. We’ve combined our own experience with the most effective methodologies to create our software development lifecycle (SDLC) – a framework for defining and distributing app development tasks. These are the stages of our SDLC:
Negotiation. This is the starting point for our collaboration. At this stage, we:
- Determine your most critical business goals
- Elicit your requirements and constraints (and tailor our SDLC accordingly)
- Learn about your development team (if you have one)
- Provide you with a rough estimate for your project
- Define the project scope
You can learn how to write a winning proposal and explain your needs to the development partner in our article on writing a request for proposal (RFP).
Discovery. At this stage, we:
- Conduct business analysis
- Prepare project documentation
- Develop a project architecture to identify the most appropriate technical solution
- Do UI/UX research to define the best look and feel for your software
- Build a product roadmap
- Form the product development backlog
- Perform initial setup of the communication and development processes
- Provide you with a detailed estimate for complete software development
Development. This is when we implement the architecture and design plans we prepared, properly testing every piece of code. During this stage, we deliver software iteratively, sticking to the plan and giving regular feedback on how development is going. However, if during this stage you require any changes, we’ll adjust our plan accordingly.
Release. This is the actual process of deploying your software. During the release stage, we make backups of the stable version of the product and check that all servers are working correctly.
Post-release support. If needed, we can help you improve or stabilize your app after it goes live.
What is the value of a project manager at every stage of app development?
Now that you understand how app development goes at Yalantis, we’ll talk about the project management workflow at each stage.
At this initial stage, we assign a project manager to your project. Along with a delivery manager, the project manager gathers important data for the next stages. Specifically, the project manager:
- Learns about your project’s goals, expectations, and objectives. For example, if you have a marketing campaign scheduled to promote your new app in three months, the project manager will consider this time limitation when estimating the time required for development.
- Chooses the SDLC model to develop a technical solution for your business. Need a fixed budget? Your project manager will select an appropriate SDLC to give your project predictability and visibility. Want to add top-notch functionality to your existing software? Your project manager will suggest possible ideas along with the budget and timeline required for development.
- Forms a team specifically for your project. For example, if you have a limited budget, the project manager will suggest only a basic team of developers. Pressed for time? The project manager can compose an extended team to do the work twice as fast. Plus, a project manager defines the type of team that’s most suitable for your project, choosing between dedicated, part-time, and distributed teams.
- Identifies key project constraints regarding the schedule, budget, and scope. With this information in mind, a project manager can compose a feasible project plan and accurately manage deviations from it during development.
During negotiations, we help you come up with the best working approach to develop your project and make fundamental decisions on its scope.
Once we shake hands and initiate the app development process at Yalantis, your project manager gets down to planning, decomposing tasks, and splitting the development process into iterations (sprints). All of these steps help a project manager create a project plan, which is an integrated document that gives a clear vision to the team and project stakeholders of how to see a project through in the best way. An elaborated project plan includes various documents:
A project charter contains essential information about the project including a description of the project, the characteristics of the product to be developed, all stakeholders involved, and budget and schedule constraints. This is the only document that remains rigid throughout the project and is shared among all team members and stakeholders.
A RACI matrix shows the level of participation of different team members in certain tasks. In this matrix are:
- People responsible (R) for completing tasks
- An accountable person (A) (one per task) who approves the completed task
- Consultants (C) who offer on-demand consultations on a task’s specifics
- Informees (I) who are simply kept informed of a task’s progress
A requirements management plan provides an outline of all project requirements and how they’ll be managed, collected, and documented during the project lifecycle. In this document, requirements are prioritized, and at the development stage, the project manager has to monitor that the team adheres to those priorities.
A project WBS (work breakdown structure) is a detailed document that splits the whole project into small and clear scopes of work. It shows who is responsible for each scope of work and during which sprint it needs to be finished.
A schedule shows:
- Project milestones (important events for the project) like dates of releases and stakeholder approvals
- The estimated time each team needs to complete each task
- The current status of each task (pending, in progress, done)
- The start and end dates for each task
A budget and milestone list (budget baseline) shows:
- The hourly rates of each project team (iOS, Android, design, backend, QA)
- The number of hours each team works during one iteration (sprint)
- The budget allocated to each team for performing their work on the project for a certain period of time
A project performance chart quantifies the current project progress, indicating whether we’re fitting into the planned budget, scope, and schedule.
An earned value management document provides the current schedule, scope, and cost measures to predict the final project cost. If this number exceeds our constraints (in terms of schedule, cost, and scope), we take immediate action to prevent this deviation and return to the established baselines.
A quality management plan contains all information about the quality management process, including:
- Quality standards used on the project, such as ISO standards
- A list of project deliverables that require a quality review
- Quality management tools like root cause analysis, fishbone diagrams, and affinity diagrams
- Quality assurance activities like process checklists and project audits
- Quality control activities like inspections, deliverable peer reviews, and the testing process
A risk log includes all identified risks that may occur on the project along with their probabilities of occurrence and impact metrics. It also includes necessary action strategies to deal with risks if they occur.
A communication management plan registers all meetings that take place during the project, including:
- Daily meetings involving the whole team. They help to estimate the project’s progress and status, define blockers, and find ways to deal with these blockers.
- Sprint planning meetings that occur on the first day of the sprint with the whole team. These meetings help the team to plan the upcoming sprint, set priorities, and make sure everyone knows their responsibilities.
- Demo presentations that occur one day after the sprint is over and involve you and your team. They’re necessary so your team can report to you on sprint outcomes in the form of a video presentation or a discussion.
The communication plan also shows participants, schedules, and communication tools that are convenient for all stakeholders, such as Zoom, Slack, Google Meet, and Skype.
A change log registers any changes that happen to the project’s scope, schedule, or cost. For example, if you or your team requests to add a new feature to the app, this will result in a scope change. In turn, the scope change will require extra time and money for development, leading to changes in the planned schedule and budget. A project manager has to discuss and approve all changes with you before implementing them.
A resource calendar lists all team members on the project, along with their work hours, sick leaves, and vacations. Plus, this document shows days off in Ukraine and on your side.
A team charter includes general information about the team, including ground rules for communication, team meeting rules, responsibilities, and decision-making strategies.
The above list can be prolonged, as more documents can be added depending on the SDLC model. During the project execution stage, a project manager is constantly updating all of these documents (except for the project chart).
A project manager doesn’t always compose all these documents on their own. Some are completed together with the team, such as the project WBS and schedule, as each team member has to estimate the amount of time they need to complete certain tasks and constantly update the project manager on task statuses.
In short, during this stage, a project manager:
- Develops a detailed project plan
- Explains why each document is important for you and for the team
- Approves the project plan with you
At this stage, a project manager needs to:
- Monitor and control all processes described in the project management plan, such as meeting project deliverables and doing timely quality tests
- Watch out for scope creep (too many uncontrolled deviations to the scope) and prevent it in advance
- Address any changes and challenges on time
- Mitigate risks that occur through negotiation with you and implementation of action plans
- Coach the team and be fully involved in guiding them
- Provide you with team evaluation reports, defect reports, and project status reports both on demand and at regular intervals
- Update the backlog and inform the team about change requests and testing results
- Smooth out cultural barriers between you and your team, making sure everyone is on the same page
- Foster positive relationships and an atmosphere of trust by initiating team and client meetings and team building activities and by paying attention to the needs of everyone on the project
During the development stage, our project managers do their best to help clients understand how certain changes or issues can influence the project’s scope and budget. If there are issues related to technology or investors’ demands, your project manager will inform you if the project still fits within your time and budget constraints.
As you can see, throughout the development stage, project managers help the team resolve issues and develop the product with minimum risks and maximum quality.
The project manager carefully monitors each deployment stage to make sure the product works consistently. When working with a Yalantis project manager, you can be sure you’ll get stable product backups, a final project report, environment specifications, and a list of implemented features. Additionally, a project manager will prepare a set of recommendations for app support and ideas for improving the app in future versions.
Once the product has been released successfully and on time, the development team – under the project manager’s command – ensures the software functions correctly. In addition, if a client comes to us with a ready software solution, a project manager can initiate a technical audit and perform software and industry analysis to suggest improvements. What’s more, a project manager can introduce different growth hacking techniques to boost the client’s business performance.
At the post-release stage, a project manager becomes more of a business partner, controlling support operations and ensuring that your software is stable and successful.
A project manager is a vital gear in the complex app development machine: take them away, and you’ll have to spend weeks putting the mechanism together again. If you need a project manager for your software development projects or would like to learn more about how to manage software development, we’d be happy to help!