Org design: team topologies
This course applies Conway's law and Team Topologies to a codebase with one contributor and ten bounded contexts. It measures which contexts depend on which, finding a shared core of Identity, Catalog and Enrollment and an Admin context that nothing depends on. It maps that shape onto the four team types and treats cognitive load as the main constraint. It also weighs what a boundary costs and provides for one person. It ends with triggers for splitting and a Ruby challenge that computes fan-in and fan-out.
What you'll learn
- ✓Conway's law, the inverse Conway maneuver and what the law predicts with one contributor
- ✓Measuring coupling between contexts by counting fan-in and fan-out
- ✓The four team types and how a codebase's shape maps onto them
- ✓Intrinsic, extraneous and germane cognitive load
- ✓What a boundary costs and provides, and the triggers for splitting or moving one
Conway's law and its inverse
Organizations ship their communication structure. The observation is nearly sixty years old and uncomfortably reliable, and the interesting part is what you do with it once you believe it.
Read the full lesson free →Curriculum
7 lessonsConway's law and its inverse
Explains Conway's law, the inverse Conway maneuver, and what the law predicts when only one person contributes.
The shape this codebase has
Counts files and cross-references per context, revealing a shared core and an Admin context with zero fan-in.
The four team types
Describes stream-aligned, platform, enabling and complicated-subsystem teams, then maps the measured contexts onto those four types.
Cognitive load is the constraint
Separates intrinsic, extraneous and germane load, and treats the ten boundaries as load management for one person.
What a boundary buys one person
Weighs what a boundary gives a single contributor, such as bounded reading and visible coupling, against its costs.
When to actually split
Lists triggers for splitting, starting with a second person, and names headcount and file count as non-triggers.
Putting it together
Summarizes the course and sets a Ruby challenge that reports fan-in, fan-out, extractable contexts and the core.