Monday, November 7, 2011

Check! – you’re impeded

In the game of Chess, when a player is in Check – his game is impeded. He cannot progress any attacks, strategic maneuvers or even protect other pieces until the threat on the king is addressed.
If the player cannot address the check threat – it’s checkmate – game over.

There are 3 ways to address a check threat:
  1. Remove the threat – capture the opponent’s threatening piece.
  1. Move away – move your King away from the threat.
  1. Block the threat – put a different piece in between the opponent’s threatening piece and your king.

Ok, so what about scrum?
In Scrum, one of the ScrumMaster’s duties is to address the team’s impediments. As a ScrumMaster when I need to address an impediment I often find it useful to think in terms of removing a check threat.

So impediments can be addressed similarly by:

  1. Removing the impediment – If the team can’t work because a computer is broken, fix it. If the IDE crashes – reinstall it, etc.

  1. Moving away from the impediment – If your computer is broken – use a different computer. If you’re stuck figuring out a complicated algorithm – try a different algorithm that would give a solution, etc.

  1. Blocking the impediment – If the team gets interrupted, place someone (the PO, the Scrum-Master, a manager or even one of the team members) in charge of blocking all non sprint-related interruptions. If there is too much noise in the room, place an acoustic wall or wear earphones.

Here are some more examples I’ve encountered.
Some are obvious, some are less so:

Removing the impediment
Moving away from the impediment
Blocking the impediment
A team-member can’t get started on coding a class since they need to get some input from the PO and the PO is unavailable
Place pressure on the PO or on the external team to provide the necessary input
Go on to a different task while you’re waiting. Or have someone else provide the feedback.

Team needs to coordinate an interface with an external team which is unavailable – so they can’t start coding
Put pressure on the external team to provide answers, coordinate a meeting or call to enable this.
Go on to a different task while your waiting

Unavailable outsourcing resources – for instance external testing or external development
Put pressure on the outsourcing provider to get the work done.
Find another outsourcing provider to get the job done

External non-sprint related requests are made to the team that cause disruptions on sprint focus

Ask the requesting parties to stop
Ignore those emails? Don’t answer the phone?
Put someone in charge of intercepting external requests – The PO, a manager or one of the team members
Team member is ill, limited or otherwise handicapped
magic potion?
Have someone else fill in for the team-member

Reject the story and don’t commit to it until the ill team-member is well again or until the team is otherwise capable of doing the task
Truck-factor – when a team member can’t do a task since only other members know how to do it
Have the members pair and teach each-other

Have only the team members that know how to do the task do it

The entire team lacks the knowledge or skill of how to do a task so they can’t do it
Have the team learn how to do it
Use a technology that the team does know, even if it’s not the best choice
Reject the story entailing this task – don’t commit to it until the team is ready

What’s you next move?
Like in chess – there is no one approach that fits all situations. Sometimes you can’t move the King, sometimes you can’t block the Check.
And likewise - as you can see from the above list – also in Scrum some impediments just can’t be blocked, some can’t be fixed - such as a team-member’s illness (usually).

Also take note that addressing impediments has a price– from either the Scrum-Master, the team, from external parties – and usually from a mix of all of the above. This is true in chess as well, since taking an action to remove a check threat takes up a precious move (not to mention sacrificing another piece at times), whereas that move might be better served progressing the game towards victory.

So the choice of actions – how to handle the impediment – should be taken with care. You don’t want to make the wrong move – placing yourself in yet another impediment or wasting all the sprint duration handling an impediment just to find you don’t have any time left to get the impeded tasks done.

Victory is a team effort
Also in chess – whereas some pieces are more powerful or are worth more than others – in the end, what matters is the final outcome – either the black or the white wins the game, regardless of how many pieces it had lost or captured. Sometimes a sacrifice is made to achieve a team goal – winning the game.

In Scrum too – sometimes you need to sacrifice a long term solution in favor of achieving a deliverable. Sometimes you won’t get all the impeding root causes fixed. Keep in mind the endgame – the team as a whole should do everything in their power to get the to the sprint goal in the short term – while keeping on learning and improving in the long term from sprint to sprint.

Becoming a master player
Finally – in chess there is a fourth way of addressing Check, which is of course the preferred one – avoiding it in the first place.

While master players know how to avoid getting into a check situation, it takes a great amount of learning, practice and skill, and is often not just up to the player but depends on other factors such as the other player’s skills and unexpected moves during the course of the game.

In Scrum – getting to a point where the team is not impeded in the first place is something we should probably strive for, but this too takes learning, skill and practice – brushing up on technical skills as well as team and organizational dynamics – bringing the team members to a situation where they (self or not) organize so as to not disrupt each other and can block out external interruptions, and where the organization gives the team the support  - technical, personal or other – that the team needs to succeed.

And like in chess, even for the best of teams impediments can not always be avoided. Luckily - there’s always another sprint coming up with a chance to practice, learn and improve our game.

No comments:

Post a Comment