There are so many things that can go wrong with a project that are almost impossible to foresee.There are though some common patterns around every project that it’s mandatory to have them in sight.
These problems are not always caused by obvious actions but if you have constant control over your project, you should see them coming and you should do your best to avoid them. Below there is a list of the most common 5 problems of IT projects that I believe every project manager should look after during the entire execution phase of their projects.
1. Customer is not satisfied with the final version of the product.
That mostly happens because the initial requirements of the project were not clear enough and therefore there were many project assumptions not thoroughly discussed by both parties. Another reason for this could be the fact that the requirements got changed during project execution without both parties be aware of it.
A good recommendation to overcome this problem is to conduct a very detailed discovery phase(link) in which you need to write down all project requirements and assumptions, especially if you notice that the customer is changing their mind very often.
2. The project is going over-budget.
There are many reasons for a project to go over-budget. Some of them are easy to spot and some others are not that obvious but “dangerous”. I will highlight below some of them:
- The initial project estimate is not accurate. This may be caused by a subject matter expert that did a very optimistic estimate believing that a certain team will work on the project.
- During project execution, the customer managed somehow to sneak change requests that eventually made the project effort bigger.
- A risk management procedure was not properly made and project was affected by hazard. For example a junior managed to delete entire database (That’s a true story 😉 ).
3. The project is going over-time.
The reasons for a project to go over-time are sometimes overlapped with the ones specific for an over-budget project but in addition to that I will also highlight the following:
- A less prepared development team was selected to execute the project.
- The development team is not assigned full time on the project.
- Poor monitoring of the project execution and as a result you realize to late that the project is not even near to completion.
- The development starts before having a signed contract.
There are certain occasions when everything goes incredibly well during a negotiation phase. The customer has a very detailed project documentation, they understand very well the technical aspects that you are proposing and you shake hands pretty fast while leaving the paperwork for later.
After that you start to develop the project and just a bit later some contradictory discussions start to appear regarding the implementation of certain functionality. You try to make a reference to the requirements document that was initially used during negotiation but suddenly you notice that the version number got changed during this time without you to be notified about it. You also find out meanwhile that the paperwork has not yet been signed.
What do you do then? You know that this is not fair play but since you don’t have any legal support, you can’t put big pressure on the customer and you need to update the functionality to match the new version of the requirements otherwise bigger conflicts may arise.
Don’t start work before having a signed contract!
5. Team conflicts
You have probably noticed that on certain occasions, if you are a little depressed or if you have a bumpy period, your productivity gets affected. That happens to all of us, including your team members.
If there are conflicts in your team, even small insignificant ones, try to deal with them while they are still manageable, because each drop might fill the glass and when they escalade, bad things can happen which eventually can affect project deliverables.
I’m sure there are probably more common problems that I might have overseen but for sure for most of them there is only one generic solution: do constant audit on your project. Do not assume that everything goes well all the time and always have a risk management plan in place.