Managing the Complexity of Component Teams
Scrum teams usually develop iteratively new product features. In larger project, teams can also be organized around layers or components of the product. In this article, Mukesh Chaudhary discusses how to manage the complexity with Scrum component teams and integration of their deliverables to make up a feature.
He starts by describing the reasons to create component teams such as functionality that can be used by multiple products or the lack of skills needed to develop a full feature. This makes it more difficult achieve the benefits of Agile development like delivering workable software after each iteration. He proposes six hints on how to work successfully with components teams:
- A consuming component team (the component team that uses or “consumes” the deliverables of the other component teams) acts as the product owner of the producer team.
- Collaborate, define rules for engagement, and create a definition of done.
- Plan ahead.
- Use continuous integration strategy and automated tests.
- Embrace the Scrum of Scrums concept.
- Inspect and adapt.
The article discusses in detail each of these hints and conclude that even if feature teams are best equipped to deliver end-to-end features, this strategy should help to mitigate the risks associated with a component team environment.