I have found this article well written, I dont know if the author has been a software design practitioner but has a good sense of the problems in our industry; I personally disagree on the way his recommendations have been implemented but his article makes good sense.
Why Big Software Projects Fail: The 12 Key Questions
“The problem is that the manager cannot tell where the project stands.”
“The problem is that, with current [traditional] software practices, the developers do not know where they stand any more than the managers do”
"Perhaps the biggest shock for most managers is realizing that they are part of the problem, and that they have to change their behavior to get the kind of large-system results they want"
“Unless developers plan and track their personal work, that [project] work will be unpredictable”
“When the managers make the plans, we have the modern-day equivalent of laborers building pyramids”
“First, most developers do not want to make plans; they would rather write programs. They view planning as a management responsibility”
“How can we convince management to trust the developers to plan, track, and manage their own work?”
“Many managers would contend that they listen to their people while making decisions. However, employees generally view corporate management as autocratic and few feel that they could influence a senior manager's decisions”
“Historically, the first large-scale management systems were developed to manage armies. They were highly autocratic, with the leader giving orders and the troops following. Over time, work groups were formed for major construction projects such as temples, palaces, fortifications, and roads. The laborers were mostly slaves, and again, the management system was highly autocratic. The workers did what they were told or they were punished. ...
The next major management innovation was the factory. Factories started producing clothing and were soon used for making all kinds of goods. Again, however, the factory management system was autocratic, with management directing and workers doing”
“This question gets to the root of the problem with autocratic management methods: trust”
How to get trust?
The article answers that question recommending PSP/TSP practices and CMMI. Other teams have answered the same question with agile values and practices, see:
The first thing to build is TRUST!
Of course, it is up to you and your team to choose what works for your particular situation.