We love to embrace the change and our organization is continuously evolving. In such dynamic context it is important to be aware about the most common team archetypes to not create dysfunctional organizations. In such area we align with the theory coming from TeamTopologies that we report here to be more effective (directly from the book, summarized and generalized).

Stream-Aligned Team

A "stream" is the continuous flow of work aligned to a business domain or organizational capability. It requires clarity of purpose and responsibility so that multiple teams can coexist, each with their own flow of work.

A stream-aligned team is a team aligned to a single, valuable stream of work. The team is empowered to build and deliver customer or user value as quickly, safely, and independently as possible, without requiring hand-offs to other teams to perform part of the work. The stream-aligned team is the primary team type in an organization, and the purpose of the other fundamental team topologies is to reduce the burden on the stream-aligned teams.

Because a stream-aligned team works on the full spectrum of delivery, they are, by necessity, closer to the customer and able to quickly incorporate feedback from customers. In a complex organization different streams can coexist: specific customer streams, business-area streams, geography streams, product streams, user-persona streams, or even compliance streams. A stream is a micro-enterprise within a large firm, with an independent focus and purpose.

Capabilities within a Stream-Aligned Team

  • Design
  • Delivery
  • Operability
  • Monitoring
  • Ownership and management
  • Quality assurance
  • User/Customer experience
  • Prioritization

Expected behaviors

  • Produce a steady flow of change
  • Correct based on feedback
  • Constantly learn and adapt
  • Minimal ( ideally zero ) hand-offs of work to other teams
  • Have time and space to address quality
  • Proactively and regularly reaches out the supporting fundamental-topologies teams
  • Strive to achieve "autonomy, mastery, and purpose"

Enabling Team

High performing teams are continuously improving their capabilities in order to stay ahead. But how can a stream-aligned team with end to end ownership find the space for researching, reading about, learning, and practicing new skills ? Stream-aligned teams are under pressure to deliver and respond to change. An enabling team is composed of specialists in a given domain, and they help bridge this capability gap. Such team cross-cut to the stream-aligned teams and have the required bandwidth to research, try out options, and make informed suggestions on tools, practices, frameworks, processes. This allows the stream-aligned team to acquire and evolve capabilities without having to invest the associated effort. Enabling teams have a strongly collaborative nature; they thrive to understand the problems and shortcomings of stream-aligned teams in order to provide effective guidance. Enabling teams actively avoid becoming "ivory towers" of knowledge, dictating technical choices for other teams to follow, while helping teams to understand and comply with organization-wide technology constrains. This akin to the idea of "servant leadership" but applied to team interactions rather than individuals. The end goal is to increase the autonomy of stream-aligned teams by growing their capabilities with a focus on their problems first, not the solutions per se. If an enabling team does its job well, the team that is helping should no longer need the help from the enabling team after a few weeks or months; there should not be a permanent dependency on an enabling team.

Expected behaviors

  • proactively seeks to understand the needs of stream-aligned teams, establishing regular checkpoints and jointly agreeing when more collaboration is needed
  • stay ahead of the curve in keeping abreast of new approaches, tooling and practices, well before the actual needs of stream-aligned teams
  • act as a messenger of good and bad news related to the technology life cycle
  • occasionally act as a proxy for external (or internal) services that are currently too difficult to be used directly
  • promote learning across stream-aligned teams, acting as curator and facilitator for knowledge sharing

Enabling team versus Communities of practice Both enabling teams and communities of practice (CoP) can help to increase awareness and capabilities within other teams. The members of an enabling team work on enabling activities, whereas a CoP is more a diffuse grouping of interested individuals from across several teams, with an aim to share practices and improve working methods on a periodic basis. CoP create the right environment for social learning, experiential learning, and a rounded curriculum, leading to accelerated learning for members. Enabling teams and CoP can co-exist because they have slightly different purposes and dynamics: an enabling team is small, long-lived group of specialists focused on building awareness and capability for other teams at any point in time, whereas CoP usually seeks to have a more widespread effects, diffusing knowledge across many teams. Of course enabling teams can also have their own "enabling-teams CoP".

Complicated-subsystem Teams

A complicated-subsystem team is responsible for building and maintaining a part of the system that depends heavily on specialist knowledge, to the extent that most team members must be specialists in that area of knowledge in order to understand and make changes to the subsystem. The goal of this team is to reduce the cognitive load of stream-aligned teams working on systems that include or use the complicated subsystem.

A complicated subsystem team is created only when a subsystem needs mostly specialized knowledge. The decision is driven by the cognitive load, not by a perceived opportunity to share the component.

Platform Teams

The purpose of a platform team is to enable stream-aligned teams to deliver work with substantial autonomy. The stream-aligned team maintains full ownership of building, running, and fixing their domain. The final goal of a good platform is to simplify the stream-aligned user's life and to reduce cognitive load.

Expected behaviors

  • use strong collaboration with stream-aligned teams to understand their needs
  • rely on fast prototyping techniques and involve stream-aligned members for fast feedback
  • strong focus on usability and reliability for their services
  • lead by example, using the services they provide internally, partnering with stream-aligned teams and enabling teams.
  • understand the adoption of new tools and technologies is not immediate, but instead evolve along the adoption curve

Teams interaction modes

There are three fundamentals ways teams can collaborate:

  • Collaboration: working closely together with another team
  • X-as-a-service: consuming or providing something with minimal collaboration
  • Facilitating: helping (or being helped by) another team to clear impediments

In addition a team can use two different interactions modes. But there are implicit restrictions in the interactions modes that a team archetype can adopt.

Stream-Aligned

  • Collaboration: typical
  • X-as-a-service: typical
  • Facilitating: occasional

Enabling

  • Collaboration: occasional
  • X-as-a-service: -
  • Facilitating: typical

Complicated sub-system

  • Collaboration: occasional
  • X-as-a-service: typical
  • Facilitating: -

Platform

  • Collaboration: occasional
  • X-as-a-service: typical
  • Facilitating: -

Our team organization

Miro Board for Team Topologies in Engineering department

results matching ""

    No results matching ""