An old myth states that development with Scrum takes off with no planning. We just start the first sprint and figure out the details in flight. This isn’t true. We do real planning in Scrum. In fact, we plan at multiple levels of detail and at many points in time. To some it may seem like Scrum deemphasizes planning because a majority of the planning occurs just in time instead of substantially up front. In my experience, however, teams often spend more time planning with Scrum than with traditional development; it just might feel a bit different.
Scrum Planning Principles: An Overview
In this chapter I expand upon several of the Scrum planning principles described in “Agile Principles: Chapter 3”, with a focus on how they apply to planning. In doing so, I set the foundation for the discussion in “Multi-Level Planning in Scrum: Chapter 15” of the multiple levels at which Scrum planning takes place. In subsequent chapters I will explore in greater detail portfolio planning, product planning, release planning, and sprint planning. The figure below details the Scrum planning principles.
Scrum Teams Assume We Can't Get the Plans Right Up Front
The Scrum approach to planning is true to its empirical roots of inspection and adaptation. When developing using Scrum, we don't believe we can get it right up front, so we don't try to produce all of the planning artifacts up front. We do, however produce some of the planning artifacts early on in order to achieve a good balance between upfront and just-in-time planning.
Scrum Teams Know that Upfront Planning Should be Helpful, Not Excessive
Most of us have been involved in developing products where the level of detail associated with upfront predictive planning was just absurd. Does that mean we should do no upfront planning? No. That would be negligent and foolhardy. Equally foolhardy, however, is to plan to the point where it is difficult or costly to react to reality.
Read the blog post “Plan like an Extreme Skier” for an example from the world of skiing that illustrates the principle that upfront planning should be helpful without being excessive.
Scrum Teams Keep Planning Options Open Until the Last Responsible Moment
To achieve a good balance between upfront and just-in-time planning we are guided by the principle that we should keep important options open until the last responsible moment. This means we save the planning that is best performed in a just-in-time fashion for a time when we have much better information. Scrum teams shouldn't make early planning decisions based on poor information.
Scrum Teams Focus More on Adapting and Replanning Than on Conforming to a Plan
Many product development efforts place too much emphasis on upfront planning and not enough on continuous planning. The problem with this approach is that the more time we spend up front developing a highly predictive plan, the more likely we are to conform to the plan instead of updating it to respond to change. Scrum planning asserts that you can't get plans right upfront and you cannot eliminate change, no matter how hard you try. As such, Scrum teams value responding to change and replanning over following the upfront plan.
Scrum Teams Correctly Manage the Planning Inventory
“Agile Principles: Chapter 3” discusses the key Scrum principle of managing inventory, also known as work in process (WIP). When planning, Scrum teams need to remember that creating a large inventory of predictive, not-yet-validated planning artifacts (e.g., Gantt charts) is potentially very wasteful.
Recall that as the development effort unfolds, Scrum teams validate assumptions by acquiring knowledge. As they do, they learn where reality differs from their original upfront plans. If they have a large volume of artifacts based on those upfront plans, they will be saddled with the waste of having to unwind and redo the future plans that have been invalidated by what they just learned.
This generates at least three forms of waste
- Wasted effort to produce the parts of the upfront plan that have to be discarded.
- Significant waste of having to update the upfront plan.
- Wasted opportunity of not having invested time in more valuable activities (such as delivering high-value working software) because that time was spent doing upfront work.
Knowing all of this, why do teams still spend so much time upfront? Teams are lured into too-much predictive planning as they try to answer questions such as When will we be done? or How many features can we get done by a known future date? These are valid questions that need to be addressed. Upfront plans might make teams think they have the right answers and a high level of certainty—but don't be deceived. There are much less wasteful—and ultimately more accurate—ways to answer these questions than long-term, low-certainty guessing. Those topics are covered at greater length in the next several chapters.
Scrum Teams Plan for Smaller and More Frequent Releases
Scrum favors smaller, more frequent releases (versus a single, large release) because frequent releases provide faster feedback and improve a product's return on investment (ROI). We can almost always improve the lifecycle profits of our product by leveraging incremental development and multiple releases of smaller marketable subsets of features. For more on marketable features sets, please read “MVP and MMF and MRF, Oh My!”
I also encourage you to read the blog post “Why Scrum: The 6 Very Real Benefits of Agile” for more on the positive changes Scrum brings.
Scrum Teams Plan to Learn Fast and Pivot When Necessary
There is no amount of upfront predicting or guessing that will replace doing something, learning fast, and then pivoting when necessary. By pivoting, I mean changing directions while staying grounded in what we've learned. We need to be prepared to pivot quickly when we learn that our current plan is no longer valid.
Our goal is to move through the learning loop quickly and economically. So we should structure our plans with learning as a key goal. By getting fast feedback we can determine whether our plans are taking us in a viable direction. If not, we can pivot or redirect ourselves.
Scrum Planning Principles: Summary
Scrum planning principles enable teams to plan in an economically sensible fashion by doing a helpful amount of upfront planning, balanced with more detailed, just-in time planing as teams learn more about what they are building and how to build it. The next five chapters illustrate how to leverage these principles at a deeper level in the context of the multiple levels of Scrum planning.