The Uccello clock of software: Agile

Holiday, a great time for reflection. This blog shares some ideas, thoughts about the struggle to adopt agile.
The Trying

I stopped “preaching” about agile some time ago. I thought that if you did something different and important [like running software projects in an agile mindset] – and I did think agile made sense of a lot of phenomena in software development and gave direction that was badly needed – people would hoist me on their shoulders and a carry me in triumph. But that was just incredibly naive.

The Point

Sometimes people even looked at me in bafflement: What’s the point of agile development? And what does any of this agile development stuff have to do with “real” [Waterfall] software development? Questions like this left me at a loss. How could they not see it? The [bloody] point is that you have to look at the world as it is, not as some elegant theory [Mr.. Royce’s article] says it ought to be. But people kept being sceptic.

The “Science”

Nothing wrong with skepticism, it can prevent mistakes, even encourage people to come with additional ideas, but….it Can also stop progress. There is still a lot of skepticism in waterfall minded (traditional very command and control) organizations. Perhaps skepticism is because agile development can’t be called a “science”? Perhaps. But how about geology, or astronomy? Can they predict exactly when the earthquake will come or when the next star will be born? Not at all

The Clock

You might claim that the Waterfall method is still the standard and yes we are locked in to this technique, and that is ok, because… must be superior to its rivals. Clocks are like that, locked in, always running “clockwise”. But the Uccello clock in Florence is running backwards. My point? You don’t have to follow the pre defined Waterfall steps to get results. Pair programming and test driven development (tdd) show it can be done in another way.

The Trap

To answer your unspoken question: Yes it is possible to lock into an inferior technique like the Waterfall method. History shows other examples, like Beta-versus-VHS, the QWERTY keyboard and MICROSOFT software. 

The “Moral”

It doesn’t have to be that way. Within the (perceived) “Chaos” of Agile, you will find a lot of order. this Order will deliver results.