Clean Boundaries
I’ve had the opportunity to work on a lot of different software projects with a lot of different teams.
What’s become clear is that a critical, underdeveloped skill is creating not just clear boundaries but clean boundaries.
What makes a boundary clean?
- Anything the entity is responsible for, it has the ability to change.
- The dependency / dependent relationships are clear.
- Required communication between dependency / dependents has been reduced to the minimum necessary.
- The number of inboxes the entity is responsible to review has been reduced to the minimum necessary.
- The purpose of the entity is clear, understandable, and brings real value.
Now… you might wonder, is this about teams or about code?
Both.
In fact, it might be teams first, and code second.
Refresher on Conway’s law - software is bound to reflect the communication patterns of the organization that creates it.
Find out you have messy, complicated, hard to follow processes in your code? Take a look at your teams’ communication flows.
Like this? Join the email list.
Micro-thoughts on operational strategy straight to your inbox.