“The agile manager’s scariest move; handing over responsibility”
Once we* had our Delivery Teams regularly delivering increments of valuable working software; the management team made the tough call of pushing the responsibility for co-ordination of releases to the Delivery Teams. This blog post follows this decision through its successes and failures and explains how we adapted to the feedback we received and issues that we identified.
*The Royal we: Management Team, Transformation Team, and Coaching Staff.
Attempt 1 – Complete freedom
A meeting was arranged by the management team to announced to the Scrum Masters (and a few other stakeholders) that as part of the ongoing transition the Scrum Masters must step up and take ownership and responsible for co-ordinating our quarterly releases. After this meeting the management team deliberately sat back and let the Scrum Masters sort it out themselves.
The Scrum Masters held a brief meeting to decide how they would handle the situation. They quickly selected two Scrum Masters to lead the co-ordination effort. One of them took the lead and did a great job of co-ordinating the release, which went out on time and to the quality we had aimed for. There was plenty of room for improvement but no major disasters.
While the Scrum Masters were comfortable with this change, the management team quickly lost visibility of any issues that were occurring and at the same time were getting feedback from many staff members about a lack of communication between the Delivery Teams.
Another couple of issues popped up, which told us another approach was needed for the next release:
- The Scrum Master who lead the co-ordination of the previous release was promoted into the management team.
- The other Scrum Master who had been involved was currently swamped with practice improvement work. We were not sure who would step up to the take the reins.
Attempt 2 – PMO established Scrum of Scrums
With issues around lack of visibility, low communication between teams and concerns about how repeatable our previous success was, the management team decided that they needed to act.
At this point in time the culture had moved from ‘responsibilities being assigned to individuals’ towards ‘responsibilities being assigned to teams’. Looking at our current issues the decision was made by the management team to rotate the responsibility for Release Co-ordination between Delivery Teams each release, along with establishing a Scrum of Scrums as a status reporting, cross team communication and impediment removal approach.
To get things moving quickly our PMO manager booked a weekly meeting with the Scrum Masters, during which they were asked what the status was of each release that was in progress (we have 1 or 2 maintenance releases and 1 feature release in progress at any one time). The Scrum Masters saw it as the PMO meeting and were fearful of raising issues at the meeting, as those issues would then be forwarded onto the management team. The Scrum Masters thought that any issues that were raised made them look bad, meanwhile the management team was hanging out to know the real status of the releases, so that they could help wherever was needed. This fear or lack of a ‘Safe to Fail’ environment was addresses separately (and is perhaps the topic of another blog).
With the PMO established Scrum of Scrum operating, the management team continued to receive feedback that there was not enough team to team communication, however we did start to get some issues raises and did get some feeling for how well the releases were going (and they were going well). We were still concerned that the level of ownership of Release Co-ordination was not as high as we needed it to be.
Attempt 3 – Scrum Master established Scrum of Scrums
With Attempt 2 still not providing the results we wanted, we decided to intervene by re-invigorating the ‘SOS’ (this unfortunately meeting name was one of the first things to go).
To kick off the change our two Engineering Managers (who have responsibilities around People and Practices) each talked one-on-one with the Scrum Masters that reported to them.
They asked about the Scrum Masters view of the SOS meetings and set out some clear expectations around team to team communication, Scrum Master to team communication, the raising of issues, ownership of release co-ordination and running the Scrum of Scrums. Lastly they were told that a meeting would soon be organised with all of the Scrum Masters where they would have to work out how they would re-invigorate the Scrum of Scrums.
I facilitated the meeting with the Scrum Masters and the Engineering Managers in attendance. We started with one of the Engineering managers setting down the expectations regarding the Scrum of Scrums:
- Raise team specific risks, so that the other teams are aware and can assist.
- Explain what each team is doing, so that the other teams are aware and can assist.
- As a group uncover big risks and either deal with them or escalate them.
- As a group review and understand commitments especially those with specific dates.
Once those expectations were clear we got down to the business of the Scrum Masters deciding what information they needed to be able to meet those expectations, how the meeting would be organised, when it would occur and who should attend.
In summary they decided upon:
- All Scrum Masters and the PMO manager would meet weekly on a Monday after all of the Stand Ups were completed. No other people had to attend, however back up Scrum Masters and the Lead Architect was optionally invited.
- Using a large highly visible planning board, showing all teams, all key user stories, dates, etc.
- A simple agenda: Each Scrum Master presents in the order shown on the board, and then any issues/news is discussed as a group.
- Each Scrum Master was responsible for keeping their team’s row up to date.
- One volunteer would create the first Scrum of Scrums board.
Continuation / Tuning
The first meeting went reasonable smoothly, a due date was clarified, a risk was discovered and they discovered two teams that needed to co-ordination on a user story. A few tweaks to the board where suggesting, including using a consistent colour coding scheme.
The next few meetings were tentative affairs as each Scrum Master was ‘feeling out’ how they should behave in this new situation.
The fifth meeting seemed like they were starting to get off track and just running through the motions of an ineffective status update meeting.
The sixth meeting had some minor cross team concerns discussed. A couple of teams had let their information get out of date, with only one user stories up for the current sprint. The major issue was that we were fast approaching a critical release date, and there was no communication around the status of features that had been committed in the release. It seems like the Scrum Masters were not considering the whole release as much as was hoped by the management team. This prompted a lot of one-on-one discussions and feedback sessions, which thankfully all hit the mark.
Seventh meeting: Great, they are really getting it, taking ownership, asking questions, self-organising. The teams that last week only had one card had added all of their planned user stories and provided more detail in their summaries; this triggered conversations and overall seemed successful.
The Eighth meeting was held part way through the first sprint of our new Release cycle. The board had the next 4 to 5 sprints filled in for most teams (only at a high level for sprints 2 to 5). As a group they spotted three key issues and quickly resolved them. It looks like the Scrum of Scrums is working and is here to stay.
Thanks for the post - very insightful!
I have a couple of questions, if I may
We're using JIRA (with GreenHopper) and a physical board to track our development, using KANBAN.
I'm not sure if this is good practice but the board is primary and JIRA secondary. What that means is, our physical board is split into columns as below:
Ready | In dev | Dev review | In test | Test review | In sign off | Signed off | Merge
So it's a very granular process and for obvious reasons not mirrored like-for-like in JIRA (as that would mean every person would have to update the status of a piece of work in two places all the time.
So my question is, how do you design a workflow with an electronic and physical board in mind?
Sorry if the question seems vague!
Dave, my advice in this situation is to model your real world flow on your physical task board. In your electronic system I would suggest going for the simplest work flow that you can. i.e. If Backlog, In Progress, Done will do the trick then go for that.ReplyDelete