March 28, 2017
Project Failure – Common Reasons Why IT Projects Fail
While working on a project, the main goal is always to make it a success. A successful project means timely completion of deliverables within the allocated budget, meeting the desired quality standards. Everyone wants to deliver a successful project still, a lot of time there is project failure.
We have gathered the list of common reasons behind the failure of IT projects. You might be surprised to see that some of the factors appear good at first, but they are troublemakers for our projects in reality. Once you understand the common mistakes that lead a project towards failure, you can take appropriate steps to prevent your project from going down the same route.
Here are some common reasons of IT project failure:
- Lack of Interest from Management
- Cost-cutting Approaches
- Lack of Proper Planning
- Selection of Technologies
- Failure to Manage Scope Creep
- Overly-optimistic Project Schedule
- Overstaffing of Projects
- Poor Communication
- Data Migration by Unskilled Resources
- Little Testing or Skipping the Testing Phase
Here we have listed 10 reasons of IT project failure, now understand each reason in detail:
Lack of Interest from Management
At times, the management is under the wrong impression that they cannot understand the IT things and leave the IT projects to the technical team completely. This thinking results in a lack of interest from management; as a consequence, the technical team gets more freedom in taking their decisions.
What is tricky here? The freedom of taking decisions on their own by technical team can cause trouble, since technical teams do not understand business objectives well and might go against business objectives unintentionally.
The management needs to pay due attention to the IT projects and get regular project progress updates from the team. If your technical team cannot present what they are doing, they might not know what exactly they are doing.
All businesses want to save money, when it comes to expenditure. It feels great, but can cost you bigger if you apply cost cutting approach to your IT projects. Allocating insufficient and small budgets for your projects will result in procurement of comparatively less skilled resources.
Initially underfunded projects come back late, over budget, and are often missing features or have quality issues. The lesson is simple. Allocate budget enough to hire right people for the job. Allocate budget to hire all resources that are required for the success of IT projects. Only developers do not build up a team for IT project; you need business analyst, testers and project manager too.
(Must read: How to reduce the cost of bugs?)
Lack of Proper Planning
Techies are fast paced people – may be that is why they tend to jump in and get things started right away. There can be multiple explanations for this attitude; however, the result of the behaviour is same – absence or lack of proper planning for the projects.
Many IT projects are started without having a thorough understanding of the scope and project outcome. Any project would fail if the targets are unclear and everything is managed in a haphazard manner.
Remember, that a successful project does not only mean ‘Delivery of the final software product’, rather it means producing the desired project outcome within the targeted time period and budget.
The absence of proper planning brings numerous problems to the project such as:
- Unclear scope and objective
- Confusion about roles and responsibilities
- Inefficient utilization of resources
- Unavailability of resources at critical time
- Uneven workload on the team
- Incorrect time estimates
- Incorrect cost estimates
- Poor performance
Selection of Technologies
Wise selection of technologies prevents technical failure of the project. No project manager can save your project, if the chosen tools and technologies for the IT project are wrong. It is easy to be swayed by the latest, exciting technologies. Some project managers choose a programming language and environment because of personal preferences; others choose what is trendy and emerging.
The key point to remember here is to understand the business problem and examine the nature of problem. Once you have understood the ‘why’ and ‘what of the problem, you can proceed to unfold ‘how’ of the solution. Generally, business people are not interested in the backend technologies, rather they want a solution that can work for them with minimal investment cost.
A project can fail technically if you select programming language, development environment, or operating environment that does not align with your problem. Another hurdle comes when you make the right selection of tools and technologies, yet you don’t have skilled resources for the selected tools and technologies. Make sure that you have the required resources who can get the job done, when assigned any.
Besides the technical solution, you need some tools for performing supporting project management activities and team communication. These tools are necessary to help you manage the software development lifecycle.
Failure to Manage Scope Creep
What happens if you are presented with new ideas while developing a product? The answer is simple, you lose focus. Yes, it is good to keep on improving but you need to put a ‘stop’ at someplace to release the deliverables.
The right time for doing brainstorming is the early phase of the project when all the requirements are being gathered, technologies are selected and technical processes are finalized. The early phases of the project are used to figure out what should be build and how it should be build. Once finalized, project team moves on to developing the agreed product.
Requirements growth becomes a problem when you keep on adding functionality without allocating more time or budget. Similarly, modification to existing requirement might also need more re-work, time and effort – affecting your project performance baselines. Keep in mind that not every requirement needs to be implemented in the current version of the application. If you are close to production and new requirements sneak in, convince the stakeholders to save those for a later version.
There is always a room for improvement. This approach can be disastrous for your project if you keep on improving the same deliverable again and again. This approach results in immense scope creep if you keep coming with better ideas for your product when your product is in the development phase.
These ideas can be a brainchild of the client, the project lead or even the project team members. Better ideas can take many forms, such as new requirements, modification of existing features, and change in data model, adopting better coding approach and better organization of existing code.
Overly-optimistic Project Schedule
All of us have been a victim of situation where some boss or lead makes a commitment with the client and imposes a deadline for the project. There can be numerous reasons behind doing so. For example, the boss thinks that the project should be completed by a certain date or the client wants to enjoy his holidays and wants the project completed before that.
Project managers develop overly optimistic schedules to meet random deadlines. An overly optimistic schedule is followed by immense pressure on the team and is loathed by the team members. The team members might put in extra efforts to complete their deliverables on time, but a delay in any single deliverable badly affects the others. Hence, such a schedule propels the project towards project monitoring and controlling challenges.
Overstaffing of Projects
Another reality of an overzealous schedule often results in overstaffing of the project. Overstaffing the project paves the ways for more means of miscommunication. This will not only increase the project cost, it might add to the trouble as the integration of different sections of code and integration testing is also required before delivering the release. I can recall an old proverb which explains the scenario well i.e. too many cooks spoil the broth.
Poor communication is yet another common reason of IT project failure. This problem can also be linked to the lack of project management. Effective and efficient communication with stakeholders, management and the project team is vital for success of a project. It is the responsibility of the project manager to communicate the updated approved requirements and decisions to the team members.
A project manager can handle all those required communication, but intra-team communication remains a challenge. Common communication mistakes in the IT projects occur when some team member is not kept in the communication loop. It might happen that you are close to deadline and senior team members communicate more often – sidelining the junior resources. When a team member does not feel as an important part of team, he might lose motivation which eventually affects his performance.
Personally, I have observed that the developers are so busy in their work that they don’t find it important to inform the quality assurance personnel about any changes in the requirement, decided by the development team. The quality assurance personnel continue testing the application using their previous knowledge and raise false flags. This scenario causes you cost, time and effort.
There are several team communication tools available to facilitate the communication between teams assigned on a single project such as Slack and Asana. You might also need to focus on ways to improve team communication.
Data Migration by Unskilled Resources
Data migration does not occur in all projects, but this key point is generally overlooked so we included it in the reasons of why IT projects fail. The common flaw in data migration is too few or less skilled resources are assigned to this task. By the end of the project it becomes evident that the data migration was a complex task which needed more attention. For example, implementing generic data structures for data migration requires expertise. Hence, you need to plan ahead for any data migration in the project.
Little Testing or Skipping the Testing Phase
Some team leads for the IT projects are under the wrong impression that development tasks are major for the success of projects. This is not true. Each phase of software development life cycle, SDLC, is equally important. Your software product can utterly fail if you skip the testing phase or keep it for the end.
In the software industry, we all are well familiar with the situation when the release is getting ready for the production but new requirements come in or developers continue fixing old issues, without giving anything to the testers for testing. This results in a reduced time line for the testers to completely test the application. The consequence is obvious, either you don’t catch all the issues or even if you do so, you have got little or no time for fixing the issues. Besides missing the deadline, a mess is created.
The problem can be avoided if you continue testing the smaller components in parallel, as they are being developed. Studies show that the cost of fixing an issue in later stages increases exponentially so testing since the beginning of the project also helps to keep the project costs in control.
Often, project manager overlooks the warning signs that arise during testing process or keeps those issues to be resolved later. Such issues might also cause big trouble or cost at the end, as the cost of fixing any issue increases exponentially. A regular and diligent testing process is essential to ensure delivery of a quality product to the customer.
If you go through the above reasons of why IT projects fail, you can easily see that most of the reasons have their root in the flawed project management. More than half of your reasons can be avoided altogether, if you hire a professional project manager to manage your projects. Project management may sound trivial but it is the most challenging part in any project.
A good project manager can steer your project towards success by planning properly, selecting the right technologies, advocating accurate time and budget estimates, handling the scope creep, managing all communications and assigning the right people to the job.
Assign a project manager to your IT projects. I repeat, assign a project manager, not a ‘technical lead’. A technical lead plays an important role to handle the technicalities of the project, yet there are many areas which need the expertise of a project manager. Project managers have the skills to balance several aspects of a project and don’t get trapped in technicalities alone.
Project fail when project managers are not able to do to any of the following:
- Make decisions
- Manage scope
- Manage schedule
- Manage budget
- Manage risks
- Track project progress
- Measure performance
- Communicate effectively
- Resolve problems
Remember that a project cannot go from being well managed, on-budget and on-schedule to outright failure overnight. There is always a ‘troubled’ phase in between. Your project manager needs to be cautious of any warning signals and take appropriate actions timely.
Now you have understood the common reasons why IT projects fail. The way forward is to take counter steps proactively and prevent the problems, before they arise. You need to spend some time on proper planning of the project, prepare realistic estimates for schedule and budget, establish a change control process, improve communication and overall project management practices.
Tell us your experiences and thoughts on why IT projects fail in the comment section below. What steps did you take to overcome those challenges and make your project a success?