Next week, I’ll be presenting at DrupalCon Nashville. I’d be thrilled to see you at my session. Read on for a taste of what I’ll be sharing.
Edited to add: The video is up and available now!
- Day: Thursday, 12 April 2018
- Time: 10:45-11:45
- Room: 204 | Mediacurrent
- Session Track: Project Management
- Experience level: Intermediate
The purpose of estimation in software (and other!) projects is to manage risks and expectations at the outset, with the aim of delivering the project on time and within budget. CMS solutions like WordPress, Drupal, TYPO3 CMS, etc. are great starting points for estimation in that they offer feature sets and well-understood extensibility models. But one or two discrepancies can kill a budget estimate; small changes and customizations can end up costing more than the major functionality. Getting the estimation right seems an impossible task. The problem is, we have to acknowledge that early stage estimates are inherently inaccurate and yet essential for giving stakeholders a ballpark cost and timeline to work from. Who is eating those costs?
Seth Brown, COO of Lullabot, wrote a guide, the Art of Estimation, which describes how you break down a larger project into small estimable pieces and map these into an estimation, piece by piece. Lullabot shares their base spreadsheet as a way to work through breaking down a project into smaller chunks you can estimate on. Seth approaches it like a “detective doing a murder investigation” seeking to identify the requirements from the stakeholders as if they are witnesses. I’ve often said that my goal during the discovery process is to interrogate, taking nothing for granted and attempting to pull out hidden details that could otherwise resurface and cause trouble later.
This approach assumes all the requirements can be known at the outset. As time moves on, new information comes to light, understanding of the project deepens, and new ideas are generated through mutual collaboration. And lo, the dreaded “scope creep” strikes and typically results in an expansion of the timeline and budget. Unfortunately, if your estimations were based on the initial requirements and assumptions, you run the risk of going over budget or not meeting expectations.
Steven C. McConnell, author of Software Estimation: Demystifying the Black Art describes the challenges of estimation. He cites research that even a good estimation approach would be within 25% of the actual results 75% of the time. The risks are high. McConnell says the problem is right at the outset. “Estimates created early in a project are inherently inaccurate.” Early stage estimates happen in “the cone of uncertainty” as he illustrates in this diagram.
Instead, McConnell recommends we should “Reestimate periodically throughout a project, and use what you learn during each activity to improve your estimate for the next activity.” As time moves on, you will know more about the project goals and needs, so turn this into a virtue. And it might mean increasing budgets or removing features to stay on budget or on time as you go.
In my DrupalCon presentation, I’ll show how you can start off with coarse estimations during the RFP and presales processes and improve estimates over time as you bring your project through discovery, design, development, and deployment.
I’ll show you how you can use this technique to manage risks and expectations, drawing on theory, other experts, and my personal experience managing web projects with budgets ranging from $2k to $2 million. I’ll demonstrate how all members of a team can collaborate on the estimation document and keep the client informed throughout the process.
See you next week at DrupalCon! Also check out where you can meet our DDEV Team in Nashville. Stop by the booth to say hi!