Building Exceptional Software Teams
For now:
Mind Map of Building Teams.canvas
Team Composition
This section is complete as of 03/30/2026
- Cross-Functionality: Cross-functional teams make a serious difference. They remove dependencies which can cripple productivity.
- Team Size: I've worked with exceptional teams that had 2 people and all the way up to 13+. These are some thoughts about the considerations that I have when forming a team and wondering how big the team should be.
- Skill Composition: When it comes to building high-performing software teams, you need the right composition of skills. This involves several considerations that I describe in detail.
- Stability: What does "Stability" have to do with teams? How will changes to the team's composition, processes, and more impact them?
- Skill Liquidity Assessment: When you're building teams you have to know the right mix of skills for success. The Skill Liquidity assessment that Cat Swetel taught me is perfect for this.
Practices and Principles
Leadership
The two introductions I'd recommend is Building Self Managed Teams and Managing Self Managed Teams. What follows are more specific topics that a well equipped leader needs.
- Measures, Metrics, and Signals: My thoughts and approach to developing measures, metrics, and signals for exceptional engineering teams and leaders. If this topic has always felt baffling, this will cover goal setting with metrics, leading and lagging indicators, developing useful leadership signals, and how to avoid chaos with balancing metrics.
- An Introduction to the Balanced Scorecard: -
- 1-on-1 Meetings: -
- How to accurately forecast a software team's performance: An introduction to using probabilistic forecasting to understand when a team will be done. Also included are notes on adding bugs, dependencies, multiple teams, and scope changes.