There are various reasons why companies struggle to deliver such software projects at acceptable costs and timescales.