I have a long-running debate with a friend of mine about the state of software development.
I argue that by applying agile best practice the majority of software projects can be successful. My friend counters this argument by saying the trouble is that nobody ever applies agile best practice, so software projects continue to fail.
In many ways my friend is right, in the real world agile is often badly applied. The reason why this is has puzzled me for many years.