One could argue that I work in a large organization. Granted, it is not large like Apple or Google is large, but by Danish standards it is pretty big. Much like our competitors in the financial sector we are moving towards an agile development setup. And to no one’s surprise, there are some challenges that seem to be somewhat pervasive in my neck of the woods.
Obviously I can’t really say anything about my current situation, but I should be able to give the broad strokes without violating anything or anybody.
Flow is key
When it comes to agile setups I have always been focused on the flow. Requirements and tasks must flow in a steady stream through our teams. The chain is only as strong as the weakest link, which means that not only do we need to fill all the positions (product owner, scrum master and team members), but we also have to ensure that work flows unhindered through our setup. of course, the problem arises when you have a lot of teams that work on the same system but also have responsibilities for the daily maintenance of existing systems. This is where the Product Owner really earns her money, as it is up to her and the other POs to prioritize and protect he teams from the uncertainty that always arises from situations like this.
Creating the funnel
Not surprisingly, in big organisations there has to be a clear funnel that holds all upcoming tasks and requirements in a prioritized manner. Now, I am not advocating anything fancy or a lot of spec work at this point, but product management (top management?) must have a clear idea of what they want and in which order. Furthermore, management must understand that not all requirements are created equal. As agile teams we are dependent on sensible prioritization in order to get our flow to work. We must know what is the most important thing in the word and what is not. If this is not clear we will decide what should be done, and we will always do what we think is the most fun 🙂
SAFe is a model that scales agile teams, and attempts to create a program level flow much akin to the my own idea of flow. This is where my blog post could become really interesting if I could refer to real life incidents, but of course I can’t. I want to say this though. When working on the program level one should adhere to the principles of agile as much as when one work on the team level. Communication, prioritization and trust is just as important at the program level as these things ensures flow and create a sensible and prioritized funnel.