Friday, 20. November 2009 10:50
This might be a post about Agile, the action-packed software development methodology that’s been damming up waterfalls for a few years now.
Agile development is about iterations, working software, self-organised teams and the ability to adapt to change quickly. It casts aside massive functional specifications, requirements documents and 18-month lead times. There’s a lot to love.
But this isn’t a post about Agile. It’s about being agile. Sure, there’s cross-over. The methodology wants to be truly agile. And when it is, it’s terrific and exciting. But more often than not, it isn’t. And whether Agile is agile or not comes down to the people involved.
In my experience, failed Agile processes come unstuck when practitioners approach the process with a religious zeal that doesn’t take the project’s individual circumstances into account.
Two stated Agile principles that derail projects are:
- Business people and developers must work together daily throughout the project.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
In an interpretation straight out of the Old Testament, too many Agile team leaders and ‘Agile Coaches’ have dictated that the business owner and the development team must sit in the same room. Or maybe a room nearby. With an open door.
This becomes a rule slavishly followed, despite two facts:
- humans have ‘worked together’ without being co-located for millennia
- ‘most efficient and effective’ does not mean ‘only’
When the business owner is actually located in another building, suburb, city or even country, developers too often decide that the process is ‘corrupted’ or – worse still – work as if the business owner was in the room.
In Agile, we don’t waste time with pesky documentation. We stick cards on the wall (if we can find a bit of wall not covered by a whiteboard). So if the business owner isn’t in the room to look at the cards…bad luck. Not here to answer a question? Tough.
Ah, but this isn’t a post about Agile, remember? It’s about a mindset; about being. Substitute ‘agile’ for ‘nimble’ or any other synonym that comes to mind. Think about how to work faster and more effectively. There is much to like about the Agile Manifesto. There is much to be disappointed about when considering what it becomes in the hands of neo-technical report-o-phobes.
If you’re working on software development…or development of any kind (including content)…you’d be foolish not to consider working in an agile way. Iterate, discuss, show the boss, review, tweak, and – most of all – actually do it.
But you might want to consider what is being sacrificed by substituting that little ‘a’ for a capital letter…