The Multi Million Euro IT project failure - Why do IT Projects fail?

The internet has stormed the world and is now a significant part of our everyday lives. This means that businesses and organizations need to get on board with this new reality.

Companies that refuse to do so have failed in the past. They will continue to fail for many years to come, making the transition to the digital world a necessity at this point. An increased number of IT projects come to be every day as businesses try to get on board with the digital world.
However, not all IT projects are created equal. Practice shows that the vast majority of IT projects do not make it to the finish line. A report published by Project Management Institute (PMI) in 2017 evaluated the percentage of IT projects that fail or do not meet the finish line in their designated timeline. The report showed that almost 14% of all IT projects fail, representing total failures. There are other statistics that one should be worried about. Out of the 86% projects that did not wholly fail, 31% of projects did not meet their expected goals, 49% won’t complete on time, and 43% of the projects exceeded their designated budget.
This article will first discuss several main reasons why IT projects fail and then try to match these problems with corresponding solutions.

IT Project failure rate by segment

Inaccurate Requirements

One essential part of any project is its starting phase when the clients, management, and development team discuss and attempt to understand the client’s requirements, which is when most problems arise. Any misunderstanding during this time can bring one of the fatal mistakes for any IT project. The famous cartoon about a tree swing project explains this concept very well.
This image illustrates the kind of misunderstandings possibly occurring during the requirement-gathering phase. There are many reasons behind this inaccuracy, and a communication gap is one of those.

Not carrying out a feasibility analysis is another reason. Whenever customers explain what they want, this information does not necessarily translate well into the final scope. This is when feasibility analysis comes into play – you can use it to filter out junk and gather realistic requirements. Letting the client know beforehand can save both the company and the client a lot of time and money.

Little to no involvement of Stakeholders

Another major problem that has been a leading cause of IT projects fail is little to no project stakeholders’ involvement, i.e., project managers, the customer, or the end-user. In a large number of cases, usually, the waterfall methodology is utilized. According to this method, project requirements are gathered during the start, and then a linear management approach has opted in which a sequential project plan. This approach results in the project’s failure because the stakeholder becomes unaware of any ongoing progress. There are times when specific questions might arise, and the development team might be confused as to what to do, but the customer is not going to be there to guide them. Without a hand-holding approach to communication with customers, you may create something completely different from what they required.
One such decision taken in the absence of the customer can completely alter the fate of the project. The agile approach is more preferred in software development projects because customers and all other stakeholders are involved in every development stage. And any decision related to original changes is handled with the customer’s consent. This feature makes Agile extremely easy for the development team to decide while adhering to customer’s requirements.

Changing Project Objectives

Changing project objectives is another problem that development teams face. While revised goals might not lead to complete project failure, what they do lead to is extraordinary delays in the project timeline, increased project costs, and many other problems that come with these two.
Once again, the two approaches, i.e., the waterfall methodology and the agile methodology, deal with the changing project objectives in very different manners. Since The Waterfall is a linear management approach, project objectives changes can have devastating effects. For example, the team would have to start again from scratch, as there was no room for modifications.
The Agile methodology, on the other side, is all about working in small iterations. At the end of each iteration, there is an opportunity for change. While changing the project objectives is still not ideal, there is room for these modifications. However, these projects usually cost more and maybe take slightly longer than a project with fixed objectives.

Unforeseen Risks

As Donald Rumsfeld said,

There are known knowns; there are things we know we know. We also know there are known unknowns; that is to say, we know there are some things we do not know. But there are also unknown unknowns—the ones we don’t know we don’t know.

According to Donald, there are usually three kinds of risks

  1. Known Knowns, i.e., the ones that a team usually expects and is prepared to face
  2. Known Unknowns, i.e., these refer to the issues that have a slight potential of becoming a risk and
  3. Unknown Unknowns – these are the most dangerous of all as they arrive when everything is going alright, and you’re least prepared for any risk.

The report by the Project Management Institute shows that unexpected risks account for 27% of the total IT project failures. This problem is one of those that you cannot do anything about other than being ready for it. A recent example of one such risk was the current global pandemic that turned the entire world upside down and led to many important IT projects’ failure. There wasn’t much that the development teams could do about it except those utilizing agile methodologies. Agile allows teams to be flexible and leave room for any transformations and modifications that might take place during the unexpected risk. A group of software engineers who practiced agile methodologies is better equipped to cope with such problems.

Inaccurate Estimations

Making correct estimations is perhaps one of the most critical parts of a project. Simultaneously, it is also one of the significant reasons behind delayed projects or going over the budget. Whenever a project is about to be started, customers require both a quote and a timeframe to complete it. This is when everyone from the development team to testing and project managers needs to come together to make accurate estimations about the price and the timeline of the project.
An accurate estimation of the cost includes considering everything that needs to be done and leaving a margin for unexpected expenses that may arise during the project. The same can be said about the project timeline, i.e., the team needs to evaluate everything that might consume time or cause delays in the project timeline.

Dependency Delays

While many IT projects are relatively simple and are carried out by small, individual teams, that does not hold for other large and complex IT projects. In such cases, multiple teams or numerous companies are working on the project at a given time. When tasks are divided between various software engineers, designers, testers, and so on, all team members share the overall work necessary for the project. This dependency means each team needs to complete their part of the project before even attempting a higher stage.
This condition is what causes delays in many projects and sometimes leads to project failure altogether. Some studies show that dependency delays have cause almost 23% of the projects to fail to reach their finish line. There is not much that could be done, especially in large IT projects where a single team cannot carry out the task, and there is no other option but to integrate more teams into the project.
A better approach to this problem is to divide the work into teams to reduce their dependability on each other. Since that is not 100% possible, contingency plans must also roll in place — the management must have a backup plan for each part of the project. If a team fails to deliver on time, a backup team must always be there to help them reach the goal on time.

Lack of Resources

Once again, this problem has been linked to an issue we discussed previously. A lack of resources, monetary resources, and human resources, is only caused when the team makes inaccurate estimations. It is habitual of the development teams to undermine the scope of work of a particular project or to understate the costs associated with each part.
When the project starts, the development team becomes overwhelmed with work and demands more human resources to be brought on to the group or run out of money and require more budget to fulfill the project goals.

Poor Project Management

Last but not least is the most important of all, i.e., project management. A better-managed project can help avoid all the problems mentioned above of an IT project and successfully see it to completion. On the other hand, bad project management can lead to any one of the issues discussed above. If a manager is not doing his job well, it may lead to inaccurate estimations of required human resources, or the project costs cause unusual delays in the project. A good project manager sets realistic timelines, understands the problems that a member of their development team might face, and forms a communication bridge between the development team and the stakeholders.

Conclusion

To sum it all up, all these problems can be easily avoided, and a lot of past and existing projects could be made more successful. One of the steps that need to be taken by software development teams is opting for more agile and adaptive development methodologies that are not rigid and allow room for change. These methodologies help deliver the projects on time and help the teams overcome any financial or human resource problems. Other than that, project managers of such projects need to bring their A-game to work and ensure that each project gets the attention it deserves.

Author

Kris Terziev

Kris is the Head of Research and Development at CodeCoda and, as he himself says, is constantly seeking better methods of developing and implementing software solutions.
In his previous experience as a software engineer, he has experienced everything from plain assembly code through the optimization of the process of business and functional analysis and the development of Fintech Applications.
During his school years, he won several medals in international competitions in mathematics and computer science. Concerning his professional interests, he pays special attention to algorithms and software development methodologies.