We recently completed our third release planning session. Our releases consist of a 3×2 pattern – 3 enhancement iterations and 2 summit iterations. However, we have slipped on both occasions due to quality and complex integration challenges. Even with the slips, it’s clear the teams are getting better.
As you progress down the path of truly becoming agile, you will pass several tipping points that validate you are succeeding. At the time, they may not appear like tipping points but in hindsight, you will always see them. For example
- Let’s Try It – The point where you get enough executive support to try agile at a smaller scale
- Let’s Scale It – Enough momentum exists to force a larger effort. In our case, we jumped to 10 teams
- The Build’s not Broken – A monumental achievement when builds are no longer the most discussed issue in a large scale agile effort
- Visibility Past Your Nose – The roadmap exists beyond one release in a sufficiently accurate manner to communicate it clearly to everyone
- Fist of 4+ – The point where the large majority of your iteration teams commit with confidence
- And the list goes on…
Each of these milestones are important because they validate the pain you are going through is worth it. In our world, where agile is still viewed as more of a pain than a gain by many, it’s what keeps you motivated. The large flywheel is turning. Faster and faster. Things are getting easier because more and more folks are starting to open up and in some cases even give in.
It’s important to keep pushing – never stop. You can’t declare success until your agile release delivers true value to the end client, in a high quality fashion and on time. We can’t declare success for any of these goals yet – but we are getting close.
So… Let’s get on with the topic of this post – Release Planning. In our case, the release planning session for release #3 was the signal we had reached truly effective release planning. We eliminated several significant issues from past release planning sessions and the teams confirmed our hard work by declaring confidence in the plan. Here is a quick highlight of accomplishments that will also highlight past problems:
- Vision – We were able to convey enough of a roadmap to declare a common long term goal. Every team had an equal focus on this goal and they understood their purpose. In past release planning sessions, some teams weren’t working on the highest priorities. This caused frustration and doubt.
- Resources – We kicked of release planning with a known set of teams and resources. We didn’t spend valuable hours trying to figure out who would be on what team. We still had a few resource shifts that weren’t ideal but it was limited to one area.
- Product Owners – We went into release planning with each iteration team having their most effective product owner yet. We were able to eliminate some problematic problem owners, we hired a few very promising product owners and we elevated a few past iteration team members to high potential product owners.
- Dedicated Agile Build Team – We finally convinced folks that it was important to have a dedicated build team. Up until this release planning session, builds did not receive the valuable resources they needed. This caused mass frustration and ineffectiveness
- Pre Planning Preparation – We went into the release planning session with each team’s PM, PO and SM having a good understanding of what needed to happen. The teams had backlog and they even spent time with the entire iteration team validating their thoughts before the planning session started! In addition, each iteration team brought along at least one of their architects to further improve our results.
- No Major Surprises – We completed our release planning session without encountering any major surprises. No last minute major misses that could be used by the Agile Naysayers as reasons for why Agile can’t work. The old “Agile doesn’t plan long term” myth.
We have such a long way to go. It’s exhausting because every day is a tremendous fight. It’s days like the final day of our last release planning session that really make you realize it’s worth it! I’ll leave you with one easy idea that truly gives you a great measure of your planning session progress.
At the end of each release planning session, force everyone to write one thing that worked well and one that didn’t on a simple note card. In addition, ask them to rate the release planning session on a scale of -3 to 3 with 0 meaning no progress from the last time. Leverage this feedback to improve each time.
For us, we knew we had reached the release planning tipping point when over 90% of the cards came in with positive feedback, ratings above zero and minimal improvement areas. We also had several folks come up and thank us for our efforts. It was truly a day of recognition and accomplishment. For us, we ended that day by drinking a few glasses of wine at our favorite restaurant near the airport.
If you would like to understand more details about how we do release planning, take a look at Dean’s recent big picture posts. While we have made some adjustments to our release planning as a result of our specific situation, a large percentage is based on his principles. Most if not all of our changes are a result of our complex integration scenarios with waterfall based subsystems. Enjoy!
[...] more importantly, agile in general, is really taking hold in that enterprise. The post is ” The Tipping Point: Release Planning – #3″ , and I’ve taken the liberty of providing a few highlights of “what success starts to [...]