A common phenomenon happening in organizations implementing scrum is that something is missing – the big picture. People are saying “We used to have High-Level Designs – where are they?”, “We used to have an architecture before developing – where is it?”. The answer will usually be that as we are working with small batches we need to focus on what’s immediately coming up and so other things are getting neglected.
But this is a confusion. Nothing should be neglected. For sure we cannot neglect long-term thinking and planning.
Why are we losing the big picture?
The reason for this confusion is that scrum focuses on the iteration, on the short term. As depicted below.
In the above illustration (taken from Wikipedia) you can see that most of the action is on the right-hand side of the picture. There’s a big circle denoting the iteration (originally it said 30 days, I took the liberty of changing it to 2 weeks) and above it the 24 hours cycle.
Most of the attention is on the cycle of iteration. The scrum events/ceremonies (depending on your school) are all around the iteration.
What doesn’t get attention in most implementations is the arrow on the left, connecting the backlog and the sprint backlog. A lot of stuff is happening on that arrow, depending on the organization, for example:
- High-level design
- User Experience Design
What should happen before the sprint?
The thing that escapes many organizations is that this arrow is not directly related to the iterations but rather is an ongoing process. Something like this:
In addition to the process of the scrum team, there is an ongoing process of high-level designs, architecture, and more – things that usually take more time.
This process – backlog grooming – is where we are cooking the scope on low heat, preparing it for the boil of the iteration. This is where you have time to think, process, to look at the big picture. We shouldn’t overdo this or the scope will get spoiled, of course. We need to do just enough so it will be ready for the teams.
The people involved in this process will be product managers, architects, team leads, experts, and others, some of them from the scrum teams. During planning, some capacity of the teams should be reserved for this.
How should we manage this?
We usually recommend using the Kanban method to manage this process, from end to end. This will help you understand what’s going on around you and control it.
Here is an example flow used by many:
On the left, you can see what’s happening before development. As you see, what’s happening in the iteration is just one column – DEV, one stage in the lifecycle of items.
The idea is that we manage two streams: the iteration stream and the end-to-end stream.
Once you set this board, there’s no going back. Until that moment management was all the time concerned with the various teams’ progress. Once they see the big picture two good things happen: first, management raises their heads, looking ahead, handling big obstacles, and making strategic decisions. The second thing is that teams can finally work quietly without being bothered all the time by questions from management 🙂