You read a lot about software development projects failing. There is a lot of effort put into understanding why Software Development projects fail and looking for ways to make Software Development projects more successful. But I think one fact is often overlooked, developing software is hard.
A software development project is always a foray into something new. If it were already done, you wouldn’t be developing it, you’d be re-purposing it or buying it. And doing new things takes a lot of planning, a lot of thought, and a lot of risk. Managing something like that takes experience and skill.
It surprises me,then, that when searching for my most recent position I saw a lot of requisitions for Project Managers at very low salaries. A company decides to run a multi-million dollar project and then skimps when it comes to the person who will be most responsible for pulling it off, the Project Manager. For a low price you get a PM who is either inexperienced, not highly skilled, or both. Cutting costs on the PM makes about as much sense as cutting costs on the server that will meet your customer’s needs. In fact, it makes less sense since moving software to a more powerful server is trivial. Changing PMs in the middle of a project is very painful and expensive.
Developing new software seems hard because it is hard. The people who make it look easy are those with experience and skill. If you want your project to succeed, be prepared to pay what it takes to get those people.