In today’s fast-paced world, engineering teams need to constantly evolve and improve their practices to keep up with the demands of continuous software delivery. To achieve this at scale, Matthew Skelton, Team Topologies co-author and Director at Conflux and Benedict Steele, Chief Delivery Officer at Armakuni discuss how you can find and emphasise the good practices, how do teams know what good looks like and how you can assess these practices across tens or hundreds of teams on a regular basis.
The original video of the event can be found here.
Foundational Context
The foundation of our approach is based on two seminal books in the field of software delivery. The first is "Continuous Delivery" by Jez Humble and Dave Farley, which emphasizes reliable software releases through build, test, and deployment automation. This book has been instrumental in shaping effective software delivery practices over the past decade.
The second book is "Team Topologies," co-authored by Matthew Skelton and Manuel Pais. Published in 2019, it delves into the dynamics of organizational structures around software delivery, emphasizing the need for different team interactions at scale.
The Importance of Fast Flow
Modern software delivery requires a fast flow of continuous evolution and multiple streams of change. Unlike traditional IT projects that took months or years, today's approaches necessitate ongoing improvements across an organization. This fast flow environment demands diverse practices and techniques tailored to different teams and contexts.
Embracing Diversity in Practices
Expecting uniformity across all teams in a fast-paced environment is unrealistic. Different practices and techniques allow organizations to explore various opportunities and adapt to what works best in different contexts. Continuously trying out new techniques helps organizations stay agile and responsive.
Defining Good Practices
With many teams working on diverse projects, it's crucial to help them understand what effective practices look like. This involves spreading awareness and establishing benchmarks that teams can aim for, ensuring that improvements are consistent and aligned with organizational goals.
The Multi-Team Software Delivery Assessment (MSDA)
The MSDA is a holistic tool that evaluates teams across several dimensions:
- Team Health: Assessing the well-being and functionality of the team.
- Flow of Work: Examining how work progresses through the team.
- Software Deployment and Operation: Looking at how software is deployed and maintained in production.
- Quality and Testability: Evaluating testing practices and software quality.
- Reliability and SRE Practices: Assessing the reliability of software and the presence of Site Reliability Engineering practices.
- Security: Ensuring security measures are in place and effective.
- Team Topologies: Analyzing team structures and their effectiveness.
By exploring these dimensions, MSDA helps teams identify blockers, establish improvement metrics, and accelerate change initiatives. It also fosters engagement by allowing teams to voice their experiences and challenges.
Benefits of MSDA
Implementing MSDA across organizations of all sizes and industries has shown numerous benefits:
- Discovery of Blockers: Identifying what hinders delivery and addressing it.
- Establishing Baselines: Understanding current conditions to measure progress.
- Accelerating Change: Enhancing ongoing initiatives with targeted improvements.
- Team Engagement: Creating an environment where teams feel heard and empowered.
- Organizational Insight: Providing leadership with a comprehensive view of team performance and identifying blind spots.
MSDA in Practice
MSDA has been successfully deployed in over 200 teams across various sectors, including finance, media, charity, health, and government. It has proven effective in diverse contexts, from small teams to large-scale enterprises, dealing with everything from AI/ML to mobile app development.
Teams can adapt MSDA to their specific needs, choosing relevant questions and discussing their applicability. This flexibility ensures that MSDA remains relevant and valuable across different scenarios.
Practical Tools and Resources for MSDA Implementation
To make the MSDA approach even more accessible and practical for teams, Agile Stationery has produced a set of printed cards that you can use to facilitate these assessments in a tangible and interactive way. These cards feature all the dimensions and criteria discussed in the MSDA framework and can be a valuable asset for in-person workshops and team discussions.
Engagement and Continuous Improvement
Experience has shown that teams highly value these sessions, finding them a useful opportunity to reflect, discuss, and plan improvements. Feedback has been overwhelmingly positive, with participants appreciating both the insights gained and the structured approach to addressing their challenges.
To maintain engagement and ensure continuous improvement, it's crucial to revisit these assessments regularly. This iterative process helps teams to track their progress, adapt to new challenges, and continue evolving their practices. By embedding these assessments into the regular cadence of your team’s activities, you create a culture of ongoing improvement and learning.
Customization and Flexibility
One of the strengths of the MSDA approach is its flexibility. While we provide a robust framework with a set of dimensions and criteria, it’s designed to be adaptable to your specific context. Whether you’re dealing with legacy systems or adopting cutting-edge technologies, you can tailor the assessment to focus on the areas most relevant to your teams.
For instance, you might integrate additional metrics like the Dora metrics or other key performance indicators specific to your organization. This customization ensures that the MSDA remains relevant and aligned with your strategic goals.
Final Thoughts
In conclusion, the Multi-Team Software Delivery Assessment is a powerful tool for driving improvement across large, distributed teams. By fostering shared understanding, promoting good practices, and enabling continuous learning, it helps teams to navigate complex delivery environments and achieve their goals more effectively. Whether you’re in government, media, or any other sector, the principles and practices discussed can help you build a more responsive, agile, and high-performing organization.