Staszek Matczak is fascinated by the process of developing complex IT systems and the process of developing complex human cooperation networks. He has worked as a programmer, project manager, team leader, Scrum Master, Product Owner and Agile Coach. Staszek led Scrum adoption in single teams and he has participated in major and challenging transformations in large organization. He has also led trainings related to Scrum and Agile. He works in Jit Teams and supports different organizations in using agile methods in mature way.
Bumpy Road to Releaseable Increments
Once upon a time, there was an organization which decided to develop a new eCommerce system. Obviously, the new system was supposed to be developed in the agile way. The organization decided to implement the Scrum framework.
What do we need to do agile development with Scrum? Product Backlog. Check. Product Owner. Check. Development Teams. Check. Scrum Masters. Check. Sprints. Check. Let’s start the work!
When six Development Teams started to work, the organization noticed one significant problem. The teams finished the stories during sprints and proudly presented the results during Sprint Reviews – however, the outcome was not ready to be released. At the end of the sprint we had a lot of changes, but there was no product that could be released and used by customers.
Jurgen De Smet says: “whenever an organization has a problem, they create a role for that problem”. So the organization created the Release Manager role.
And here the story can split into two scenarios.
In the first scenario, it ends with strict procedures and rules, big QA Department, special tools, bureaucracy, long User Acceptance Tests and “you shall not pass!” approach. And that’s not the way we wanted to go.
We chose another approach – limit release management to bare minimum and help the teams to create as much releasable increments as possible.
Was it easy? Not at all. We faced many challenges. Contradictory expectations of different stakeholders. QA persons that were used to User Acceptance Tests process. Reluctance of developers to make frequent commits and deployments to test environment (“we deploy finished features only!”). Fear of instability of environments. Late discovery of critical bugs.
It was a really bumpy road.
In the result, we are reaching the state with regular bi-weekly releases in July 2020. Where will we be in October 2020? I wish I knew.