365 Estimates [2d]

Updated . Posted . Visible to the public.

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 builder mode.

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.

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.
Profile picture of Henning Koch
Henning Koch
Last edit
Paul Demel
License
Source code in this card is licensed under the MIT License.
Posted by Henning Koch to makandra Curriculum (2015-09-04 14:52)