I’ve always been fascinated by the concept of achieving fast flow, both at an individual level and within a team. Personally, I’ve often found success working with compact, nimble teams, focused on quick production and directly testing assumptions with users through live code. This method typically works well until the organization expands, and then it all falls apart. What comes next?
A strategy that I’ve observed to be effective is dividing the organization into self-sustaining value streams. We allow teams to take ownership of these streams, ensuring they depend minimally on other teams. A straightforward example would be letting each team develop its own product, which can usually grow independently, free from other dependencies. Having a single team accountable for a single aspect is much like having an individual take on a specific task—based on my own experience, I’ve found that when I can progress without being hindered by anyone, I don’t need to wait on anyone. I possess all the necessary information from the get-go and don’t need others to provide answers. This is possible because my managers ensure I’m adequately equipped to make informed decisions on my own. This autonomy allows me to move forward with the project and complete it swiftly.
But why use the term “value streams” instead of “independent products”? This is because these don’t necessarily have to be different products; rather, they can be distinct segments of the same product managed by different teams. For example, one team could be responsible for an expenses feature while another handles user profiles, seldom interfering with each other’s work.
The key insight here is that collaboration, while important, can often be the most costly way to address problems. Many understand this implicitly and try to minimize unnecessary meetings in their organizations, sometimes even using browser plugins that calculate the cost of each meeting based on participant hourly rates. However, I’ve observed that suggesting less collaboration can meet with resistance. Reduced collaboration is seen as detrimental. That’s not untrue—avoiding collaboration when needed can be costly as well, but the cost of missed meetings is more challenging to quantify. So, to echo Einstein, everything should be as independent as possible, but not more.
In practical terms, you can begin by assigning a single person to a single value stream, making them the direct responsible individual for that area. As your company scales up, incrementally add more people. Review the structure occasionally, maybe once a year, to ensure it still aligns with the dynamic business environment, guaranteeing that each team is unhindered and consistently maintains quick flow.
This piece is inspired by the concept of team topologies, something I learned from “Architecture Modernization” by Nick Tune, a book I had the pleasure of working on as a technical editor. You can purchase it here.
Ready to catch the next wave first?
If you’re serious about startups and want to get shit done, you’re in the right place. Subscribe for hand-picked startup intel that’ll put you ahead of the curve, straight from one founder to another.