What is actually happening, I am afraid, is that we all tell each other and ourselves that software engineering techniques should be improved considerably, because there is a crisis. But there are a few boundary conditions which apparently have to be satisfied:
1. We may not change our thinking habits.
"So, boss, I need to change my thinking habits, which will take a month or two in which I will be able to do no work.
2. We may not change our programming tools.
I have to change our tools, which will take a few weeks to retrain at the end of which I will be completely incompatible with our current codebase.
3. We may not change our hardware.
This new technique works great, but only on this hardware which none of our customers own.
4. We may not change our tasks.
Tell all our existing customers to take a hike - they're trying to solve the wrong problem. Get some new ones who can get it right.
5. We may not change the organizational set-up in which the work has to be done.
Actually, boss, the problem is all your fault."
Now under these five immutable boundary conditions, we have to try to improve matters. This is utterly ridiculous.
Edsger W. Dijkstra, on receiving the ACM Turing Award in 1972
It isn't ridiculous. There is no crisis. (There wasn't, even then. Things progressed smoothly to the current situation. Some people went bancrupt, but that's the nature of business. The big players that helped drive the changes so far are mostly still around in some form.) The situation isn't as bad as theorists (always) make out, and in any case the solution has to fit into legacy business needs. If it doesn't there will be zero takeup regardless of theoretical merits. Here, proving a better technique in the field may work better than evangelism. This is rarely done.
It isn't ridiculous. There is no crisis. (There wasn't, even then. Things progressed smoothly to the current situation. Some people went bancrupt, but that's the nature of business. The big players that helped drive the changes so far are mostly still around in some form.) The situation isn't as bad as theorists (always) make out, and in any case the solution has to fit into legacy business needs. If it doesn't there will be zero takeup regardless of theoretical merits. Here, proving a better technique in the field may work better than evangelism. This is rarely done.