Looking back on my work with Agile (Scrum, Scaling to the enterprise, implementing Kanban..) one of the biggest challenges was not the implementation of practices, but establishing a working self organization environment. A place where people can take responsibility of their own work, make improvements to what they see and alert if something is wrong.
We can implement Lean and Flow even with preserved specialization and silos. In the right contexts, this is valuable. However, in places where problem solving is needed and we are dealing with cross cutting constraints (architecture issues, platform and performance limitations) this it is not enough. Therefore, we need a cooperation model to enable this.
Another example is business interaction. How many times isn’t the biggest problem lack of cooperation between business and development? Handover of "complete" ideas(turning up to be impossible to do), refusal to prioritize business needs in a single list, difficulty of taking life cycle responsibility of investments decisions (..there is no such thing as IT and business, just business..)?
In all of these cases, we fail if we do not device a cooperation model together with the practices. In all successful cases I have seen described, Jeff Sutherlands Patientkeeper, David Andersons Corbis for example – there has been a working thriving cooperation model.
It might not always have been planned, but it was there (hopefully due to good management) and it enabled people to cooperate around problem solving, do continuous improvement and surface problems fast.
Mattias,
You are so right about this! With the vast majority of all agile teams with some distributed component, this cooperation and collaboration has to be very overt and part of the culture.
I also helps break down the silos of expertise and code ownership.
I couldn’t agree more. We think we don’t have time for meetings but what we don’t have time for is useless/unfocused meetings and the meetings which never took place so we instead misunderstood each other.
I’m currently evaluating Twitter, which I see as the digital user story card, that is place holder for a discussion. You can using twitter say; hey: this is what I’m interested in. Yes, you can also use it for random personal babbling but as an example, I just wrote the other day a sentence which stated what I was working with. A colleague twitted back that we should discuss the issue, since he was working on the same problem but in another project. I guess Stack Overflow works in a similar way but what I like about Twitter is that you cannot write too much; you need to go talk to the person. As a user story card; it’s a place holder for a discussion