The role of the Iteration Manager has been popping up more frequently in the Australian Agile space. However, I’ve found many don’t fully understand what an Iteration Manager does.
And who can blame them? A quick Google search offers very little information apart from training courses or job ads. To add to the confusion, it seems to be a predominantly (though not exclusively), an Australian title for the role.
So, what is an Iteration Manager?
In short, the Iteration Manager is a function within Agile development teams that focuses inwardly on the team. They hold the team together and keep them running smoothly. They help them to understand what it means to be both Agile (understanding the Agile principles, practices, and frameworks) and agile (understanding how to operate and respond quickly to the changing world around them).
Now that we understand at a high level what is an Iteration Manager, let’s start with some history on where the term came about.
Where does the term ‘Iteration Manager’ come from?
The term Iteration Manager originated back in 2001 at Thoughtworks’ Chicago office, where one of Martin Fowler’s1 teams was using eXtreme Programming (XP).[1] Australia caught on during the mid-to-late 2000s when a number of organisations, including the Suncorp Group, began to adopt Agile.
As Thoughtworks was one of the only major Agile consulting companies at that time, these Australian organisations began leveraging the lessons learned by Fowler’s team.[2] Then, when Agile became more prominent in Australia, Iteration Managers started popping up everywhere.
I’ve mostly seen the Iteration Manager existing in two scenarios. One is where hybrid Agile approaches (i.e. using elements of Scrum, Kanban, XP, etc.) are adopted by the team as opposed to using a single Agile framework like Scrum. The other scenario where an Iteration Manager exists is where teams and organisations deem the Project Manager as necessary. The two roles are meant to complement each other and work closely together. My observation is that both scenarios are quite common within Australia. That being said, there is still limited information about what an Iteration Manager does, so let’s have a look through in detail what they actually do.
What does an Iteration Manager do?
I like to think of Iteration Managers as the glue and the oil of a team – keeping them together, making sure the gears turn smoothly. In a practical sense, Iteration Managers ensure their team matures in Agile principles and practices. They make sure the team follows the ceremonies correctly, they remove impediments and keep them focused on what their priorities are on a day-to-day basis.
One of the great things about Agile is that it recognises every team and organisation is different, and that means every team and organisation does things differently to match their needs.
- Ensures that the following commonly used Agile ceremonies are booked, organised, happen, and are facilitated well (either by the Iteration Manager or ideally someone else in the team):
- Daily Standup (also known as Daily Scrum)
- Story Kickoffs
- Retrospectives
- Showcases (also known as Sprint Review)
- Iteration / Release Planning (also known as Sprint Planning)
- Ideally, they coach team members to be self-sustaining and organise all of the above ceremonies themselves
- Ensures that any follow up actions resulting from ceremonies are completed.
- Ensures, at a minimum, that planning occurs for the current and next Iteration (also known as a Sprint)
- Ensures that Stories have been estimated by the team:
- The priority is estimating Stories in current and next Iteration (if it hasn’t been done already)
- Estimating the entire backlog allows for release/project planning and reporting (see below).
- The above two points could be done as part of Product Backlog Refining (also known as Backlog Grooming)
- Estimating could be performed in different ways depending on the organisation. They may use Story Points, T-Shirt sizes, Cycle Time. Whatever is suitable and agreed as the approach.
- Ensures that the team is focussed on the highest priorities by working closely with the Project Manager and Project Owner.
- Ensures that the team regularly updates their own Story Card status (i.e. what column it is in) by moving the card, physically and/or electronically.
- Ensures that the correct Stories are in the agreed Iteration (on the physical Story Wall and electronic tools (i.e. JIRA/Rally/Trello), based on priorities.
- Removes any impediments blocking the project team’s progress (or escalate to the Project Manager where appropriate).
- With the assistance of the Project Manager and Product Owner, shields the team from external distractions and interferences with project delivery.
- Coaches all project team members (including Project Manager/ Product Owner) to understand Agile values, principles and practices.
- Coaches in self-organisation, cross-functionality and project delivery.
- Coaches what to do where Agile has not yet been fully adopted and understood across the organisation.
May be done by the Iteration Manager, Project Manager or both together.
- Updates the Burn down chart (Iteration view of progress) throughout the Iteration to show how the team is tracking
- Updates the Burn up chart (release/project view of progress) at the end of each Iteration
- Constantly keeps the Project Manager/ Product Owner informed about impacts to Scope and Time.
TIP: It’s important to note Iteration Managers should not be team secretaries and do everything for their team (i.e. organising all meetings, moving all Stories, updating all tools). Instead, they should encourage and enable the team to proactively do these tasks themselves.
Wrapping up
To date, the Iteration Manager has been seen as critical to many Australian Agile teams, yet it’s been difficult to clearly articulate what the role does. By focusing inwardly on the team, the Iteration Manager helps the team work as effectively and efficiently as possible. They take care of their team to ensure they can deliver to and beyond expectations and produce value to the organisation. The goal is to help the team become more agile.
Before I finish up, there is a lot that could be covered about the Iteration Manager. I’ll be writing a number of blogs as part of a series to deep dive into what exactly is the Iteration Manager and how does it fit into Agile teams. Stay tuned!
Further Reading: