What Is Agile Software Development?

What Is Agile Software Development?

The term “agile” now signifies whatever folks want it to. It’s a term that has achieved widespread recognition within the software development field, and with that recognition, dilution to the point of near meaninglessness.

Agile was (circa 2001) a reaction by a bunch of experienced, senior developers to both the conventional “heavyweight” and widespread “cowboy coding” approaches to writing software prevailing at the time.

Forget about talk of incremental, iterative approaches. Forget about “inspect and adapt”. Forget about “embracing change”. Forget about “quicker development of higher quality software”. Forget about “earlier realisation of investment”. Forget about methods or frameworks like Scrum, Kanban, DSDM, XP, etc.. And forget about practices like sprints, wall-boards, and the whole practices nine yards.

These are all post-hoc rationalisations of one basic truth: The Snowbird folks and their fans – then and now – were fed up with wasting their lives on failed and “challenged” software projects, on make-do-and-mend development, and wanted to do something about the quality of their lives at work. Theirs, and their peers. They felt a need to make more of a difference to the world than then-current software development approaches allowed.

Meeting Their Own Needs

Put another way, their championing of the agile cause was a means for developers everywhere to – rather unilaterally – attend to their own needs, including more closely living their (Theory-Y) values.

Sadly, lacking a whole-system, all-stakeholder, organisational-dynamics perspective, the result was a somewhat parochial thing. A thing that failed to recognise that software and its development rarely exists in isolation, and much more often happens in a context largely outside the control of those folks directly engaged in writing the software.

Now, some fifteen years on, we can see that the insanity – and tragedy – of agile – lies in the Sisyphean task of trying to build effective teams – and ways of working- inside ineffective organisations.

– Bob

6 comments
  1. John Coleman said:

    Those who strongly believe change is the missing trick in what we call the agile movement need to talk about an Lean-Agile Change Manifesto or something better to reinforce the notion of Lean-Agile as a Change in people’s hearts and minds. I would personally love to see an addition to the Agile Manifesto of non-negotiable behaviours, just five.

  2. Very much agree. And one of the illusions was (and still is) the belief that applying those practices in teams would transform these ineffective organizations from within. This illusion is more widely known as “Agile Transformation”, a mythical process that changes an organization built and designed around ideas that are very different to the ones behind Agile Manifesto into an inherently agile one. There are successful examples, but those are rare.

Leave a comment