Predictability at Different Points in the Release Cycle
Learn when Agile and Sequential predictability practices are possible and the kinds of predictability you can achieve.
We'll cover the following
ABOUT THIS CHAPTER Decades ago, Tom Gilb asked the question, “Do you want predictability, or do you want control?” (Gilb, 1988). With little fanfare, Agile has caused a shift in many organizations’ answer to that question. Sequential development tended to define a fixed feature set and then estimate the schedule—the focus was on predicting the schedule. Agile development tends to define a fixed schedule and then define the most valuable functionality that can be delivered in that time frame—the focus is on controlling the feature set.
Much of the Agile literature has focused on software development for markets that prioritize timeliness above predictability: consumer-oriented mobile applications, games, SaaS applications, Spotify, Netflix, Etsy, and so on. But what do you do if your customers still want predictability? What if your organization needs to deliver a specific feature set and it still needs to know how long it will take to deliver that feature set? Or what if you just want to get an idea of approximately how much functionality can be delivered in approximately how much time as an aid to optimizing the combination of functionality and schedule?
Agile has most often emphasized feature set control, but Agile practices also provide excellent support for predictability, if appropriate practices are selected.
Agile-specific estimation practices are not available in the very early days of a project. Prior to populating the product backlog, the practices used for early-in-the-project estimates will be the same regardless of whether the project will later be conducted as Sequential or Agile (McConnell, 2006). It is not until the team begins working in sprints that the distinction between Agile and Sequential becomes relevant.
The illustration below shows the point in the project at which Agile specific estimation practices become relevant, expressed in terms of software’s Cone of Uncertainty. There is an exception to this pattern, which is that if you want a combination of predictability and control, rather than pure predictability, Agile practices come into play slightly earlier.
Get hands-on with 1400+ tech skills courses.