Bias and Agile: Agile Needs Effort and Schedule Estimates Too
Agile is an Excellent Root Level Management Technique
I like Agile development. And I have had many stimulating discussions with Agile people about their perception that estimates are no longer needed with Agile development. In some circumstances I agree.
For root level project management, Agile developers essentially are doing a better job of what software has been trying to do since its inception: getting people to collaborate while meeting small goals and working on the most important problems.
Agile Shouldn't Replace Estimation and Commitment On Substantial Programs
But the idea that there is no need to provide stakeholders with viable estimates of what this thing will cost, how long it will take, etc. is like going to a car dealer and not worrying about the cost of a car...instead, only focusing on getting the options you want. Many would disagree and would say that the extra cost features would go in backlog and never be developed. But if I have a Kia budget, should I be shopping at the Mercedes dealership?
I see many higher level managers accepting the Agile story because they have been let down by software before. At least without viable estimates, they won't be disappointed. That is not a bad approach in those cases. I always say, "If you don't care how much or how long then you don't need viable estimates." If your business depends on these questions, though, you should make decisions up front about whether this is a viable investment. And if that estimate is just x sprints, that becomes difficult to trust...just like software estimates always have been difficult.
And What About Total Cost?
Agile focuses on working software, not documentation. Fine for small, non-critical, or short-lived systems that don't require rigorous system testing. What about the cost of the entire system? Again, if no one cares about the cost, there is no need for estimates. But if cost and schedule are considerations... Remember, over time, software maintenance costs more than software development. And IT resources to support the software can cost even more.
One of my proudest moments in providing estimates as guidance is a program that was recast when they realized they didn't have the time or money to fund it. They rearchitected and came up with something that was affordable. Without estimates, that program would have been a huge failure.
We Must Recognize Bias and Mitigate Bias For More Successful Software
We are all biased. We can't help it. Nobel Prizes have been awarded for work on mitigating bias. And we are still biased even when we know we are, as I showed in a Galorath webinar on Estimation Bias and Strategic Misestimation.
Bias and Agile Presentation
This presentation on Bias and Agile Estimation Guidance introduces the topic.