Wednesday, July 31, 2013

Don't Miss Retro

Scrum is a very lightweight development methodology.  The idea behind scrum is to be as lightweight as possible with maximum communication.  There are a few meetings to be had in scrum, but only a few...10 minute daily meeting of all team members, 30 minute demo per sprint to all stakeholders, 30 minute planning session at the beginning of each sprint and a 30 minute retrospective at the end of each sprint after everything is done.

I've heard comments from teams over the years where people tend to complain about some it is the biggest waste of 30 minutes in the whole process.  I think the reasoning behind this is that teams tend to re-hash the same topics over and over again and they never seem to get resolved.  I can see the frustration with this, but not discussing issues doesn't make them go away.

Here are three things to try for more effective retrospectives:

1.  Get Everyone Involved

Retrospective should never be the scrum master or the resident nit-pick rambling on about how bad everything is.  It has a format, and it should be followed...every time: Did Well/Do Better/Stop doing.

I see retro's deteriorate into 'What went well?...hmmm...well, we worked really lots done...that was good...'  This isn't helpful...atta-boys come on payday. 
  • Encourage everyone on the team identify the one thing that works that we need to keep doing, and discuss if it's possible expand into other areas to improve other areas.  
  • At the very least, get everyone on the team to suggest one thing that the team could improve on to be more productive...creativity is critical here.  
  • Be critical of process and get people to examine one aspect of the process that everyone just does without thinking that doesn't really provide value and discuss ditching it.
Agile teams are intended to be self managed.  A manager's job is to ask questions like these every day, so it's now the team's job to do do it.

2.  Time Box The Meeting

Get someone on the team to mark the start time and stop abruptly at a pre-determined stop time...even if you are in the middle of a heated debate.  The meeting should never exceed 30 minutes, so do some quick math before you start to determine each member's time slice and stick to it.  If more discussion is needed on any topic, add it to a 'parking lot' list and set a time for another team meeting at least 24 hours earlier.  Give people a chance to think about it and time box that meeting too.

I've seen retro's go on for hours as finer points are debated which just adds to team frustration when things don't improve.

3.  Set Goals

Make sure that when the team comes up with an action item, it should be tied to a desired outcome.  Don't just set rules for the team to follow that don't add any value.  Ask yourself, 'Why would we do this differently?'  If you can't come up with a measurable outcome, then perhaps it isn't something that the team should consider.  This is harder than it sounds at first, but it will come with practice.

For example, someone on the team suggests "I've noticed that we all work through lunch and don't take a break...I think we should start to take lunch break every day."  While there is no doubt that this is a good rule to follow, the team should look at the reason this is important in terms of value and try and measure it.  Perhaps the team feels that taking a lunch break will make for more productive afternoons.  Perhaps the team feels that taking a lunch will make the team happier and less 'touchy' in the afternoons.  Whatever the reason, identify it and make it a point to review the 'outcome' as opposed to the 'input' to measure the teams success at self management.

I would even go so far as to say that the retro item be re-worded to say 'Improve the mood in the afternoon by taking lunch break every day'  This may even give another team member an idea of something to try to 'improve the afternoon mood'.