Good estimates are extremely important to us at Grio. The process of estimating the time and resources required to complete a project helps us understand a client’s needs, forces us to think through all of the dependencies and tasks, and reveals opportunities to better align our technologies and methods with the client’s interests. More importantly, good estimates build trust — our clients deserve to know exactly what they’re committing to when they hire us for a project, and as we go through the steps of creating an estimate, we’re demonstrating our ability to ask insightful questions and come up with a clear project plan.
In this blog post, I’ll talk a bit about our approach to creating good estimates for our clients, including the steps we take and the common pitfalls we’ve learned to look out for.
Best practices for creating good project estimates
There are two main principles that we follow when creating estimates at Grio:
- Keep the scope small. It’s much easier to come up with a precise, accurate estimate for a smaller project, especially when we’re working with a new client. Even if we’re approached about a larger scope of work, we’ll often start out with an estimate for a few subtasks or for an MVP; we might also provide a ballpark estimate for the larger project, with the expectation that we can improve the accuracy of that estimate once the MVP is completed.
- Work as a team. To create a good estimate, we need input from many different functional groups. Our estimate teams include, at a minimum, one product/project manager (PM), one designer or developer, and an account manager. We also make sure that at least one member of the team is closely familiar with the technology we’ll be using.
Our project estimation process
Every estimate that we create goes through four checkpoints: a kickoff meeting, an estimate creation meeting (or meetings), a preliminary review, and a final review.
- Kickoff meeting: In this meeting, the estimate team defines the requirements for the estimate, including the scope of the project and the deliverables to be produced for the client (e.g., are we planning to include multiple estimates for an MVP and full build?). We also review any previous work that we’ve done for the client, and agree on a timeline and milestones for completing the estimate process.
- Creating meeting(s): To create an initial estimate, we conduct both a top-down and bottom-up analysis of the project. The top-down analysis is based on a gut-level estimate of time required for each major deliverable, usually informed by our experience with other projects of similar scope and complexity, while the bottom-up analysis is based on a granular, step-by-step breakdown of each task. We compare the top-down and bottom-up estimates, discuss assumptions and dependencies, and reconcile any major differences before arriving at an initial total.
- Preliminary review: In the preliminary review meeting, the PM, designers, and developers team present their estimate to the account manager and explain their process. Everyone then has an opportunity to reassesses the numbers, flag inconsistencies and open questions, and challenge assumptions.
- Final review: Once the estimate is revised based on feedback from the preliminary review, the team meets one more time to double-check the changes and sign off on the final version to be delivered to the client.
Common project estimation mistakes
In our 10+ years of creating project estimates, we’ve identified some common pitfalls that we now work hard to avoid.
We find that underestimation usually results from:
- Only considering best-case scenarios
- Working through the estimation process too quickly, without thinking through all of the possible complexities of the project
- Forgetting to include the time and resources required to fix bugs, load test, and QA
While overestimation usually results from:
- Only considering worst-case scenarios
- Failing to account for efficiencies gained over the course of a project
- Failing to account for the differences in needs and work styles across different types of clients (e.g., a startup creating an MVP will move faster than an established company adding features to a mature product)
- Worrying about not meeting a more realistic estimate (building in too much buffer)
If you have a design or development project planned for 2020, we’d love to get started on an estimate for you! Contact us to learn more.