SAFe Development Model:
- Define Requirements: Once a quarter a Product Manager creates a new set of requirements – aka the ART Backlog
- Plan: A 2-day planning exercise is held (PI Planning). Using the ART Backlog as input, teams plan 4-6 sprints worth of development work, and confirm delivery dates for each feature in the ART Backlog.
- Execute: Teams ‘Follow the Plan’, build the features over 4-6 sprints.
- Repeat
Do you consider this predictive (linear, waterfall) or adaptive (agile, empirical)?
In the traditional, predictive, linear (waterfall) model, the assumption is that requirements and designs can be created upfront and that things will not substantially change. For example, a fixed-scope contract to deliver a replacement for an existing system where the requirements are well understood, there is little uncertainty with respect to project scope, schedule and costs, and the technology being developed is mature and stable. The SAFe model summarized above is a good fit. Big upfront planning can be appropriate in this case, essentially planning and delivery in large quarterly increments.
On the other hand, some programs face significant uncertainty (with both requirements and technology used), and require a highly adaptive or empirical approach. The next most important problems to be solved or what needs to be built are decided at the beginning of the next Iteration, during Sprint Planning. Not 3 months before. For example, Scrum is an agile framework that employs an iterative, incremental approach to optimize predictability and to control risk. In Scrum, work is planned and delivered one sprint at a time.
Not all projects are a plunge into the unknown, requiring an empirical approach. Sometimes we know exactly what needs to be done. Perhaps we have a fixed-scope, fixed-price contract with requirements laid out in precise detail by a customer. And will be built using mature technology. In this case a predictive planning approach is completely appropriate. Such a program could still be delivered in sprints – the main point of which would be to make progress much more amenable to measurement. Little adaptation would be expected.
Of course not everything fits neatly into either end of this spectrum, and both frameworks are intended to be tailored to fit the circumstances. The Stacey Complexity Model is a useful framework for understanding under what circumstances a predictive vs. an adaptive development approach is the right fit.