I'm almost sure.
80% of problems in custom software development are derived by interface problems. I mean interface by humans.
Don't trust or (even worst) don't understand how custom users wish their program to behave is, by large scale, the first cause of software failure.
So before to look for good developments policy, strategy, tools and programmers just be sure to have the right interface with your customers.