@matthewpskelton and @manupaisable give Cybernetics a shout-out in the book @TeamTopologies
"Teams should be long-lived and autonomous, with engaged team members."
"There is huge value in agreeing to a coherent vocabulary and way of working together across teams"
@TeamTopologies
Software needs to be about people,
and the arrangement of people is also about the software.
"an organization is the interaction between people and technology."
@TeamTopologies
Software isn't written by individuals. That's limiting and unreliable. Software is written by teams. Face it.
@TeamTopologies
@TeamTopologies
It isn't how much we can do, it's how much we can know.
And not the team you just assigned people to for this budget cycle, either. Teams are long-lived.
Big re-orgs are like big software re-writes. Don't do it.
Instead, continually (re)shape teams.
@TeamTopologies
@TeamTopologies
@TeamTopologies
@TeamTopologies
Want software components to remain independent?
Check that those teams never have to coordinate.
(Sharing a repo or a task-tracking tool might cause this.)
@TeamTopologies
@TeamTopologies
I remember in Domain Driven Design, @ericevans0 noted that the careful bounded contexts in the software are disrupted by business re-orgs.
Yeah - don't do that.
except that who is on the team matters for team dynamics.
"Some people are unsuitable to work on teams or are unwilling to put team needs above their own."
@TeamTopologies
At 5, 15, 50, 150, 500 people, there's a fundamental shift in how teams interact.
Therefore, your software needs to be re-architected at each of these growth points.
@TeamTopologies
"Looking to reward individual performance … drives poor results and damages staff behavior"
The team is the unit of allocation. Not the individual.
@TeamTopologies
Intrinsic - "How do I sort an array in JS?"
Extraneous - "How do I deploy this?"
Germane - "How does this interact with businesspeople and other services?"
Minimize the first two, so that you can handle more of the last.
@TeamTopologies
@TeamTopologies
@TeamTopologies
Re-use is also coupling, and coupling adds complexity.