Re: Ignorance (@AC 17/05/2010, 14:11)
OK, so shoot me for my choice of wording when I said "latest flavour of the month methodology"
However, over the course of a couple of decades in the IT game (before I got sick of it and bailed out a few years ago) I heard all of those things - and many others - being described as the one and only true way in which the software industry would finally be able to ensure that it produced quality products.
Now, I didn't necessarily believe this whenever I heard it because (a) I'd heard most of it before and (b) the person saying it was usually trying to sell me (or my employer) something, whether that was training courses, consultancy, books or some kind of gee-whizz development toolset.
Of course, all of those different things - development methodologies, software technologies, architectural development styles, call them what you will - can help you to produce better software. However, they don't guarantee it and, I'm prepared to bet, never will. I've seen hacked-up last minute fixes, produced on a diet of adrenaline and caffeine, that were still better designed, better implemented and more thoroughly tested than other bits of software that were supposedly developed according to all the strictures of "Method X" and which, basically, ended up as nothing more than extensively (although usually inaccurately) documented crud. That's just the way it is - give a good engineer bad tools and he'll still do a pretty good job, while a bad engineer can still produce complete abominations even if he's using the best tools in the world.
But that's not the main point here. My main concern is that we seem to have created a whole marketplace that operates in the basis of having the latest, whizziest bit of technological know-how in place as quickly as possible. Who cares if it isn't really ready for prime-time use? Who cares if we're not completely sure about whether it's really an appropriate solution to the problem? Some techno-dweeb has wittered on about it on his blog, Wired.com has picked up on it and convinced half the corporations in the western world that they simply MUST be using "Millikan's Magical Customer Extractor" or they'll be left behind in the ecommerce equivalent of the dark ages, so the accountants and sales-droids who are, basically, running the whole show on both sides go into a frenzied, collective orgasm of pushing the latest bit of lunacy on us all.
Meanwhile, it's the poor designers and developers who have to try to deliver the cock-eyed thing with insufficient time and resources. And it's the poor end user who has to live with the inevitable inadequacies when it all proves to be nothing like as magical as people were led to believe.
And, of course, thanks to the wonderful "Get Out of Jail Free" card that is your typical software licence agreement, it's the customer and end-user who ends up feeling most, if not all, of the pain.
That's the reason that I think that getting some software companies sued until the pips squeak might be a good thing. It might finally hit home with the management (i.e. accountants usually) that over-promising and under-delivering has really bad consequences for them, not just for the customer.
Mind you, better educated customers would probably help too. Having someone in a company in a position of authority who can look at the latest outpourings of the "next must-have technology!" brigade and say "Yeah, right, very interesting but we don't actually need it and we've got better things to spend our money on" is a good thing. If they also know enough to meet with the vendors who are trying to flog the stuff and say "No, you're talking bollocks and your system isn't really going to work like that at all, is it?" then that's even better.
This, interestingly, does appear to have been a slight failing on the customer side in this particular case. Although I still agree with the way that things went - until such time as software houses are made fully accountable for the quality of their products in the same way as most other companies are, there won't be a real incentive to get things right.