My first experience with Spotify team health check

My first experience with Spotify Team Health Check

For some time I was thinking about checking my team's satisfaction (or health) in more scientific way than using the best method ever - "just talk", or collecting information from individual people via one on one sessions. Previously I was using some satisfaction surveys - with quite good effect. However this time I wanted to go for more and make this exercise more interactive, closer to people. I was hoping to get better response, more honesty and openness than in case of online/email survey. While looking for more interactive way I came across Spotify's Squad Health Check, an interesting tools which I decided to experiment with.

The method is based on physical meetings, but there are easy ways to conduct these procedures online – so don’t worry, you’ll be able to make use of it even working from home!

What it's all about?

You can read this Health Check as replacement for satisfaction surveys or even classic maturity models. It tries to respond to a question: "how the team is doing?" What is important here - it's not about grading, comparing, progressing through next levels (like in case of classic maturity models) - it's focusing on the team, as well as main audience for this method is the team. Team (or Squad in Spotify terms) Health Check is a systematic approach which helps to visualize 'health' of the team covering multiple areas like: teamwork, learning, speed etc... 

When to use it?

As I mentioned above there are multiple areas where this approach may be useful. 
  • You can treat this as replacement for satisfaction checks - it's more interactive and definitely more fun than online/email surveys. Areas for improvements and ideas how to improve them also surface in more natural way - during discussion
  • You can also perceive this as interesting element of Agile maturity model. Default selection of areas to discuss, covers decent portion of areas of agility. There are no levels, no progression but if you collect information from multiple teams across your working group or organization you will get current 'state of the play' in quite easy and natural way
  • You can also use this as approach for retrospective session. In fact it's different than standard scrum retrospective, it does not focus only on last sprint and areas for discussion are described in advance. 

Why to use it?

  • build self-awareness of the team
  • facilitate Agile inspect-and-adapt loop
  • learn more about current state of Agile in the team/organization
  • spot issues earlier and figure out improvement points together
  • expand perspective for the team

How to use it?

Preparations

