Many of us are familiar with stand-up meetings. They help teams to focus and orient themselves to figure out what’s the most important thing to do next. In particular, they look at what needs to be done in the short term to accomplish an objective. They help teams to stay productive.
How might a team stay effective?
Let’s say that a team is effective if its productivity stays constant over time. This means/implies:
- The team is able to ship features and products at the same rate and quality.
- The team does so even as their scope of ownership increases over time.
- Total percentage of time spent on one-offs, fires, etc. stays constant.
I’d argue that this is Hard. Reasons include:
- Things—both software and processes—decay over time. They require effort, maintenance, and review to still be as useful over time.
- Being effective implies dealing with the biggest problems on your plate. Dealing with those problems involves awareness: knowing what those problems are in the first place!
- Effectiveness also involves prioritization. That in turn involves experience, expertise, and context, which varies across a team.
I’m proposing a new tool: the sit-down. It’s a casual, daily debrief. But instead of focusing on what you’ve accomplished, it’s a time to bring up things that are tedious, challenging, annoying, or frustrating. It’s also a time to bring up interesting tidbits that you’ve learned during the day.
There are a few keys here:
- It’s a time for people to share stories, vent, and bond. If people are opening up to each other, it’s productive.
- Keep it casual. Make it a habit, but don’t make it mandatory. Keep things light. Everyone won’t participate every time.
- Establish a norm—people can talk about things that suck and people should share tidbits they’ve learned.
The goals of sit-downs? Bond the team. Surface problems and annoyances. Learn (little) things.
For the team, that helps creates culture. You’re a team, working together.
For a leader (and insightful team members), this helps you figure out how to stay effective. What’s frustrating for people? What problems are recurring? Is a problem likely to be happening elsewhere? Sit-downs give you the information you need to figure out what to improve for the long run.
There are two other practices that a sit-down immediately reminds me of: retrospectives and pair programming. I think all three tools should be used in tandem.
A flaw I’ve seen with retrospectives is that people don’t always bring up things that can be improved. I suspect it’s because they’ve forgotten, or the item doesn’t seem significant enough, or they’ve just gotten acclimated to it. The idea with sit-downs is that they catch someone “in the moment,” helping them to recognize and surface more mild (seeming) issues.
It’s a similar story with pair programming. Pair programming helps people learn things by working with others, and are likely a more effective way (than sit-downs) to learn stuff. Sit-downs help capture things that came up when you weren’t pair programming.
Unfortunately, I’m currently not in a position to give these a try myself. If you give it a go, let me know how it works out!