It is delightful to be understood. Yes, it's the corporate waterfall method. I tend not to think of software development methods because I am far from convinced that any software development methodology really means anything.
My claim is actually a bit stronger, though, and perhaps I can address some of the other gentleman's statements. The goal of a software development company is to make money off of software. I've been in the business for a quarter century, and the goal used to be different: to make money off of good software.
Over the past ten years, it has been discovered that you can make more money faster and more reliably off of mediocre software than you can off good software. Good software just works; you install it, sell it, and that's it. Mediocre software is more effective. First, you persuade your customers that the software that isn't done yet will solve all their problems. They buy it, because it looks good. Then you sell them something that works well enough not to be punished but not well enough to satisfy them. Call it Crap 1.0. You give them Crap Support, which they pay for and like because it gives them someone to yell at. You make Crap Support slow, which they don't mind because it gives them a chance to yell at their subordinates who are designated to call Crap Support. Then you sell them Crap 1.1, which works a little better but still not quite good enough, and so on for Crap 1.2, on up to Crap 2.0, which starts the cycle again. You offer them Crap Subscription Maintenance, which they like because it's cheaper than buying new Crap, and they feel it's a custom business solution.
At the end of the process, the customer doesn't remember what Crap it was, only how much better it got. When someone asks them what kind of software to buy, they say, "Well, Crap had some problems in the first release, but doesn't everything? I think they've worked really hard to improve it, and it's now Mature Crap." Besided, they've invested a lot of time and effort in Crap, and they don't want to admit that they threw away that money. They act as if it were business as usual. And so, the Crap spreads by word of mouth.
Now, for the irony-impaired, I have to say that I don't approve of this. However, my comments are not particularly based on contempt. I'm just telling it like it is. I don't think it is ethical, and I think that the overwhelming majority of people in development and at least a simple majority of people who want to go into software to sell business also consider it unethical. However, all you need is one company who avoids those pesky ethics, and all those more ethical companies wind up as red stains on Wall Street. Those who stay in business do so by at least partially emulating the successful companies.
There are, of course, exceptions to the rule. Game companies, who only need a big rush of sales for the Christmas season and are constantly putting out new games. Companies that provide control software that has to work right or things break and people die. Companies that do not make money off a software revenue stream, such as the one I work for (we rent hotel rooms). But face it. When you go to the store and see any business-related software in shrink-wrapped packages, what it it? It's Crap, because that's what the marketplace prefers. Even the military buys Crap that brings their boats to a stop if you type in a zero (http://www.info-sec.com/OSsec/OSsec_080498g_j.shtml).
Personally, I would be glad if this were somehow magically to change, but I am not going to hold my breath. I don't hold out a lot of hope for Open Source as a world-changing force either, but at least it offers the possibility of evading the Crap-selection process, so it is still somewhat fun. (This will probably change as more and more companies make money off of support for Open Source software and they see the revenue-stream advantages of slinging Crap.)
People are going to tell me I'm wrong, because they don't like it. Well, I don't like it either, but I've been campaigning against Crap for a long time now, and the only reason a campaign is necessary is that it is against the swell of the marketplace. Don't shoot the messenger. If you can think of a way to avoid the process, well you know, we'd all love to see the plan.
The truth may be out there, but lies are inside your head.--Terry Pratchett
[ Parent ]