Information Technology projects are complex by nature. Projects will have myriad heterogeneous components interconnected on multiple layers. With this complexity, opportunities for failure abound. Some failures will be unexpected, if not entirely unpredictable. We're sure to have problems, large or small, so we should plan for them. Let's identify the types of problems specific to IT projects.
Unforeseen problems with software applications, application servers, platforms, and APIs are just part of the development process. Modern bug checking and testing software helps with "ordinary" bugs, but aren't perfect. Build in contingencies for intractable bugs before they happen.
- Development & Integration Difficulties
Some IT difficulties arise from the fact that some goals are harder to reach than others. Take time up front to assess the ease of integration of chosen components. Objectively determine how difficult development will be. Don't guess!
When a feature can't deliver what it promises, that's Feature Failure. It's related to bugs, but distinct because the feature may simply not do what's needed, rather than crash or do the unexpected. It's not always possible to test all functionality in advance.
It's important to define in advance precisely what the goals are and the requirements to meet those goals for each phase of an IT project. Stick with what's planned and get done on time and within budget. Even if something seems simple to add, if it's not part of the plan--don't do it. Don't succumb to scope creep, it's the kiss of death for IT projects.