This week, I had the distinct pleasure of co-presenting with the ever lovable Mitch Lacey at the Agile Development Practices conference in Orlando. I also got the chance to have a great conversation with Alan Shalloway about the state of Scrum and the Scrum Alliance, and to run into Alistair Cockburn.
This got me thinking about the whole ecosphere that makes up agility in software today. There are so many angles one has to consider – from development practice changes, to team and project management changes, scaling up to organizational issues such as portfolio management, risk management, and avoiding local optima by focusing on the flow of value through the organization. And it we look at the practices and methodologies out there today, one could say that the cure to what blocks value in an organization is X-LACKS:
- X – Extreme Programming – This focuses primarily on the software development team, though with an important nod of the importance of customer involvement at all times
- L – Lean Software Development – Lean has been around for a very long time in the manufacturing world, and had a strong applicability to software organizations.
- A – The Agile Manifesto, the founding document outlining the values and principles behind the agile movements.
- C – The Crystal Methodologies are a family of methodologies which provide a sense of what tradeoffs and restrictions have to come into play as the size, scope and criticality of the agile project increases.
- K – Kanban is part of the Lean principles, and has twisted to have a split meaning. The Kanban board is a specific artifact, similar to the Information Radiator from XP or the Sprint Backlog from Scrum, but with an important twist – statuses are limited to the number of items in a column at a time. This is called limited WIP (Work-in-progress). This concept of limited WIP is applied at the broader sense to the team under the same term of Kanban.
- S – Scrum. Ah yes. Scrum. Three Artifacts, Three Rituals, Three Roles. One of the great love/hate stories in the agile world.
Just like ex-lax is made up of multiple ingredients, each with a specific purpose, so goes the above list. People like to make blanket statements like “Kanban is better than Scrum†or “You still need XP in Leanâ€. But pay attention. The people you want to listen to will provide the context like “…when you are adopting a large-scale organizational transformation†or “…when you are working with a company whose primary function is software†– and that context is what is necessary to know if the medicine you are using is appropriate.
The agile practices aren’t snake oil. They really do work. And the information they expose can make it seem like you’d rather stay sick. But if you address it with the right combination, and with the right leadership, vision and values, you’ll end up with an organization magnitudes better than what you could have ever achieved before.
Well said Cory. There is no one true path to adopting Agile and which practices will work best for a given organization. It’s all about context, culture, leadership, willingness to change and try new things, and much more. Hopefully we in the Agile community can get away from the “my way is better than your way” that has plagued software development for so long. That will take willingness to change on our part, however I think it can be done.
Thanks Rob. I agree that we need to start changing, and I think in some small ways that’s beginning to happen. Organizational change is hard, and it’s even harder when you are dealing with organizations that have high level of dysfunction coupled with an industry (software) that promoted heroism and has traditionally been about who works the longest, codes the shortest and does the trickiest things rather than about who delivers the most value.