Computer systems can be delivered on time, to budget and to the right quality. A manager who complains about his staff, his systems, his clients, suppliers, competitors, and the recession when a system is late or doesn't work as planned is missing the point. The fundamental problem lies with his attitude, his belief that computer systems are almost always delivered late.
If people expect houses, trains, haircuts, and the bus to be on time, why shouldn't they expect computer systems to be on time and to be up 100% of the time. An architect doesn't complain that his clients don't understand houses when he designs them. His job is to help the client to put his thoughts down on paper in such a way that the client gets what he wants and then so that the builder gets what he wants.
In computer terminology the architect is the business or systems analyst; the builder is the programmer. If we relied upon the brilliance of some of our analysts and programmers our computer systems would not be in the mess they are in today. Managers who have gone up the ladder through a non-technical route, who do not understand the complexities of program and system design will never accept that a computer science student with 6 months experience may be telling the truth about a project being late or not to the desired specification. Managers who have attained the title purely because they have worked in an organisation for 20 years mostly do not have the insight into the technical complexities of engineering and scientifically related subjects. Everything seems easy to them.
Every computer contract that I have worked on that has been late, whether it was the simple delivery of a computer, or the delivery of a large, complex software system could and should have been delivered on time if only the managers had listened to their technical staff. I'm not saying that managers should believe what their staff say without some supporting evidence. But they must give their staff sufficient time to explain their problems and how they see things. Without a technical understanding themselves, they must expend more time and effort to understand if necessary. It is similar to understanding a foreign person who doesn't speak one's own language well. Complaining that the person cannot express himself won't do. Spending the time to understand the person in most cases will.
An analogy is a bridge. A person who builds a bridge starts off with a four year Civil Engineering Degree. He then spends 3 years as an apprentice mixing cement, seeing how bridges are built, etc. Then he spends 3 years designing bridges with a mentor. Then he spends 3 years designing bridges himself with some other people checking his designs. Finally he 'invents' his own bridge. This means he has a 4 year degree, plus another 9 years working on bridge building before his word is 'law'. When we drive over a bridge, we don't have to check if it is still there or if the supports are still there. Yet we give computer projects to people with only 3 weeks or perhaps a 6 month course to do. If the project is late or doesn't work, we blame the programmer. But where is the real blame?
Core Concepts: 1) Computer systems can be delivered on time; to the desired quality and at the right price; 2) Appropriate Quality Management is a better term than Total Quality Management; 3) Utilisation vs activation of resources.