The Gut Instinct EquationFiled Under Human Factors
Every developer has heard permutations of Hofstadter’s Law such as “90% complete, 90% of the time”, but can subjective gut progress estimations be roughly quantified? Leon at secretGeek had an interesting thought on measuring perceived progress via circles. His charted equation is as follows:
What is freaky is just how closely it matches reality. For example, you believe you are:
- 50% complete – reality is 15%
- 80% complete – reality is 40%
- 90% complete – reality is 60%
So this brings me to the question, why does this match reality? The two most obvious reasons are underestimation and feature creep.
Underestimation can come in many different flavors, but I am guessing (solely from personal experience) that developer optimism is the most common reason for this gut instinct equation. Since, my team solves the hard problems first it is not uncommon to hear “If we got that done, and the rest is cake. We are 90% done.” Well…no. You are not done. There is still unit testing, documentation, installation scripts, QA testing, etc etc.
On the other hand, feature creep seems to have a unique relationship with this equation. When it comes to unspent budgets, Parkinson’s law never fails and gold platting occurs from both the developer and client side.
Work expands to fill the available time – Parkinson’s Law
If 40% of the time is chewed up in the last 10% of progress, what would be the return if we just scrapped the last 10%?
Knowing that progress is never linear is the first step in understanding why projects are never under budget. The disciplined developer can avoid gold platting, but responsible software development includes communicating to the stakeholders about feature creep. Learn to walk away at the correct moment and you just might save time, money, and aspirin.