It’s a common notion that Agile methods like Scrum mean no planning, just doing. That’s myth. The reality is that Scrum provides and organic way to handle surprises that force a plan to change. This means you don’t have to be afraid of change, unwilling to move forward until everything is understood. But making room for surprise is very different from not planning.
When we started my last project we didn’t know enough to identify the complete data model, so we modeled the data we knew about. It was a given that there would be model changes so we developed processes and found tools that would allow us to adjust as necessary. The data model we could design, and the process for changing it, were key parts of our plan. This kind of planning is required if you want to succeed with Scrum.
You might think planning for change meant we didn’t have to plan the model. But you’d be wrong. We’d minimized change’s pain but we hadn’t eliminated it. We planned the data model as completely as we could with what we knew. We let the design of our code, tools, and process handle the surprises.
Dealing with surprise is Scrum’s strength, but only with good planning. As anyone would expect, those Stories without surprises were developed faster and with fewer bugs than the Stories that contained surprises.
So don’t fall for the myth. Make good plans and deal with surprises when you have to. That’s true Agility.