The goal of this post is to inspire discussion. I pose a question, and I’d love to hear your thoughts. Links to articles and books are appreciated.
Imagine you get together with a couple good (motivated) friends and embark on a challenging, temporary mission together. The mission requires expertise, discipline, collaboration, and continuous improvement. You’ve done something somewhat similar before. And there are a number of moving parts — many beyond your control, and some only marginally within your control.
Everyone wants to see this *thing *happen. The team is humble and open minded, and is open to reflecting on how things are going, and making tweaks when necessary. Perhaps most importantly for this thought exercise, the team is “flat” in the sense that no one is responsible for managing other people.
Now, I’d like you to consider some things the team might want to do:
- Figure out where everyone is spending their time to collectively make sure they’re focusing energy in the right direction
- Critique each other’s work
- Change direction when something isn’t working
- Sit through an extended collaboration session (aka “meeting”)
- Visualize “small stuff” work that might be getting in the way
- Do a rough back-of-napkin estimate for some piece of the puzzle
- Tweak working agreements
- Call someone out for being a jerk (and then move on) All seems pretty reasonable for a day’s work in this scenario. Let’s assume that in the case of your merry band … all of this is “OK”.
Now consider what happens when you do these things with “normal” software development teams (I’m speaking very stereotypically here, but you get the idea). Tracking time is micro-management personified. Team members are cautious about providing feedback. There is writing on the wall that something is doomed, but politics makes it difficult to disengage. Meetings “suck”. There’s hidden work, because people don’t want to waste their time surfacing it, or are scared to. Estimation is a game. Direct interpersonal conflict is avoided at all costs, and instead gets lodged as complaints to management during 1:1s. I’m sure you can list more…
This is the question I’m mulling over today. What exactly happens to turn #1 into #2? Is it a function of …
- scale and dependencies?
- caliber of team members?
- trust and safety?
- hierarchal reporting relationships?
- who is held accountable for making decisions?
- distance to decision makers?
- skin in the game?
- accumulated gripes and awkward stalemates?
- the desire for people to keep their full-time jobs?
- local optimization by middle managers?