@thedarshakrana After seven years of searching, I’ve come to this same conclusion. That said, I think some of finding this truth, and really embodying it, is a process. Deconstructing the identity and understanding why you’re holding on so tight. It helps knowing what you are tracking toward.
@Jodie529J@BoardGeniuses Minimum contribution of like 15K to the athletic department. They aren’t listening to folk on the lower end of that spectrum. Can promise that.
Wrap capabilities or domains or sub-domains or bounded contexts with teams. Those teams deliver against encapsulated objects at whatever level maintains the 5-7 person team size. If the stories a team works with have to be integrated into higher order features that span teams, that isn’t ideal, but that is where some sort of lean, value stream oriented, program or portfolio governance comes in. You could also use SAFe in this context to orchestrate several integrated teams. If interactions are minimal and orchestration is light, you could even use a scrum of scrums metaphor.
Last weekend I started playing with the idea of dependencies. Why? In my experience dependencies are the primary impediment preventing Agile methods from producing a potentially shippable increment of software at the end of a sprint and… dependencies are the main impediment preventing the team from responding to change when they learn new things.
Here is the breakdown: Define a way to measure the business value you want to create. Align that value to a single business capability or product capability. The capability should encapsulate the domain. Domains should encapsulate sub-domains. Sub-domains should encapulate bounded contexts and data. Of course there are exceptions.
One-to-many relationships are fine. Many-to-one and many-to-many relationships cause dependencies and create bottlenecks in the system.
Turtles all the way down.
Let's keep playing with this idea of dependendencies. Dependecies show up as constraints in our system. The more dependencies, the harder it is to change when we learn new things about our customers and what they need. If we want to be able to change when we learn new things about our customers and their needs, we have to elminate, or at least mitigate, the impact of dependencies. If we see any constraint in our system as immutable, we will design systems around those constraints, likely resulting in a suboptimized system. Transformation can happen when we are able see past constraints, and imagine what might be possible, and go there.
If dependecies kill agility, what exactly is it they are killing? I define agility as the ability to deliver in such a way that we can put our products in front of customers, get feedback, and change direction when we learn new things about what they want or need. The more dependencies we have, the harder that goal is to achieve. At smaller scale dependencies limit agility. At larger scale, dependencies kill agility. Dependencies do not prevent you from 'doing' Scrum or SAFe. But at best Scrum and SAFe are only proxies for agility. At worst they are process theater that only get in the way.
This feels like an irreducible truth to me. Dependencies kill agility. This is true when we talk about Agile. And it's true when we talk about agile. It's not methodology dependent. Any time one actor has to coordinate with another actor to make a change, or add a feature, this slows down both actors and makes it impossible for either to move independently. In the presence of dependencies, you either have to manage them or break them. You cannot ignore them. There are agile ways to manage dependencies, but they still slow you down. This is true in Scrum, this is true in SAFe. Every problem in the modern agile movement comes down to the failure to either manage or break dependencies.
@iAnonPatriot Tons of nostalgia for me. Going as a kid. Taking my kids as they grew up. We have friends we go with as adults. I’m rooting they find their way back to an apolitical center.