> Why do you think half of software projects fail to deliver?
A number of reasons:
1. Bikeshedding over the tech stack
2. A glut of CS grads who see a bunch of nails to hit with their textbook and data structures and algorithms knowledge failing to engage in a proper engineering process
3. Poorly defined requirements (blame aplenty to go around here: product development giving insufficient thought to the product details, sales over promising, and "engineers" failing to contribute by treating partnering with these folks as an onerous chore rather than a necessary task)
4. Insufficient resources
And many more, I'm sure.
Developers aren't blameless, here. In fact over the last couple of years I've come to see them as being at least as much to blame as non-technical people, perhaps even more so.