You will need the following resources to play our game:
- time :) - around 2 hours
- whiteboard or flipchart - I do prefer flipchart as after all is done you can take paper sheet with you and for example place in visible place in your project/team room
- printed version of areas (along with example of awesome/crappy) and traffic lights (you can download from here https://engineering.atspotify.com/wp-content/uploads/sites/2/2014/09/squad-health-check-model2.pdf)
- markers and pens
- sticky notes

Plan vs reality

My initial plan was to go through the following steps:
1. Intro
2. Gather data - voting for categories using traffic lights cards
3. Generate insights - talk about each of the results and discuss specific insights
4. Work on improvement points

But honestly speaking the reality was a little bit different and during course of discussion points 2-4 (in vast majority 2-3) were mixed together and we had to dive deeper into discussion on specific points while trying to resolve diversity and disagreement on specific areas. In my opinion this is not a bad choice and it's good that discussion emerges naturally. I don't think that following a plan by all cost is good choice here. Sometimes is better to go with the flow. 

Collecting the data

Health check gives us ability to discuss set of pre-defined health indicators. Default set consists of 11 areas but team can add and remove areas as per their needs. To facilitate discussion we can use deck of "awesome cards" - each card has "example of awesome" and "example of crappy" for given area/category. 

Let's have a look at sample deck (taken from spotify labs)

AreaExample of AwesomeExample of Crappy
Easy to releaseReleasing is simple, safe, painless & mostly automated.Releasing is risky, painful, lots of manual work, and takes forever.
Suitable processOur way of working fits us perfectlyOur way of working sucks
Tech quality (code base health)We’re proud of the quality of our code! It is clean, easy to read, and has great test coverage.Our code is a pile of dung, and technical debt is raging out of control
ValueWe deliver great stuff! We’re proud of it and our stakeholders are really happy.We deliver crap. We feel ashamed to deliver it. Our stakeholders hate us.
SpeedWe get stuff done really quickly.No waiting, no delays.We never seem to get done with anything.We keep getting stuck or interrupted. Stories keep getting stuck on dependencies
MissionWe know exactly why we are here, and we are really excited about itWe have no idea why we are here, there is no high level picture or focus. Our so-called mission is completely unclear and uninspiring.
FunWe love going to work, and have great fun working togetherBoooooooring.
LearningWe’re learning lots of interesting stuff all the time!We never have time to learn anything
SupportWe always get great support & help when we ask for it!We keep getting stuck because we can’t get the support & help that we ask for.
Pawns or playersWe are in control of our destiny! We decide what to build and how to build it.We are just pawns in a game of chess, with no influence over what we build or how we build it

For each question team is asked to decide if they are closer to awesome or crappy. We used "traffic lights" cards and team voted similarly to planning poker. In case of disagreement we discussed each point more and were seeking for common ground. We also discussed the trend - if it's stable, getting better or worse...

For definition of each "light" we followed more or less this one:

- Green - not perfect (it's never perfect) but team is happy with this
- Yellow - not a disaster, despite some points for improvement
- Red - very bad situation, things need immediate improvements



As I said above in many cases there were a lot of discussions emerging from voting. You will get lots of very valuable insight generated during seeking for agreement on color as well as during defining the trend for each area.

Work on improvement points

Potentially you will get lots of areas where some improvement is needed as well as lots of ideas how to improve. Generally I would suggest to follow "baby steps" principle and do not get to wild in committing to improvement points. There might be a good idea to vote on most important areas to improve (let's say - select two areas) and choose best ideas only for two selected categories.



How often do repeat this exercise?

Whole exercise is pretty demanding and requires few hours of involvement from all team members. I think it's good idea to start with repeating this every 1-2 months. 

How to do this online?

Ok, but how to do this when you're working from home? There are several tools available on the web but you can go wild and create your own solution fully tailored to your needs. If it comes to tools available on the web you can use for example:

Squad health check online - https://squadhealthcheck.info/
This tool support the method in vanilla way. You can go through configuration of categories and examples and publish to other participants using generated "sharing link" or QRCode. Once everybody vote to all categories system will automatically calculate results and show to everybody. Tool is very simple and looks great but you are not able to go one by one and discuss categories before submitting final results. System calculates it automatically so you are not able to adjust result after discussion. In my opinion it takes decreases the importance of discussion a little bit. 

This tool is part of Team Retro platform which offers a lot more retros and team satisfaction formats. Tool look nicer and more professional than previous one but you have to pay for it. Results are displayed in "radar" format which is not fully in line with original version of method. This type of representation resembles more sophisticated maturity models. Similarly to previous one, results are calculated automatically and you are not able to adjust results after discussion. 

- Home grown solution
I would like to present you also home grown solution which I prepared using google docs. It's not as nice and sophisticated as other apps. It's not an app at all. This is just very simple spreadsheet supporting the discussion you want to have with your team. Document is publicly available, so please feel free to copy and use it in your work. 

Link to document: 



For voting you can use multiple ways as well:
- simple approach - all participants show "traffic light" cards to webcam - simple sticky notes in green, yellow and red color will work as well
- "techie" approach - use one of customizable voting platforms. I experimented with platform for planning poker Pokrex. You need to create your own voting scheme covering colors which you will use as well as write down all areas as elements to vote against. Sample voting room on pokrex available here: https://pokrex.com/rooms/team-health-check-test (please do not edit or work on this - it's more for inspiration)

Wrapping up...

Me and team found this approach very interesting and useful one. In teams reception it is better than online or email surveys. I found lots of honesty and openness  from the team side. 

Some tips and tricks for the end?

- if you have multiple teams - do not try to compare them. This tool is not for comparison and attempt to compare teams based on results will lead to the situation when whole approach will fall apart
- make sure you explained your rationale behind that. Team need to understand and agree why this exercise is undertaken. You need to emphasize that the whole model is about learning, self-awareness and improvement, not about judgement and comparisons
- follow up - both on action points as well as on how the approach is useful. Make sure that this is still helping the team to improve. Avoid following it blindly just for the sake of effort you did to introduce this


References

Below several interesting pages:
Health checks for teams and leadership: Health checks for Teams and Leadership

Comments

Popular posts from this blog

Lean Coffee - simple solution for engaging meeting

Retro for beginners with RetroKit