I recently blogged about punching developers in the brain when a software deliverable deadline is slipping. The title of the post is The Question Unasked. In this post, I would like to address software development estimation.
In the past, I have stated “Either all software developers are pathological liars or software development is inherently inestimable.”
I’ve also stated:
- Software development is hard.
- Deliver quality late, no one remembers. Deliver junk on time, no one forgets.
- All generalizations are false (including this one).
I can hear you thinking, “What do all those sayings mean, Andy?” They all apply to software development.
What’s the Solution?
In his book titled Software Estimation, author Steve McConnell shared some dynamics of software estimation. He drilled into software development projects and listed many challenges, categorizing them into Critical, Fundamental, and Specific challenges to estimating software.
In The Lean Startup, author Eric Ries focuses on delivering a Minimally-Viable Product (or MVP), shipping the MVP, learning lessons from early adopters, incorporating those lessons, and then delivering an updated version of the MVP.
I recommend both books and I make $0.00 from my recommendation or from either link (in case that sort of thing bothers you).
In my humble opinion, informed by experience, both of these books present good thoughts on arriving at useful software development estimates.
I use – and encourage developers, team leads, team managers, project managers, and architects to use – the techniques found in these books to place boundaries around the chaos that is, in my experience and opinion, an inestimable process.