8 December 2012
When thinking about scaling agile to aggregate levels such as programs and portfolios, it is very important to be even more vigilant against convolution and waste. At ThoughtWorks Studios we have made it our goal to help teams stay true to agility and support working at scale. In this blog article we’d like to take the opportunity to share some tips on how to remain agile when working on agile programs and portfolios.
Many of the better-known techniques for focusing on value are in the context of team-level practices and processes such as users stories, activity mapping, and bug matrixes. And while these techniques are perfect in some situations, high-level goals and multi-team objectives require new techniques.
We believe focusing on value at the program level can begin with how you name your high-level objectives and goals. Once you’ve captured meaning and value in your program objective names, how you describe these objectives in detail is very important too.
Focus your objectives by answering the following questions:
By thinking through these aspects when creating program level objectives in your backlog you will be in a much better position to understand the value that completing backlog items might bring. You will also be better enabled to describe your aspirations to other parts of the organization who will work with you to achieve those objectives. Finally, by keeping the objective focused on value at this level it will help you avoid jumping into implementation details too soon.
We all have great ideas and more often than not backlogs can become dumping grounds for all “good ideas”. It’s time to put your backlog on a diet! Being vigilant about understanding the value your objectives will create is one way to weed out ideas that sound cool but are simply not valuable. Another way to do this to strive for a lean backlog.
In the blog post, “The Lean Product Backlog,” Roman discusses how you should aim for a lean product backlog and suggests some ways to achieve this. The same reasoning and practice can apply to Program Backlogs – aim to have only those items that are required for a successful execution of your vision at Program level. And where Roman suggests grooming can help we’d suggest taking this a step further. Instead of grooming, which essentially means organizing and filing away less valuable items, we suggest pruning. Yes. Cut, throw away. Press the delete key! Remove all less valuable and non-essential items from the backlog list and focus only on those truly important items.
Just as at the team, project and product levels we do not want to analyze everything in a release or product backlog in advance, we should not analyze all the items in a Program backlog in too much detail either. But what is too much detail when we are talking about Program level items?
A good way to scope yourself here is to think about what is needed to move the objective from the backlog to the planning and development stages and do just enough to achieve that. In most cases that means understanding just enough to prioritize and size the work relative to other items. Leave all the detailed stories and technical details out until needed. This avoids wasted work on things you may never really need. It also allows you to adapt and change quickly without being bound by sunk costs. But perhaps most importantly, doing just enough and avoiding unnecessary details too soon help create an environment where your teams can be creative, truly own and be responsible for the solutions necessary to achieve your objectives.
While there may be many more ways to remain agile in larger programs of work, keep these tips in mind to avoid bloat as your grow your organization’s agility:
See how the newly-release Mingle 12.4 can help you scale without the bloat.