Less than a third of web application projects are completed on time and on budget. It is a statistic that must be faced and be realistic about it.
It is only by being aware of this reality that we will be able to implement good risk management.
This will be done in 4 steps:
- Identify the risks that could make you miss your project objectives
- Identify the most significant risks
- Take into account the most dangerous risks in planning
- Stay on course and identify risks continuously
To be able to follow this plan at best, you will have to understand where the risks can appear and how to protect yourself, and thus ensure the success of your web application project.
1.) Incomplete Specification Of The Perimeter:
The specifications and the functional specification are important elements for the success of your projects. But if these documents are incomplete, the gaps will have to be filled. It must be ensured that the addition of elements is not made in an emergency.
The urgency only creates more holes and the perimeter of the project will tend to drift. And the more the perimeter drifts, the more your project is likely to fail.
Take the time to reflect so that the specification of the perimeter is as complete as possible. And if it is not, take the time to complete it.
2.) Instinctual Prioritization:
A perimeter under control can only happen with decisions based on research. You probably do not have the expertise of the trade. Doing it by instinct is like playing heads or tails. But that’s not all. The instinct of the person in charge of the profession is not necessarily better.
Users will use the app every day. They are the ones who have problems to solve. Because an application is that, a way to solve the problems (of productivity for example) of users.
It is therefore essential to interview end-users. Only then will you understand what is important and what is not. This is the basis of user research. With the data collected, it becomes easy to find the right priorities and define a perimeter that will not overflow.
3.) Human Resources:
Without a good recruitment process, a good onboarding or a good culture, the technical team will not be able to realize the web application.
Recruiting a technical team is a daunting task. Excellent profiles are rare and expensive. But a good team is not only made up of excellent developers, it is varied.
The understanding between team members is not necessarily easy and creating a culture of sharing and collaboration is important. Good humor is a productivity booster! In addition, it will be necessary to ensure that each new member of the team adapts well. For example, good onboarding is essential to get it up and running quickly.
4.) Process-Free Code Management:
Using a version control system for the code is only the first step to effective team collaboration on the code. Other improvements must be made, such as:
- Doing code reviews will detect errors and check that best practices are used
- Have separate code branches for each version
- Use DevOps practices like continuous integration to run automated tests at each code change
5.) No Automated Tests:
The best way to waste time finding bugs is to not have automated tests.
The writing of these tests is frequently ignored or done in a hurry. The argument often put forward is the lack of time to write them down. But the time lost, or rather invested, in writing them is time saved on maintenance in the future.
In addition, you must write long-term tests. 100% code coverage does not mean that all use cases of all application functions are properly covered. It is therefore important to make sure to write tests guaranteeing the identification of future problems.
6.) Missing Or Incomplete Monitoring:
Take for example a database problem. Your application is in production and everything is fine but the more data there is the slower the application. But this slowness is subtle at first and not really noticeable.
Without monitoring, the identification of the problem will only occur when it has grown to such an extent that users have serious problems using the application. The application has become too slow and the changes to the database schema will require a much greater workload than if the problem had been identified earlier.
Proactively identifying risks helps keep user satisfaction and cope with problems encountered before they take on such importance that the resolution time has increased exponentially.
7.) Forget About Bugs And Scaling Up In The Budget:
These problems that you may encounter as in the previous example are common. Nothing is perfect. The start of production does not signify the end of the project. Bugs may have bypassed quality assurance. And performance issues often only happen after real users start using the app.
This post-production maintenance is critical for the success of the project. It is therefore very important not to forget it in the budget. It represents between 10 and 25% of the budget. It is not a small expense. And not having a budget to fix a blocking bug so that the application is actually usable may cause your project to fail.
In conclusion, there are many reasons why your project may fail. You must be aware of these problems and put in place a strategy to keep them under control throughout the life of your project.