Book Review: Predicting the Unpredictable – Pragmatic approaches to estimating project schedule or cost by Johanna Rothman
Synopsis
On every software project I’ve worked on, I’ve been asked two questions: “How much does it cost?” and “When will it be done?”
Given enough experience on software projects, one would think this question would be easy to answer. The author explains why she thinks this is so hard. One reason she mentions is that we invent, not repeat. No two software projects are the same. Each project has a different problem to solve, uses different technologies, and has different people with varying skill sets, to list a couple of examples. Throughout the rest of the book, the author offers techniques and gives examples of how to answer these questions better.
My Takeaways
Obtain data first, then argue. In recent projects, I have been tracking how much the team can complete, how long each story takes to complete, how many bugs we fix, and how much the backlog increases.
By collecting this data and showing it to project stakeholders, we can have productive conversations about getting it done faster, whether cutting features, compromising for lower quality, or extending the release date.
Track Estimation Quality Factor. The author suggests asking the team once a month, “When do you think the project will be completed?” Then, plot the answer on a graph where the X-axis is the date you asked and the Y-axis is the estimate.
You can compare this to the original estimate, which is also a technique for discussing the project’s state. A follow-up question can be asked, such as, “Tell me what’s happened in the project to make you think we will meet/beat/miss the date.”
Determine your degrees of freedom. Try to find out from the client what is most important to them: cost, delivery date, finished features, or low defects. This is easier said than done. In my experience, customers want it all. However, if we can prioritize them, we can make better decisions about approaching the project and meeting their business needs.
Who should read this book?
Anyone responsible for estimating a project or writing a proposal for a project should read this book.