It’s been brought to my attention that many people, perhaps all people :), did not get that I don’t really believe/practice what I coined “Development Driven Development”, which had it’s fat penguin debut here. I wrote it from the approach of “what could out agile agile” and what if it had very little to do with actual agile techniques even thought it was claiming to be such.
I definitely believe there are benefits of agile practices in software development and use several of them. I had also just read the Tom Gilb’s “evolutionary delivery,” a great improvement over its successors post at Lean Software Engineering and had just learned about a new agile practice that I hadn’t known about before. This got me thinking that I need my own agile solution. :)
In my limited knowledge I have to agree with Corey Ladas thoughts:
There’s something odd about a software culture that is so obsessed with novelty and technological determinism that it perpetually loses the knowledge of the past in an endless pursuit of the reinvention of the wheel. The race in the 2000’s to “out-agile” each other and distance ourselves as far as possible from any crusty old notions of “software engineering” in the flight from some phantom bogeyman of the “waterfall” has resulted in the neglect of a great deal of hard-fought knowledge and wisdom from the great systems engineers of the 1960’s-1980’s. It’s our loss. We’re forgetting things that are better than what we think we know now.
I wonder why this seems so true in software land. Maybe it relates to the developers constant search to learn new and exciting programming languages, tools, operating systems, techniques? Part of survival and coming up with elegant, deployable solutions is having a grasp on the “new goods” in the field. It also, however, depends on knowledge of what has already been done with success and failure in the past and there are many great books on these topics. There must be a large number of developers and managers out there with “hard-fought knowledge and wisdom” who are also practicing agile techniques and merging them together in productive ways.