I tried to summarize the most important reasons why IT project costs are higher than expected - from my experiences and in the order of relevance:
- Unclear, unrealistic and permanently changing ideas of requirements (missing, unrealistic, vague or insufficient stable goals, objectives and milestones).
Solution: Invest enough time in evaluation of requirements, put it in relation with what solutions exist on the market and define clear and concrete milestones building a path to your final goals.
- Insufficient or wrong knowledge about the solution options (mostly from technical point of view).
Solution: see above - and think also of the option to develop (or let develop) your own solution which is always an option worth thinking about.
- Insufficient knowledge about the overall effort needed to implement the solution (= unrealistic estimation of time and resources).
Solution: If you have missing experience on a particular field then ask experts or develop prototypes. And never beat down the price of your suppliers (to unrealistic values) because then you provoke final costs being higher than expected.
- Insufficient knowledge about the destination environment where to implement the solution.
Solution: Invest enough time in analysis.
- Side effects of quick-and-dirty implementations of the solution (or parts of it).
Solution: Make quality your focus and not being cheap. If you create a bad product that nobody really wants to have you waste more time and effort as if you would have created another smaller product, but well done.
- Unqualified interference or intervention of upper management.
- Missing GTD like and technical skills of involved people.
- Bad time management (schedules, time reserves).
- Missing or insufficient quality assurance (clean design, review, testing, documentation, ...).
- Communication / teamwork insufficient or inefficient.