“Each team is full-stack and full-lifecycle: responsible for front-end, back-end, database, business analysis, feature prioritization, UX, testing, deployment, monitoring”
“But they also shouldn’t be too large, ideally each one is a Two Pizza Team”
Either that’s a team with some hugely diversified skills, or that’s two car-sized pizzas
I agree that this is a challenge. One needs to slice the domain such that it can be covered this way. But this also means more people. In my experience, moving from “activity oriented” teams to “business centric” teams require an increase of the headcount.
I’m a simple man, I see Fowler and I upvote
But then I read this article and it is very thin puff piece for the book. Very little insight
Obey conways law, you can’t break it
I like the concept of reducing cognitive load for the stream-aligned teams. This means all efforts go towards enabling them as much as possible in supporting the business. It also makes it relatively easy to judge if a platform team is doing the right things.
Conway’s Law is a category-theoretic statement; it asserts the existence of a homomorphism on graphs, mapping from modules to code authors. Quoting Conway’s original paper:
Speaking as a mathematician might, we would say that there is a homomorphism from the linear graph of a system to the linear graph of its design organization.
The author does not really show an understanding or respect for the underlying maths.