During my career I’ve been a part of dozens of projects. Some I was on from the start, most I came in to help bail out. Some went smooth and were a pleasure to build and maintain and some projects failed (failed being broadly defined as projects that were not completed, or were completed but were a horrid mess – very complex, impossible to maintain, refactor, and a royal pain to keep running.)
While there are a number of factors that can contribute to a failed project, in my career it seems the primary cause of failed projects is managers making technical decisions. Not every manager making a technical decision is bad, but every failed project I’ve been a part of included a manager who made technical decisions and drove the project toward over-complexity. And, one of my regrets in my career is my failure to convince managers that simple is better than complex. Unfortunately, some of those failed projects were the ones I cared most about.
A corollary to this idea is that good IT managers listen to the technical experts, and let those technical experts drive the design. And, good IT managers are a rare and special breed.
Resolved: Managers making technical decisions is a primary cause of IT project failure. Agree? Disagree? What have you found in your career?