Something I have come to learn in developing software is that business has an unquenchable thirst for new features.
This thirst has resulted in mounting pressures on development teams to deliver features quickly. This need for speed has led to the rise of popularity in Agile and all that it promises. Unfortunately, with a poor understanding of what true agility entails, organizatins have seen teams deliver at much the same rate as they did before.
One of the reasons for this is that these organizations do not have a balanced understanding of the speed of deliver. Business might agree that they would like to see value added to a system every two weeks. The development team might have a daily standup and plan every two weeks. And this is all in vain if your organization is at a technical level where it is only capable of releasing to production once every two months. When there is an imbalance, you create unnecessary pain.
For instance, I’ve been in a team where their average rate of delivery for a small feature was three weeks - yet they met with business to report value delivered every week. Every two of the three meetings with business was extremely painful. People would get demotivated, additional work would be pushed onto the team, etc, etc.
After examining why the team was only able to deliver at a three week cycle it became apparent that regardless of how long a feature actually took to develop, their organization had 3 weeks of red tape to get the feature into production. One week to manually create a build, another week for the QA team to rubber stamp it and then an additional week for the ops team to release it! This meant that even if a work item took one minute, there was little chance of seeing it anytime soon.
Having a common understanding in all areas of an organization of what the real speed of delivery is important. Making sure your processes can support this speed is critical.
I see at least three areas where you need to make the speed of delivery visible. If these three areas do not have a common understanding you will face pain.
Three Areas that need a common understanding
- The speed business wants you to deliver at.
- The speed that your technology allows you to deliver at.
- The speed that the rest of your SDLC can deliver at.