Customers want to know what a feature will cost before we build it. This lesson covers how we estimate, why estimates are hard, and why development time is only part of the number.
Important
Work on this lesson in
buildermode.
Learning goals
- You can explain the difference between top-down and bottom-up estimates and when each is appropriate.
- You can explain why estimating is hard, takes real time, and why an estimate is a range with assumptions rather than a single number.
- You can explain which factors we add on top of pure development time — e.g. communication, testing, review, deployment, buffer — and why.
- You can break a feature into estimable parts and estimate it bottom-up with our estimation template.
- You can propose the cheapest reasonable implementation of a requirement and make its trade-offs visible in the estimate.
Resources
Read what's new to you, skim what's familiar, skip what you already master. Stop when you can meet the learning goals.
Your agent can also generate an overview, a tutorial or an explanation for anything here, tailored to what you already know. Just ask.
- ▶️ Estimates talk — slides (internal)
- 📄 Schätzungen für Entwicklungsprojekte 🇩🇪 — our internal guide, including the factors we add on top of development time
- 📄 Our estimation template Show archive.org snapshot (Google Sheets, internal)
- 📄 Estimates are fine Show archive.org snapshot — David Bryant Copeland on why estimating is a skill worth having
- ▶️ How Do I Estimate Tasks Correctly? Show archive.org snapshot — Tim Corey
Exercises
With your mentor, look at a sample estimation from a real project before you start.
- Consider the following change to the MovieDB:
- It should also track music albums and recording artists
- Make a strong suggestion for how you would implement this in the shortest time. For instance, would you try to generalize movies and albums into the same model and interface, or duplicate everything you already built for movies? This is not a trick question, a case can be made for both approaches.
- Estimate the feature in detail, using our estimation template Show archive.org snapshot .
- Repeat this exercise for the Lemonade Empire application.
Posted by Henning Koch to makandra Curriculum (2015-09-04 14:52)