To succeed in a competitive environment, stream-aligned teams must continually learn and improve their capabilities. But with constant pressure to deliver and respond to change quickly, how can a stream-aligned team with end-to-end ownership find time to do research, read about new skills, practice them, and then integrate the new knowledge into its service delivery?
An enabling team is composed of experts who bridge the capability gap between the stream-aligned teams and the technical (or product) domain. Such a team can provide valuable input and advice to the stream-aligned teams to help them acquire and evolve capabilities without having to invest as much effort or time in doing so.
Enabling teams are strongly collaborative; they thrive to understand the problems and shortcomings of stream-aligned teams in order to provide effective guidance. We would also like to call them “Technical Consulting Teams,” as these teams provide (guidance, not execution), whether internal or external to the organization.
An enabling team usually plays a key role in providing the stream-aligned team with the tools it needs to be successful. The enabling team might map to any of the stream-aligned team capabilities (user experience, architecture, testing), but often it focuses on build engineering, continuous delivery, deployments or test automation for particular client technology (e.g., desktop, mobile, web). For example, the enabling team might set up a skeleton deployment pipeline or a basic test framework by combining automation tools and some initial scenarios and samples.
Knowledge transfer can take place on a temporary basis (when a stream-aligned team adopts a new technology, such as containerization) or on a long-term basis (for continuously improving aspects, such as faster builds or faster test execution). Pairing can be quite effective for some types of practices, such as defining Infrastructure-as-Code.
Expected behaviors
The following are types of behaviors and outcomes to expect from an effective enabling team:
- An enabling team works together with stream-aligned teams to understand their needs, establishing regular checkpoints and agreeing when more collaboration is needed.
- Teams that enable other teams stay abreast of new approaches, tools, and practices in their area of expertise before an actual need is expected from stream-aligned teams.
- An enabling team serves as the messenger to announce both good news—such as a new UI automation framework that can reduce our custom test code by 50%—and bad news—such as the fact that Javascript framework X, which we’re using extensively, is no longer actively maintained. This helps management with the technology life cycle.
- The enabling team might occasionally act as a proxy for other services that stream-aligned teams cannot yet use directly.
- An enabling team promotes learning not only within the enabling team but across organizational stream-aligned teams, acting as a curator that facilitates appropriate knowledge sharing within the organization. It should consider itself as "the key learning function" of the organization.
The purpose of enabling teams is to help stream-aligned teams deliver working software in a sustainable, responsible way. Enabling teams do not exist to fix problems that arise from poor practices, poor prioritization choices, or poor code quality within stream-aligned teams. stream-aligned teams should expect to work with enabling teams for short periods of time (weeks or months) in order to increase their capabilities around a new technology, concept, or approach. After the new skills and understanding have been embedded in the stream-aligned team, the enabling team will switch its focus to a different team.
Reference
- Team Topologies: Organizing Business and Technology Teams for Fast Flow by Manuel Pais and Matthew Skelton