Agile in an old world
I lurk on the TDD list and this thread was of interest. Largely it does relate to the split world syndrome, a world where on one side you have code first refactor (much) later (with no design and limited manual testing aka the cowboy coders) and test first, refactor as you go. I cannot speak for the rest of the world but in my experince the UK is still rife with the coyboys. It's a sad but true fact that time to ship rides above all else yet Agile is not called Agile for no reason and I am willing to bet that a Agile team could ship software just as fast as a one working with out it. To me the key here is training and experince, eveything about Agile (and lots not muddle TDD with Agile) needs to be driven in at the highest levels. If the CEO's can understand that a product can ship just as fast and be a better product with long term investement in training and tools then thats investment offset against more stable products and less time needed to fix bugs. In my experince it's internal development that can be hardest to justify against yet even a stable, largely bug free product can over time suffer with any lack of discipline, as the product gets bigger fixing bugs can cause bugs with zero ways of regression testing. With limited design and fracturered patterns the product then becomes a BBOM with most of the design wired to someones head.
I don't need to say these things to most of the people that will read this, we know this from experince and we strive to be not coders but software engineers. However the world at large is still the picture I paint above, sad but very true. What can be done to bring better pratices to the old world I really don't know, certainly in the UK it's leading Agile companies like Conchango that are driving Agile into the UK industry, I really hope they are not alone. Your thoughts as ever are welcome.