Particular Problems of Large Systems
In 1988 Curtis,Kramer and Iscoe studied 17 large systems and why they failed. Over 97 interviews team and organistational factors were investigated. The main findings were that large software projects fail because of
1. A thin spread of applciation domain knowledge
2. Fluctuating and conflicting requirements
3. Breakdown of communication and coordination
They found the tytpical progression to disaster was 1 -> 2 ->3
Thin spread of application domain knowledge
It is rare to find someone who understands the entire solution. In some areas, eg pilot training, there is a structured effort to overcome this. Otherwise, with luck, you may get a genuine "guru" but even then you can expect specification mistakes.
Changing requirements
Competing products, new standards, new equipment and new users all combine to changing requirements.
Communication problems
Problems with communications increase with the more layers and more managers.
Coping mechanisms such as commitees increase the hierarchy. Managers are often loth to believe bad news, much less pass it on.