As technologies become ever more powerful and easier to implement, many IT projects continue to slip significantly in terms of planning, resources and results achieved. Thus significant disappointments and frustrations are emerging among both the users and the technical teams.
Ask the users and you will always get the same answer: “the development teams do not take responsibility for the delays”. Ask the Development team and you will always get the same explanation: “Users are constantly changing specifications.”
Yes, it is a fact, between the project launch and the end of its development requirements become clearer, the strategy is refined, features are added and all these within a regulatory framework which is also sometimes changing. All these elements are stressing factors that are acting cumulatively and may end up severely impacting the progress and success of an IT project.
This failure demonstrates the limits and shortcomings of the “classic” approach to project management: writing a detailed specification, allocating resources and monitoring of the overal development by the project manager, testing by the users of the finished product
Since it is impossible to delete the disruptive elements of the project (eg changes in specifications), it is rather approprtiate to adopt a more flexible organization that adapts better to changes and limits the impact they have: these are the agile methods.
Agile methods are challenging many aspects of project management to improve flexibility:
How to formalize a need?
How to measure the progress of a project?
How to organize a development team?
What is the role for the project manager?
When to involve users?
How to know the working capacity of a team?
What degree of transparency to adopt?
How to plan and structure developments?
How to estimate a load?
There is no magic formula which will give a team immediately a maximum agility. But there is nevertheless a list of ingredients that help improve day by day its agility.
By using Agile methods and Scrum, the overall visibility of your project inreases, your metrics are more reliable and accessible at any time. The work of the team produces better results and satisfies the users. You will reduce the final cost by identifying and arbitrating drifts at the time they appear.
However, the mastery of Agile methods and Scrum is acquired mainly through experience. In an ideal world, we should use the method of trial and error to allow trainees of Agile testing in a real and without the constraints of the good and the bad options. Unfortunately, these ideal conditions rarely exist and learning takes place within Agile projects whereby the planning and resources are limited.