In reaction to all of the "agile is dead" articles, I am cleaning up old posts
about Agile, re-reading them, contemplating lessons learned but
forgotten, and asking myself if some practices have outlived their usefulness.
That is the spirit of agility: the interplay of action and reflection.
"Agile" is not a silver bullet
for improving software productivity, reliability, and simplicity. But "Agile"
continues to give us tools that can foster improved software engineering.
The Agile Manifesto was a distillation of certain trends that the authors had
noticed in their successful projects. On balance, they ring true to my
twenty-five year career in software.
It did not offer guarantees and it did not offer to solve world hunger. Through
prescriptive frameworks such as Extreme Programming and Scrum, and common
practices such as development of story cards and short cycles (aka sprints), the
Agile "revolution" broke us free from the confines of gigantic requirements and
design documents that were always at least slightly wrong, and frequently very
difficult to change. It helped us embrace the uncertainty of software
development, empowering us to find our way out of that wrongness more quickly
and productively.