How Many CTOs?

How can engineering teams be organized for maximum effectiveness?

Short answer

Engineering teams can be organized for maximum effectiveness by aligning team structures with business challenges and focusing on clear metrics of success. This approach involves creating autonomous teams that can address specific business needs while maintaining a balance between velocity and cost.

Engineering teams can be organized for maximum effectiveness by aligning team structures with the specific challenges the business faces. This involves creating autonomous teams that can address distinct business needs while focusing on clear metrics of success, such as velocity and cost. The key is to balance these elements to ensure teams are both productive and aligned with business objectives.

Aligning Teams with Business Challenges

One of the fundamental approaches to organizing engineering teams is to align them with the high-order challenges that the business is facing. As Brad noted, "It depends on what the high order bit challenges that the business and team are facing in the moment" ▶ 3:26. This means that the structure of the team should be flexible enough to adapt to the stage of the software lifecycle and the specific business problems at hand.

For instance, when Brad and Scott worked together at 98.6, they observed the need to create distinct teams to tackle separate business problems. Brad explained, "We knew that there was this common substrate that the business wanted to go do multiple things" ▶ 8:33. This example highlights the importance of tailoring team structures to the unique demands of the business.

Balancing Velocity and Cost

Another critical aspect of organizing engineering teams is balancing the need for velocity with the constraints of cost. Scott emphasized the role of profitability in determining resource allocation, noting that less profitable companies might struggle to justify investments in platform teams that don't directly generate revenue. He pointed out, "The harder it is to explain to the business why you need to invest in these things that don't seem to really directly derive revenue" ▶ 6:25.

Brad and Scott discussed the concept of platform teams and how their success can be measured. They agreed that metrics such as cycle time and the happiness of application developers are crucial indicators of a platform team's effectiveness. Brad emphasized, "the cycle time of your application teams" is a key measure of whether the platform is delivering value ▶ 29:46.

The Role of Culture and Accountability

Culture and accountability are also pivotal in ensuring the effectiveness of engineering teams. Brad suggested that instead of solely relying on dedicated platform teams to manage shared resources, organizations could foster a culture where everyone values the commons. He stated, "You can create a culture where everyone values the commons" ▶ 18:57. This approach involves clearly articulating accountability for changes to code and creating processes that encourage collective responsibility.

Scott added that in less profitable businesses, the commons are often undervalued, which can lead to neglect of essential systems. He observed that engineers have an innate sense of when things are not working, even if they can't always articulate the exact problem. This awareness can be leveraged to maintain focus on the health of the commons and ensure that teams are aligned with business goals.

Measuring Success and Adjusting Strategies

To measure the success of engineering teams, Brad and Scott advocate for an outcome-centric approach. This involves setting clear targets for teams, such as reducing cycle times or operating within a specified cost budget. By focusing on these outcomes, teams are empowered to find innovative solutions to meet their goals.

Brad shared an example of how his organization is considering restructuring teams to improve effectiveness. He proposed dividing platform and infrastructure teams into two categories: those focused on generating velocity and those focused on operating within cost constraints. This approach allows for clear accountability and provides teams with the autonomy to decide how best to achieve their objectives. He explained, "Your job is to keep the system correct and operate the system within that budget" ▶ 34:01.

Conclusion

Organizing engineering teams for maximum effectiveness requires a strategic approach that aligns team structures with business challenges, balances velocity and cost, and fosters a culture of accountability. By focusing on clear metrics of success and empowering teams to innovate, organizations can create an environment where engineering teams thrive and contribute significantly to business success.