Autonomous teams still need our guiding hand
We all preach the gospel of self-organizing teams. Gone are the days when managers assigned tasks to their people. Engaged and empowered teams are the future.
We want to get a team into a position where they can organize their own workflow while delivering quality products and keeping their promises to stakeholders.
Anyone who's seen such an autonomous powerhouse doesn't want to return to the days when the manager played their team like a conductor plays their orchestra. Creating, assigning, and following up on individual tickets is a counterproductive slog. When we experience the alternative, we understand that a team can do that job much better than an individual manager.
But getting to such a mature team takes effort and time. And during this learning curve, we still need to deliver software. We can't just step back and hope for the best. We can't just kick a team from the nest of top-down management to the grass-roots of self-organization! They would crash. We need a controlled landing, and there are multiple ways of doing that.
Most boil down to the manager gradually releasing their control. They might still write the epics but will ask their devs to write the user stories themselves from now on. This teaches the team to take more ownership while still giving the manager plenty of control.
They might appoint a captain to take the lead in a certain feature, distributing the leadership load.
Whatever the approach, it comes down to gradually relinquishing managerial control.
Managers need a degree of control over their teams. It’s a spectrum ranging from total laissez-faire on the one hand to control-freak micromanagement on the other. Both extremes are unsuited for most teams.
We use this control to steer our teams in the desired direction. Without that, teams wouldn’t stick to the plan. They wouldn’t deliver the stakeholder’s expectations.
In micromanaged environments, the manager is very involved with their team member's day-to-day tasks. In autonomous teams, the manager backs off. They no longer write and assign tickets. They set clear goals and motivate the team to accomplish those. And when that works, it's as productive as software development gets!
But here's the thing: that only works in those experienced, well-oiled powerhouses. When a team is not yet in that state, backing off completely is the worst thing a manager can do!
Teams need and want the right level of managerial control. That might be swearing in the Agile church, but it's our industry's dirty little secret. That doesn't mean people want to be micromanaged. It means our teams demand the right level of support from us. If devs are used to getting 10-page feature specification documents, they'll panic when we suddenly give a one-line User Story. That's falling down too fast, too soon!
Over my career, I have made the all-too-common mistake of letting teams too free, too early. The results are horrible. Developers feel unsupported, stakeholders lose trust, and the quality of the product plummets. As a manager, it felt like I wasn’t doing my job because, frankly, I wasn’t.
A manager needs to control the landing from command-and-control to autonomous teams. They need to support the controlled descent. If they don't get the right amount of grip, the team will crash. When a manager takes insufficient control of a team, they need to correct that mistake and get more hands-on. They can't hope for the team to “catch up”.
When our team starts losing focus, we must step in. Don't swing all the way to micromanagement, but don't feel bad about asking whether we really ought to be working on that ticket that doesn't contribute to the sprint goal.
When we’re slipping on our stakeholder commitment, we should speak up. When support tickets start piling up, we should point that out.
The transformation from a command-and-control software factory to a self-driven powerhouse doesn’t magically happen because managers give up control overnight. It’s not a decision. It’s a growth process for the entire organization that we need to support and nurture.
And that means letting go and taking control whenever needed. Backing off or getting hands-on at the right time. Going too far and correcting those mistakes.
There will be periods when the team is cruising along fine without us. There will be moments when we need to intervene.
It’s never a linear process.