Why Software Projects Fail, part 2

Reason Number 2: Most organizations utterly fail to understand the complexity of developing enterprise software applications.

I watch this kind of meltdown happen with depressing frequency. “We can do it in ninety days!” is inevitably the tolling of the death knell.

Let me be clear about what I’m discussing: I’m talking about applications with a broad audience, for instance web sites holding State databases, accessed by hundreds or thousands of users with accounts. Anyone who has managed an enterprise directory knows this involves serious architecture. This is what distinguishes enterprise applications: they have a much larger scope.

It’s not just the complexities of authentication and authorization that make this job tough. It’s requirements like availability, redundancy and failover. And coding for security, and dealing with the inevitable attacks. And coding to standards, so teams can work together. And unit testing, and integration testing. Would you like me to go on? Because this is a huge list, and organizations that don’t know this are doomed to ugly, ugly failures.