When thinking about the app development process most people picture designers and developers tapping away at their computers, writing complicated code and creating beautiful layouts. While this is a somewhat accurate depiction of the process, there is one crucial role missing from the picture - the project manager.
Project managers are the unsung heroes of the app development process. These are the individuals who dedicate their days to planning, organizing, and directing the completion of your app, all the while ensuring that the project is delivered on time, on budget, and within scope.
At Yeti, we know the value of a great project manager, and over the past decade we’ve worked hard to develop a project management toolkit that keeps projects of all kinds on the road to success. Below you’ll find a few of the project management tools and strategies that we use to develop strategic goals, keep our clients and teams in alignment, scope our projects and so much more. If you’d like to take a deeper dive into all of our PM processes and tools, make sure to check out our 100% free App Design & Development Masterclass.
Agile is a method of project management that utilizes an iterative and incremental approach to software development. It places its emphasis on rapidly delivering functional components of a product in two week cycles called sprints.
In Agile, work goals and deliverables are defined by the team before the start of a sprint (a two week period during which a set amount of work is completed). At the end of each of these sprints a tested working component of the product is delivered to the client. Once approved by the client, a new sprint begins with a new deliverable. This continues until the product is complete.
As a project develops, members of the development team request and collect reviews, suggestions, and feedback on the latest iteration and how the next iteration can build upon it. This helps create a system that provides constant and timely feedback - ensuring that the client is satisfied and on board at every turn.
As mentioned above, sprints are at the very heart of Agile - but the Agile sprint process consists of a few additional steps and meetings.
1. The Sprint Planning Meeting
During these meetings, the team looks at the project backlog (a list of all the things that need to be done within the project), identifies which features should be worked on and, if necessary, splits those features into multiple, smaller tasks for completion.
2. The Sprint Kickoff meeting:
This meeting should occur just after the sprint planning meeting and include key individuals and the client/stakeholder. The goal of this meeting is to communicate your plan for the coming sprint to the client and to answer any questions they may have.
3. The Sprint!
At this point your team is ready to work on completing each item in the sprint backlog. For an item to be complete, it must be coded, tested and documented.
4. Daily Scrum:
This is a 15 minute long internal meeting focused on creating a plan for the next 24 hours. During this meeting each team member should answer the following questions:
5. The Sprint Wrap Up:
At the end of every sprint you should hold a Sprint Wrap Up meeting that includes the entire team and clients/stakeholders.
During this meeting the work that has been completed during the sprint is presented, followed by client/stakeholder feedback. Changes to the product backlog, in relation to the feedback received, should be discussed at this time.
The above meetings are the bread and butter of an Agile sprint - but there are additional meetings you’ll want to hold on a regular basis, such as stakeholder check-ins, vision alignment retrospectives and more, which you can learn about in detail in our 100% free App Design & Development Masterclass.
Ensuring that your project is on track for success is one of the key responsibilities of any project manager. While this may seem like a simple enough task, it actually requires a deep understanding of the many varying and often complex components required to achieve each of your project objectives.
To get clear on exactly what needs to be achieved and the work that needs to be done to successfully deliver your project, you’ll need to spend some time scoping your project.
Scoping is a software development process that consists of determining and documenting your project’s goals, deliverables, tasks, budgets, and deadlines. Accurately scoping your project is important because it will:
In order to keep your team on track, it’s important that you provide them with a guide to all facets of the project's scope- including tasks to be completed and the resources needed to achieve those tasks. This can be done in a project scope statement that will serve as a definitive guideline for making project-related decisions. This document should include:
Step 1: Information Gathering
You’ll want to begin by gathering all of the project documentation you’ve created up to this point - this might include a vision brief, user journey map, project roadmap, and more.
From these documents you’ll want to compile all of the requirements you have for the project - for example, will the app be mobile or web-based - or both? What features will the app include? What types of technologies will the app need to integrate with? Try to be as specific and accurate as possible - the more detailed your requirements, the more accurate your scope will be.
Step 2: Outline the Big Pieces of the Project
Once you have a list of wants and needs it’s time to create an extensive outline of all of the project's larger components. As an example, if you’re building a mobile app, you’d create a high-level list of all the elements that need to be built including the app’s backend, designs, integrations etc.
Step 3: Break It Down Into Small Tasks
Next, you’ll take each of the large pieces of work that you defined in the previous step and break them down into smaller tasks, called user stories. Each of these user stories should be small enough that they will take no more than a couple of days to complete. In this example, we’ve broken down “Authentication” - a large piece of work - into the following small, single tasks
Step 4: Estimate With Points
As you can see in the example above, each task has been assigned “points”. These points correspond to the complexity of the task, or how difficult it will be to complete the task.
To estimate the amount of time it will take to complete your project you’ll want to create a spreadsheet that contains all of the tasks you’ll need to complete in order to finish the project, with corresponding points for each task. You can then use the total amount of points to calculate how many weeks it will take to complete your project.
Step 5: Ask Clarifying Questions
Once you’ve completed the spreadsheet detailed in the previous step, it’s time to go back and share it with everyone involved in the project. At this time you can clear up any questions or concerns you have, ask for clarity on tasks that you may not have been able to break down completely.
Step 6: Revise and Get a Second Opinion
Based on the information you gathered in Step 5, you’ll now create a revised version of your budget and the scope of tasks that you created. Make sure to have at least one person take a look at this revision and provide their input to help ensure that it’s as accurate as possible.
Step 7: Identify Your Riskiest Assumptions
Once you’ve revised your scope you’ll want to go through and identify your riskiest assumptions. As an example, imagine that the app you’re building requires a third party integration of some sort - but unfortunately, you haven’t been able to get documentation that details how that integration will work. In this instance it will be difficult for you to accurately estimate the complexity of the task at hand, and this should be noted.
When your project has tasks where you’ve made risky assumptions, it’s always a good idea to have your design and development team tackle those tasks first, in order to clear up any ambiguities in the project's scope. This will allow you to get any misaligned expectations out of the way at the beginning of the project.
Step 8: Add Buffer - Things Will Go Wrong
No matter how diligent you are about detailing and pointing your tasks, things will always go wrong causing some tasks to take far longer than you had anticipated. For this reason you should always add buffer, or extra time, to your estimates. Make sure you are deliberate and transparent about the areas to which you are adding buffer
Step 9: De-prioritize Scope if Needed
Sometimes you might run up against constraints that you have no control over - the client might have a deadline that is earlier than you’ve estimated - or perhaps they don’t have the budget for everything that you’ve scoped in the project. In these cases you’ll need to go through your scope and prioritize exactly what needs to be (or can be) completed given these constraints, and de-prioritize those tasks that aren’t crucial to this phase of the project.
Project management is a crucial role in the app development process, and covers a broad range of responsibilities - the information covered in this article is only the tip of the PM iceberg. If you’d like to take a deeper dive into Sprint planning, scoping and much more, make sure to check out our 100% free App Design & Development masterclass. In the Project management module alone we take a deep dive into
We hope you’ve found this article to be helpful, and that you’ll love the Yeti App Design & Development Masterclass. Welcome to the Adventure of Inventing!
For many in the typical office setting, the pandemic has forever changed the way people work. While it's certainly been an adjustment period, and there are pros and cons to any new situation, there are huge opportunities for professional service firms in the current workforce landscape.
In an article on Innovation Enterprise, we discuss how Applied Agile can help product development, yes, but also other problems across the company.
Everybody says they're agile, and a handful of companies even go through the motions; they might even have a scrum master on their team; but what does it all mean in reality? And how can you actually start seeing value from it?