The road to organizational maturity is an elusive goal. Too many projects fail, even though modern methodologies, like the unified process or XP are allegedly applied. How can this be so?
The problem is that most organizations that claim to have tried modern development methodologies, yet have dismal records of project success, they are in denial. The problem is that they don't know what they don't know and thus are doomed to fail unless someone from the outside tells them.
I recently ran a large project in a major insurance company that has a very centralized IT organization with a great wall between the business and technologist. Both knew their respective sides quite well, but hadn't a clue about how to work together. And because of this chasm, the organization was stuck in perpetual ad hoc state of maturity, unable to effectively manage their projects, incapable of predicting outcomes.
I was fortunate because the group that hired me was somewhat of an anomaly, they were a smaller specialty company that was recently purchased by the mother ship. They had their own IT people so this provided an opening to define and set a project in motion unlike anything they had ever experienced. Although they learned many new things like; phased and iterative development, business modeling, patterns and best practices; they failed to recognize where they were in their capability maturity, they were incapable of realizing and developing a larger plan that transcended this first step along the maturity path. And thus, under pressure from Mother IT, they retracted back to their carapace and the project devolved to the waterfall with which they were so familiar.
I remember a meeting I had with some of the IT Juggernauts. I presented my vision and plan for a project that was phased and iterative, like RUP at the macro level, more akin to Agile modeling at the micro level. During my presentation one of their architects interrupted me and said, "we tried that iterative development stuff, but we found it was too difficult to tell when the iteration was done." So they scrapped it and decided that the old way was the better way.<arg>
Anyhow, the point of all this is that so many projects fail because companies don't know how to improve because agents of change (leaders) are few and far between. Sometimes the only hope is for an outsider to raise some eyebrows and hopefully cause a chain reaction, or for a CXO to get religion. How does one shortcut evolution?
I don't have an answer to the question, or a solution to the problem. But what you said reminded me of what Steve McConnell wrote in Rapid Development. He stated that there are two mind-sets at work (most of the time) when software is being built. One is the business (manager/marketing/etc) view, the other is the developer view. To him they are completely different realities. These differing world views can create some major problems in building great software. I've experienced it many times, in the several companies I have worked at.
My belief is that in order for companies to overcome this chasm and acheive greater opprtunities for successful projects, they must bridge these two dicotimus worlds [stake holders | technologists]. I have struggled with the problem just as you have and the last two years have pursued a solution. I hope to embody that solution in a website I'm building called JavaChief.org. I'm linking the site to a project on java.net as well. If you have any interest in lending some intellectual capital, let me know.