theengineeringmanager.com · Saved

What does a date actually mean? - The Engineering Manager

www.theengineeringmanager.com/growth/what-does-a-date-actually-mean

What Jamie wrote

Building software is notoriously hard to estimate. As a profession software development has progressed and matured in amazing ways for scaling, reusability, velocity, durability. But when you get to the art of setting a schedule as an industry we still struggle — a lot.

I have two theories for why this is:

  1. Software moves. Software is interactive and dynamic. It responds to the environment around it (other software and the user) and as a result the edges of the software are really hard to determine. Where you interact with the user and other systems there are an unknown number of edge cases and decencies that will come to play.
  2. Creative endeavor. Creating software is fundamentally a creative endeavor. It is closer to making a painting or a piece of music than it is to building a house or making a widget. It is more craft than manufacture.

So, instead, you should take a forecasting approach that follows the uncertainty curve that we outlined above. You start wide, and you taper in. At the beginning of a given project, you might even just have the year that you're aiming to ship. Then, as you progress, you can start to narrow it down to a quarter, then a month, and finally a specific date.

This forecasting model is the right way to do it. You do have more visibility on the things right in front of you. As things get further out there is more variability. I think this can show up in roadmaps as having three buckets of things:

  • What your doing now
  • What is next
  • What possibilities are in the future.

It is worth remembering this craft is still very young. We've only been doing it for a few decades.

Saved the same week · 37 links that week

Everything saved in November 2024