Team Topologies (Stream-Aligned Teams)

Created on 2022-07-14 05:45

Published on 2022-07-14 05:50

What are Stream-Aligned Teams?

According to Matthew Skelton, an organization has four types of teams. The first and perhaps the most important one is Stream-Aligned Teams. For this, first, let's understand what a stream is. 

In simple terms, a stream is a flow of work to accomplish a purpose or goal associated with a particular domain. Different kinds of stream-aligned teams can coexist together. Examples include customer streams, product streams, geography streams, etc. 

Stream-aligned teams are called so because the teams are built based on the goals of the stream for which they work. These Goals could either be found in the above-given examples or on a single set of features, a user journey, or something else. 

Stream-aligned teams are the most crucial team because it works across almost all stages of the product delivery lifecycle. They are also the team closest to customers, so the stream-aligned team can quickly incorporate any input or modifications from their end. 

Even if loopholes, bugs, or any issues are spotted during the process, they can be corrected as well. The short turnaround on findings is one of the biggest pros of having stream-aligned teams.

Another advantage is that these teams are not created or seen as teams who work on fleeting projects. The organization backs these for the long-term to ensure a constant flow of work for them to deliver. 

A simple example would be the way customers interact with brands. People don't use just a single channel. There are quite a few channels that act as touchpoints. So, to have a consistent response in terms of quality and promptness, it is only valid if a team works on it to sustain the current channels and experiment with newer ways to enhance their experience. 

This experience is precisely why stream-aligned teams are essential. The team isn't being divided based on their function but on what purpose they serve. Therefore terms such as 'product teams' are going out of style because of the expanse of work that comes with managing a product after its delivery. 

Usually, any team would need to have the following capabilities:

  1. Application security
  2. Commercial and operational viability analysis
  3. Design and architecture
  4. Development and coding
  5. Infrastructure and operability
  6. Metrics and monitoring
  7. Product management and ownership
  8. Testing and quality assurance
  9. User experience (UX)

To reiterate one of the things I mentioned in an earlier article, this doesn't mean that an individual is assigned to each capability. Instead, the team needs to be a combination of specialists and generalists. No matter what they are trying to build, explore, or solve, as a team, they can come together with a clear perspective and the ability to create a solution. 

However, even stream-aligned teams need others to support them, despite being largely independent. In the upcoming articles, we'll look more into this, where we discuss the remaining three types of teams.