Managing complexity and communication in software projects
Most software projects fail because they're too large and teams can't communicate effectively. I wish there were a more complex explanation, one full of crazy metaphors, but there isn't. Large projects are hard to manage because complexity doesn't grow linearly, but exponentially.