Topic of the Day: Feature Team vs. Component Team, and also the difference between a Product Team and a Feature Team! You asked for it, so here’s the article to shed light on this.
Feature Team vs. Component Team
Let’s start by looking at what a component team is. The component team was the most common team composition we could find in projects just about twenty years ago.
Each team is responsible for a specific component in the creation of a product. Different expertise areas were represented by separate teams. This required coordinating all these teams when implementing a new product: availability/capacity, prioritization of each team…
The image below shows a classic distribution of component teams within an IT department:
The business departments also had similar divisions based on areas of expertise.
What is a Feature Team / Product Team?
The concept of a feature team is very different, if not entirely opposed, in concept. Each team possesses all the expertise required to develop complete product features. Thus, the team will no longer need to rely on other teams to build the product.
However, what sets it apart from a product team (a more recent term) is that the product team works alone on an entire product, whereas feature teams work on complete features. We’ll get back to the differences shortly.
Here’s how a feature team might be represented, compared to the image explaining the distribution of a component team:
In this context, we assume that the team is self-sufficient in terms of production.
Furthermore, feature teams today tend to want to include the necessary business functions for product advancement. However, this concept is not yet widely applied within companies. Nowadays, teams appoint a product owner (a Scrum concept) who gathers business and user requirements.
Differences between Feature Teams and Product Teams
In general, we refer to feature teams when we have multiple teams working on the same product. This requires some necessary additions compared to a product team working alone on a product.
These teams will need to synchronize to distribute the features they are working on. This synchronization should be carried out in such a way that these two teams are as independent of each other as possible. This indirectly brings us into the concept of agility at scale (several agile teams working together).
Some may add a role such as a product manager to manage the overall product vision; this person will not be the hierarchical superior of the product owner.
A Few Notes
- The term “product team” is rarely used in the French-speaking world. Even if a team works alone on a product in an agile context, it’s often referred to as a feature team.
- In an agile context, the term “product team” is also known as an “autonomous delivery team.” In a different context, this term can have a different meaning. In older structures, the product team may represent the business team that determines the product to be developed ahead of the actual development work.