About Team Topologies and Context Mapping

About Team Topologies and Context Mapping

The concept of Team Topologies, as depicted in the book written by Matthew Skelton and Manuel Pais, is getting worldwide attention. The focus on team structure and purpose is opening interesting discussions and many organizations are adopting the model as a reference for their development teams organization. The pros and cons of the different approaches.

One team per BC

The perfect choice seems to be one team per bounded context. One team, one bounded contexts. Seems the way to go on paper.

Three interaction modes

Collaboration: two teams working closely toward a common goal

What’s left out

Organization size

Fracture planes

Ideal places for cutting the system into loosely coupled bounded contexts and to effectively split responsibilities between teams

Context Mapping Patterns

Strategic Domain-Driven Design offers an interesting point of view on the same problem space, but with different constructs

One team, multiple Bounded Contexts

The only way to achieve good separation is to explicitly enforce it: from big visible maps, to segregation of the codebase.

The problem space is largely uncharted territory

Teams growing in size will have to be split and competences will become more narrowed and specialized

A journey, not a destination

The most important outcome of the discussion around Team Topologies nowadays is about what a good desirable state looks like

Team Topologies categorizations

Stream Aligned: Team focused on a specific business capability, ideally cross-functional

Collaboration Patterns

Partnership: two teams are mutually dependent and collaborating towards a common goal

Satellite concepts

Since the early days, I enjoyed the ability of Context Mapping Patterns to capture the cost of the different approaches on different currencies.

More teams, one BC

Can we have two teams working on the same model?

Are Bounded Contexts Teams?

No, bounded contexts are defined like the limit of applicability of a given model.

Present or Future State

Team Topologies provides a reference towards a desirable to-be state while DDD context mapping provides more fine-grained patterns for assessing the current state.

Choices have consequences

Collaborations are costly and these costs need to be properly accounted for

Have you been spotified?

Most nontrivial software development organizations experience some kind of friction in this space.

Source

Get in