You know the history well. At an executive level, the organization has decided to "go Agile". Everyone in the organization attended a 1/2 day Scrum Training course. The project managers were re-titled as "Scrum Masters" and the business analysts were re-labeled "Product Owners". Finally, the developers and testers were reorganized into a set of Scrum Teams and "Sprint Zero" was started. Since that time, the teams have been "Scrumming". However it has now been a few months and the leaders and executives aren't seeing the big improvements that were promised in the articles that they read in Harvard Business Review and Fortune.
They want their development organization to FLY, but it still seems like it is crawling.
I've been brought into this situation as an Agile Coach on several occasions. The leaders have realized that in addition to the training they received, they do need some coaching to "get this Agile stuff right". In describing their struggles, they give a common list of ScrumFail attributes:
- Our teams are not completing their committed work in their sprints. They are carrying more than half of their work over to the next sprint.
- Our product backlogs aren't very good… We don't know how to write stories or split them... Our stories are too big to complete in a sprint.
- During our hardening sprint, we are still finding a lot of bugs and defects.
- We have several people who are on multiple scrum teams because we need their skills or experience on those teams. We don't have enough of them to go around for all the teams.
- We haven't yet figured out how to distribute work among our scrum teams. Most stories can only be done by 1 team. So, some teams are flooded and others don't have enough work.
My first step is always to listen, observe and assess the situation. Some of the questions that I'll ask the managers and leaders include:
- How do you decide which features to give the teams to develop?
- What are you doing to enable the teams to be fully cross-functional?
- What impediments have the teams identified that are holding them back?
- As observers of the system - what impediments do you see that are holding the teams back?
- What are the continuous improvement areas that you are working on?
- What is your Continuous Integration environment like - how fast do developers get feedback when they introduce a bug?
All too often the answers reveal that leaders and managers view Agile as primarily a methodology that only applies to the development teams. I summarize this view by, "You want me to sprinkle Agile Pixie dust on your teams, and then they'll be able to fly." Of course, when I say it like that, it sounds ridiculous, but that is exactly the expectation.
The reality is different. If you want your development teams to fly, then yes, you need to form high-performance cross-functional teams with the ability to fly. However, you also need to give those teams the tools, equipment and environment that enables them to fly. You will need to provide them:
- Maps and Directions - The teams need to be given high value work items. An often reported statistic states that more than 50% of features developed are not used or rarely used. This represents a huge 50%+ tax on the development organization and it is not related to how well the development is performing.
- Clean Fuel - The teams need requirements for features that are clearly defined and ready to develop. If the feature requirements are not clear, or not ready or misunderstood, then the development team will either spend time clarifying and refining these requirements, or even worse, they will develop the requirements with a wrong understanding and then need to rework them when the misunderstanding is found.
- Fast Feedback Controls - For the development process to fly, the development team needs to have fast feedback on the correctness of all the changes that they make. They need to have a continuous integration setup that gives developers rapid feedback that their changes didn't introduce any bugs into the system. With this fast feedback, they can correct it immediately with the right context rather than trying to debug the issue days, weeks or months later.
- High Performance Equipment - In order for the development teams to get the fast feedback that they need from Continuous Integration, they need access to sufficient test environments to run the many automated tests to confirm that the system works both in isolation and integrated with the other systems.
- Atmosphere - Finally, the leadership and management needs to provide an atmosphere and culture that is focused on learning, agility, flexibility and responsiveness. This does not mean no planning or discipline and it does not mean forcing the development teams to chaotic demands. It does mean a leadership team committed to continuous learning and improvement. It means a leadership team focused on learning how to improve business agility and responsiveness.
These ingredients are far more important to the ability of the development teams to be high-flying than any agile methods or techniques. Cross-functional, skilled development teams using Agile methods and equipped with these elements will indeed be able to fly … And they won't need Pixie Dust to do it.