On leaderless teams
This article on Medium.
Leaderless teams tend to compensate by giving too much power excessively while failing to foster the accountability. This leads to people start taking shortcuts and break agreements to achieve results quicker. As a result, the trust within the team decreases, leading to more restrictions, requiring more empowerment.

In practice, the actions that are taken for empowerment can end up hurting engineers and their teams. Here are some common examples:
- Engineers who struggle to complete work are performance managed because the team has no effective collaboration and learning process.
- Engineers struggle when left to manage and organize a complex project with multiple stakeholders, many of them outside of the normal reach for their role.
- Engineers who struggle to adhere to a manager’s schedule to manage their project cannot find focus time to deliver software.
- Teams that struggle with unclear goals and misleading requirements since it is all being planned and organized by someone that has no experience in project management. And is given no help in learning it.
The leadership role of an EM is to shape the structure, while ensuring enough freedom for the engineers to execute within it.
While being overly focused on freedom will lead to pressure, focusing on an effective team will lead to a process that allows team members to have the freedom they need to be successful.
Some high-level steps that would work for any software engineering team:
- Observe and understand the systems around your team. What is the process from concept to production? How are projects and requirements defined? How is code produced and tested? The more you understand how the work works as a manager, the more capacity you will have to remove its bottlenecks.
- Stabilize your main team processes and make work visible. Align on what are the main high-level processes with your team members, document them, and keep the team in check about running them reliably. Make the work visible on your board, and constantly review how it’s progressing.
- Keep pushing for improvement and iteration. Work with your team to review and analyze how it is working. Experiment with improvements to reduce time cycle time.