The best teams I’ve worked with are autonomous and extremely customer-focused. You can trust them to do the right thing because they know what the priorities are. Everyone feels empowered to interact with stakeholders to resolve issues and drive projects to success. The individuals on the team feel they are accountable for what they work on and they feel psychologically safe to raise issues and ask questions.
The best teams I’ve worked with need little to no management, just transparency, clear goals and trust. They need space to continuously improve and the right signals from the leadership so that they can reassess and adjust often.
While straightforward at a glance, this introduction condenses so much about what I believe successful engineering organizations should strive to build and foster. Therefore I want to dig deeper into a few of the aspects I just mentioned.
… they know what the priorities are.
Knowing what the priorities are is not trivial at all. It requires that the organization is transparent and has a clear vision on what the goals are. The leadership team has a huge responsibility here. Companies need to adapt fast to changing conditions so, priorities might get shuffled often. Leaders navigating through significant priority shifts owe clarity to their teams on how work in progress should change.
Priorities are hard to get right because signals come continuously into the organization from various sources. The organization needs to be deliberate about balancing its own vision with the external signals and adjust accordingly.
When new goals arise there might be a tendency to just add one more important thing to the plate and not being explicit about the work that needs to be dropped. But in reality you can’t expect your team to handle more work with the same capacity, right?
Successful organizations, are deliberate about this: they don’t pretend that the new priorities won’t have an impact on existing ones; they make a call about what should be dropped.
I don’t want to normalize leaving in-progress work unfinished but I also want to highlight that it’s important to be able to do so when appropriate. This might happen upon critical events dramatically affecting the path of the company going forward. When these, occasions present themselves it’s important not to fall victim of the sunk cost fallacy but rather make the hard decisions early.
Morale and productivity
That being said, priorities shifting continuously affect morale, productivity and developer happiness. Teams should be given the chance to finish their work as much as possible. Shipping early and often helps minimize the chances for having to drop a whole project half-way through it. A continuous tension towards an iterative, MVP-driven approach helps organizations stay leaner in the face of change. Small chunks of testable and valuable work can facilitate faster feedback loops and help organizations react faster.
Finally, clear priorities help teams make judgement calls easier and organize their capacity around them more effectively.
The best teams I’ve worked with feel empowered to achieve their goals by pursuing the path that best works for them.
Clear goals let the teams focus their energy entirely on how to achieve them. Empowerment facilitates autonomy and reduces the opportunities for friction when the teams are faced with unforeseen conditions.
There is a great book by General McChrystal called Team of Teams that highlights the benefits of autonomous sub-organizations when they are empowered to self organize around clear goals.
The temptation to lead as a chess master, controlling each move of the organization, must give way to an approach as a gardener, enabling rather than directing. A gardening approach to leadership is anything but passive. The leader acts as an “Eyes-On, Hands-Off” enabler who creates and maintains an ecosystem in which the organization operates.Stanley McChrystal, Team of Teams: New Rules of Engagement for a Complex World
Clarity enables autonomy and reduces the need for continuous synchronous interaction, facilitating the ability to react to the unforeseen fast, making autonomous decisions that still safeguard their north-star goals.
I want to stress that organizations need to balance synchronous and asynchronous work deliberately as opposed to only embrace one mode. For example, recurring synchronous check points help raise blockers and solidify a shared understanding on what the focus is currently on.
The best teams I’ve worked with feel accountable for their work. They understand the importance of what they’re building, why they’re building it, what the customer problems are and what the expectations are around time frames.
They raise issues early, suggest options, they don’t wait to be told what to do, they proactively reach out to the stakeholders to understand how to mitigate issues. The best teams are able to articulate successes and failures.
Accountability enables a shared understanding and facilitates managing expectations. Leaders should facilitate accountability by putting in place opportunities for communication. Recurring check points for teams and the opportunity to share about progress, plans and issues are, in my opinion, the best way to foster an accountability mindset.
Check points are not enough to foster accountability, though. If you mandate accountability instead of creating a psychologically safe environment to be accountable within I don’t expect much good coming out of it.
A psychologically safe environment enables individuals to be transparent and not hold back when issues arise. Raising issues early helps identify alternatives promptly and minimize the impact they might have. In a psychologically safe environment communication happens easily because everyone is doing the best they can with the tools they have in the context they operate.
Psychological safety is one of the five ideals of the Unicorn Project written by Gene Kim but has also recently been highlighted as one of the human factors that contribute to productive organizations in the DevEx research paper.
The best teams I’ve worked with are autonomous. They are self-sufficient and have all the capabilities required to do the work required to meet their mission. They have the freedom to choose the technologies that best fit the problems they want to solve. Processes and practices are not mandated by the wider organization but rather the team can define their own that best suit them at any given time.
Autonomous teams strive to have all the capabilities they need to deliver on their mission internal to the team. A product owner, a lead engineer, developers, QA engineers, infrastructure engineers, data analysts, designers, for example.
Undeniably, some roles in the team might not be fully allocated to the team but rather shared or floating. Let’s take an Infrastructure Engineering capability as an example. Autonomous teams should be able to spin up the infrastructure required to achieve their goals without having to outsource this work to a dedicated Infrastructure Team. For this reason, while the team, to be autonomous, needs infrastructure engineering capabilities, it doesn’t necessarily need an Infrastructure Engineer fully allocated to the team.
In my experience, an Infrastructure Team works on building the enabling tooling that let application development teams be autonomous at delivering their software to production. Continuous interaction between the application development and the infrastructure teams inform the latter on priorities on the required tooling. This type of interaction is not one-way.
The Infrastructure Team in my example probably fits the definition of the Enabling Team provided by the book Team Topologies:
An enabling team is composed of specialists in a given technical (or product) domain, and they help bridge this capability gap. Such teams cross-cut to the stream-aligned teams and have the required bandwidth to research, try out options, and make informed suggestions on adequate tooling, practices, frameworks, and any of the ecosystem choices around the application stack.Team Topologies, Matthew Skelton and Manuel Pais
The best teams I’ve worked with seek to continuously improve. They are given the opportunity to reflect on their work, be honest about what worked and what not and be free to change the way they work to best suit the context they operate in.
Leaders need to curate the environment and the context teams operate within so that they can safely experiment and continuously seek improvement opportunities.
I consider psychological safety a prerequisite to any continuous improvement opportunity that starts from the individual. The members of the team should feel empowered to raise what’s not working, recommend alternatives, take part into decisions and generally feel involved in the work. This approach facilitates fulfillment and joy of work which ultimately translates into more valuable outcomes.
An organization that fosters continuous improvement is one that will be able to adapt fast to an environment that will surely change. Teams that embed reflection in their practices will be able to catch the right signals soon and adjust to them timely.
Teams should monitor their health signals continuously. Bug rate, cycle time, throughput are some indicators that can help the team understand if their way of working is effective or not. I would also include internal metrics such as meetings/focused work ratio and interrupts rate to get a comprehensive view of the environment the team is operating within. Analyzing both internal and external indicators the team can make informed decisions about how to improve its effectiveness.
In my experience the success of teams lies in their autonomy, customer focus, accountability, psychological safety, and continuous improvement. The best teams thrive when they are trusted to do what is right and are empowered to interact with stakeholders.
When individuals within a team feel accountable for their work and are supported by a psychologically safe environment, they are more likely to raise concerns, ask questions, and contribute their best efforts. This fosters a culture of collaboration and innovation, where everyone is motivated to deliver exceptional results.
Leadership plays a critical role in enabling the best teams. By providing the right signals and support, leaders create an environment where teams can flourish. With a focus on transparency, clear communication, and fostering a culture of continuous improvement, leaders empower teams to excel, reach their full potential, and consistently deliver value to customers.
Remember, the journey towards building the best teams is an ongoing process. It requires dedication, adaptability, and a commitment to continuous improvement. By embracing these principles, organizations can cultivate a high-performing team culture that fuels growth, fosters innovation, and propels the organization toward its goals.