DISCO Part 2 - Be Effective and Control Risk with Iterations

Iterations are the heart beat of any agile delivery process and understanding the different ways in which you can iterate is a key enabler for success.

Iterations are repetitions of a process, where learnings are used to inform and create adaptive plans to execute and build out a product or service. Delivering in small cycles helps teams manage and control risk when working on complex and dynamic domains.

Smaller iterations increase the speed of learning. They provide feedback loops and set cadences so plans can be adjusted, the shorter the iteration, the shorter the time spent planning. 


However, when looking at the bigger picture, teams that work with short iterations tend to plan more over the long term, and follow an adaptive planning approach.

This is in contrast to a big bang approach, where detailed plans are laid out in advance, often with fixed scope, budgets, and delivery dates.

But one element that kills productivity is task switching. This is why, when iterating, it’s important to apply constraints on how much work should be active at any one time. This should happen at every level, whether it’s personal, team, or portfolio.


An example of this can be as simple as someone being interrupted from what they are doing to help someone else. Once the assistance has been provided, it takes that person on average 15 mins to get back to where they were, with their neural pathways engaged and focus re-established.


If someone is interrupted four-times a day that is one hour lost. If a team of eight experiences the same, that's one whole day lost a week!


So it's important to limit task switching and find ways to be clear on priorities, so people can push back and focus on finishing high value items.

task switching - kills productivity

Frameworks and Approaches

There are many ways to iterate and plenty of frameworks and models have ways to maintain focus baked in. Typically iterating follows some form of the PDCA (Plan, Do, Check, Adjust) cycle). For example;

  • Scrum Sprints, 1-4 weeks in length

  • Iterations with XP

  • Kanban cycles with set cadences and reviews

  • Release Trains with SAFe

  • Iterative waterfall using a phased approach.

Scrum

Scrum, the popular and widely used agile framework, limits task switching by having specific sprint goals and backlogs in place that apply to iterations (or Sprints, the Scrum term for the framework's form of iteration). When applied properly, this ensures the team keeps their focus and limits potential distractions.

XP (eXtreme Programming)

Iterations in XP are very similar to Sprints. In XP, shorter iterations of 1 week are recommended as a preference. During these iterations, the team discusses and plans ahead on what can be done that week, and prioritisation is driven from the release plan.

Kanban

Kanban, a lean method, uses work in process limits (WIP) instead. These are designed to help teams focus and swarm on items until completion, rather than picking up new work ad hoc. Being a pull-based system, the team pulls in more work when capacity allows. The WIP limits help manage the flow of work and provides a mechanism to optimise for the most efficient batch size.

Release Trains

Release Trains provide a set cadence for delivery. This is beneficial when you have multiple teams working in one area, or if the release process itself is complicated, and there’s value in regular releases. This way stakeholders involved in a release can block out time-related activities to match the cadence. Knowing that a release is going out on a set cadence reduces the fear of missing out if something doesn’t make the cut. Often, a set nominated group will manage the release.

Iterative Waterfall Phases

Even more deterministic planning approaches can be broken up into phases, which is actually a form of iteration and risk control strategy in itself. Some might argue this isn’t ‘Agile’, per se. But I recommend looking at the notes and making up your own mind.


With any iterative approach it’s important to set clear goals to enable focus and clarity on the target you’re looking to achieve. Where possible, aim to reduce or break any dependencies and favour small, cross-functional teams. 


This will enable you to be more effective, reduce risk and ultimately deliver valuable outcomes sooner. 

I hope you have enjoyed this article. At Cohezion, we provide in person certified learning workshops and basecamps, if you wish to learn more about agile and iterating with your teams, and offer coaching and support to help you embed agile and lean practices.

Notes


Mick Cohen argues iterative waterfall is not agile. He says ideally all the different types of work, analysis, design, development and testing should be done and aim to finish at the same time.

https://www.mountaingoatsoftware.com/blog/an-iterative-waterfall-isnt-agile 

Michel Jackdos says iterative waterfall is valid option and sits between traditional waterfall (heavy up front planning, sequential order of work) and agile (least up front detailed planning, very short iterations or sprints)

https://www.pmi.org/learning/library/step-iterative-waterfall-approach-4303 


Martin Fowler says that waterwall, iterative and agile are different styles. Agile is adaptive, whereas waterwall is always predictive.Iterative can be both.

https://martinfowler.com/bliki/WaterfallProcess.html

Previous
Previous

Lean Change Management - Key Take Aways

Next
Next

Mindset and What’s Visible