A software developer with 12 years experience in software projects that have either been 'agile-by-design' or 'agile-by-accident'. Joining the industry as a young, eager, greenhorn in early 1999, I found myself baffled by the concept of writing reams of preparatory documentation instead of producing working code which could be evaluated for fitness and then evolved, just had I had been doing in the preceeding years as an amature infront of my home computer.
The presence of such an arrogant young upstart, showing no regard for the 'accepted' practices of software development, prompted the team to try something different. To involve the customer, to not plan in too much detail for too far ahead, to automate QA processes to prevent retreading of old ground (leading to that all too familiar 'ballooning' QA effort). Before we knew it (and i'm not sure we ever did)... we were agile.
The success of this project instilled in me the desire never to return to 'engineering', as an approach to developing software, and I have resisted such moves at every turn.
Development teams, like wildlife, are happiest and most effective in their natural environment (or as close as is pratically possible). A lesson which I have carried with me for the past 12 years.