Transforming your software development to agile is like launching a rocket. First, you need to do a thorough preflight-check check to make sure everything is ready for the launch. Then, there is the take-off where you get your agile introduction off the ground. As soon as you’ve launched agile, it’s time for flight control – ensuring your project and mission stay on track. Following this three step system will help you avoid those dreaded, chewing gum projects, which never converge. Let’s look at the first step:
Before transforming your organization to living and breathing agile, you need to make everyone aware of the current situation, their weaknesses and strengths. Identifying the weak and strong points within your current process with your team will help create alignment. Only with this alignment can you know that everyone is pulling in the same direction.
The preflight-check consists of three parts
- Reflect on the current process and identify weak and strong points
- Visualize the current process and identify the biggest wins of change
- Create a vivid picture of a possible future
Let’s look at each part of the preflight-check:
Reflect on the current process
The best way to create a common understanding within a team is to do a retrospective. The retrospective can look back a couple of weeks or even months. One good way to scope the retrospective is to look back on the last release. Let every team member raise things which happened and collect them on a white board or with cards on a wall. When everyone has added all the relevant points, let the team rate them.
Give everyone five green and five red stickers and ask them to put green stickers on items they liked and red stickers on items they hate. They are allowed to put multiple stickers on one item if they like. This exercise will create a very clear picture of how the team sees its own work. Now, pick the three best rated (most green stickers) and the three worst rated items (most red stickers), and do a root cause analysis on each of them. Come up with at least one concrete TODO for each one to either improve the bad item or ensure that a good practice won’t get lost.
Visualize the current process
After identifying the most relevant issues and highlights, it’s time to look at the process as a whole. Draw a value stream map of a typical feature including all steps and timings. This is a very enlightening exercise as everyone will learn something about the process he was not aware of. In a typical waterfall process, a single feature takes months or even years to be completed. The value stream map will clearly show this. This visualization of the current process should create a common understanding of the biggest bottleneck in the release process.
Now that you know the bottleneck in your value stream, sit together and brainstorm ideas how to cut the required time in half. This exercise will do two things: 1) motivate people because they feel empowered to change for the better and 2) give you a starting point for changing your process. And, as it was a team effort to come up with the ideas, you already have high buy-in from everyone.
Create a vivid picture of a possible future
We’ve now identified the most relevant weak and strong points and taken concrete actions to deal with them as a first step. The team has a common understanding of the current value stream and even a few ideas how to speed things up. Combine the two and you’ve got a good head start on creating a vivid picture of how great everything will be if you keep working on it together.
Now it’s time for you to paint the picture of an agile future. Remove yourself from the past and present constraints, and describe a perfect workflow by weaving in the results of the earlier exercises. Creating this picture will help your team come up with the motivation to actually realize the change!
Going through these exercises creates alignment within your team because together you raised the most relevant weak and strong points within your current process. Now, you can start transforming your organization to employ agile practices and principles.
In this post we covered the first step of the 3 step system: The preflight-check. We’ll cover the take-off and flight control steps in upcoming posts.