Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News How to Debug Your Team: QCon London Q&A

How to Debug Your Team: QCon London Q&A

This item in japanese

Everyone asks what is the best way to get their team moving faster. Usually, the things that are actually stopping companies from moving at a fast pace of delivery are not architecture or tech debt.

Lisa van Gelder spoke about debugging your team at QCon London 2020, where she presented her toolkit for how to diagnose and address issues with a team’s pace of delivery. "It is all about ensuring they have mastery, autonomy, purpose and psychological safety", she said. She uses that toolkit to introduce change to teams in a way that gets the buy-in from the team.

Van Gelder’s suggestion is to approach improving the pace of delivery with a debugging mindset; take it as a puzzle to solve. There is a cause to it and it’s your responsibility to understand and address the causes of slowness on your team.

Some of her favorite techniques for introducing change are retrospectives, Nemawashi, and Kaizens or Improvement Katas.

InfoQ interviewed Lisa van Gelder, senior vice president engineering at Spring Health, about debugging teams.

InfoQ: What made you come up with the idea of debugging teams?

Lisa van Gelder: What do you do when software is slow? You debug it. What do you do when a team’s pace of delivery is slow, or they are not performing at the level you think they are capable of? Same thing! If you don’t understand what is preventing your team from being successful, you won’t be able to fix it.

InfoQ: What things do teams need to become high performing?

Van Gelder: I find the book Drive by Daniel Pink to be a useful framework for debugging teams - usually when a team is doing something unexpected it is down to lack of one or more of these things:

  • Mastery: Are people in the right jobs? Do they have the skills they need? Is their path to progression clear?
  • Autonomy: How much control does the team have over how they solve problems?
  • Purpose: Is it clear why the team is working on these problems? Is everyone working towards a common goal?

To that list, I also add Safety, which comes from Google’s research into high performing teams. A team that doesn’t feel safe won’t take risks or go for stretch goals; a team that doesn’t feel safe will cover its’ ass.

InfoQ: How can we diagnose what is happening on a team?

Van Gelder: Some of my favorite techniques to gather data & understand what is happening on a team:

  • I ask open questions of everyone, eg:
    • What do you most like doing?
    • What do you not like doing?
    • What takes up too much of your time?
  • I shadow ceremonies (standup, planning, grooming)
  • I pair with engineers, like in pair programming
  • I use retrospectives to understand what the pain points are of a team

InfoQ: What are your favorite techniques for introducing change?

Van Gelder: Some of my favorite ones are:

  • Retrospectives: The team tells you what their top pain points are. They’re super motivated to fix them & will come up with their own ideas for what changes to introduce.
  • Nemawashi: Laying the foundation for some proposed change or project, by talking to the people concerned, and gathering support and feedback before introducing a change.
  • Kaizens: Small experiments that lead to continual improvement. Also known as the Improvement Kata.
  • Give engineers the power to control change: Change is scary if it is done to you, as opposed to you being part of the change.
  • Reward feedback: Change works best if people are honest with me about what works; thank people when they give you hard feedback.
  • Admit when I’ve made a mistake: I’m going to make mistakes & as a leader, people look to me for how to act when something goes wrong. I’ll talk about it openly & explain what I learned.

InfoQ: What can happen if organizations don’t give teams what they need to be successful?

Van Gelder: They behave in unexpected ways. Some examples:

  • They hide around the building and there are times where you don’t know where they are or what they are doing
  • It takes longer & longer to release anything to production
  • Every release adds a large number of bugs, and teams never seem to fix the bugs
  • There are constant fires in production
  • All the members of the team resign

InfoQ: How do we instill a sense of urgency in the team?

Van Gelder: Don’t try. Give teams a clear purpose, explain why what they are working on is important, give them the autonomy to solve problems, remove the blockers to them getting their work done, and they will reach a good pace of delivery.

Rate this Article