Optimizing for speed is more than a buzzword – it’s an imperative for tech teams to move fast and compete in complex markets. Yet, many organizations struggle with the concept, often misconstruing what it means. In fact, the phrase ‘optimizing for speed’ is perhaps somewhat misleading. When saying this, what we really mean is optimizing toward a wonderful synergy between speed and quality that culminates in the best possible outcome From years of experience in tech audits and due diligence projects, we’ve noticed a recurring theme: the root cause of inefficiencies often lies not in the technology itself, but in organization structures and processes. In this blog post, we break down what you should pay attention to when thinking through team structures that deliver great outcomes more efficiently.
Organize to Optimize
It's a common misconception that technical challenges always stem from technology. In most cases, the real issues are in how work is organized. Team structures, performance metrics, collaboration methods, and even objectives all play a role. Manuel Pais and Matthew Skelton wrote a book called ‘Team Topologies’, where they introduce a practical approach for creating organizational structures that enable teams to focus and work in fast flow. We would argue that Team Topologies is possibly the best book about software architecture that is not actually about architecture.
The book emphasizes the importance of structuring and interconnecting teams based on their communication and collaboration patterns to optimize delivery. The book identifies four fundamental team types: stream-aligned, complicated subsystem, enabling, and platform teams, and three interaction modes: collaboration, X-as-a-Service, and facilitating. The model allows organizations to navigate the complexities of modern software development by creating a dynamic, learning-based team ecosystem. It's not exactly a panacea, but does the job in providing the language and framework to start addressing your organizational bottlenecks.
Building value-driven teams
When the goal is a balance between speed and quality, what you are effectively aiming for is to deliver a high-quality product that meets end-user means quickly. The idea of these stream-aligned teams in Team Topologies is largely based on Conway’s Law – a principle that states that the design of any system is significantly shaped by the communication structures of the organization that creates it. In other words, the technical architecture of a software product tends to mirror the organizational structure of the team that developed it. This law highlights the impact of organizational communication patterns on the design and functionality of software systems.
Traditionally, organizational structures have been built around competence or business units (think: a backend engineering team working in its own silo on all backend projects). Separating frontend and backend teams in this way is outdated and inefficient, causing unnecessary communication overhead. Instead, we’ve found that the key to moving fast and getting rid of structural obstacles is to build teams around end-value. Tech companies such as Meta, among many others, operate just like this. Teams are structured around feature sets that deliver specific value, such as video uploading or even just a single button. This allows folks to move quickly with minimal external dependencies.
Success stories of these types of organizational transformations are not short stocked. Adidas, for instance, has changed its ways of working by shifting perspective from viewing, for example, departments as cost centers to recognizing them as value-producing entities. This change aligns with the Silicon Valley model where there is no clear division between IT and business. Teams in these environments are cross-functional, with designers, developers, AI specialists, and project managers all working together toward their north star.
Measuring is the first step toward increased efficiency
Building in the Silicon Valley way involves both fast and slow cycles, with an ever-evolving landscape of moving parts. Because of this, your first task will always be to figure out effective ways to measure productivity so that you have an active understanding of whether your team structures are working in the best possible way. This requires a deep understanding of digital product management and development, along with the know-how in applying the right tools that can help you gauge progress.
Frameworks such as DORA (DevOps Research and Assessment) and SPACE (Satisfaction and well-being, Performance, Activity, Communication and Collaboration, and Efficiency and flow) have proven to be highly useful in measuring productivity and improving team performance. DORA focuses on four key metrics to measure software development performance: deployment frequency (how often an organization successfully releases to production), lead time for changes (the time it takes for a commit to get into production), time to restore service (how quickly an organization can recover from a failure in production), and change failure rate (the percentage of changes to production that fail).
SPACE, a framework created by Nicole Forsgren along with collaborators from Microsoft, is broader than DORA – providing a multi-dimensional approach to assessing team effectiveness. It includes metrics like work item completion, code review practices, time allocation, and team collaboration, offering a comprehensive view of team health and productivity in software development.
We’re already seeing the seeds of how Generative AI tools will revolutionize product development. To leverage these new tools effectively, organizations will first need to understand their current state. Tools like DORA provide benchmarks and visibility into areas like manual testing, enabling organizations to identify and address inefficiencies.
Team structures that help you ship, learn, and win
To summarize: optimizing for speed is a multifaceted challenge. It requires a holistic approach that takes into consideration team structures, organizational goals, and measurement frameworks. By setting up value-driven, cross-functional teams and embracing rapid iterations and learning, you will be in a better position to ship, learn, and win.