The Agile Manifesto
Following the observation of a high project failure rate in the 1990s, 17 software development experts met in the United States in 2001 to share their respective methods. The “Agile Manifesto” is born from this meeting and determines the values and fundamental principles of the Agile method.
Greater customer involvement and better team responsiveness to their requests are at the heart of the Agile method. This manifesto advocates the 4 fundamental values of the methodology:
- The team , i.e. individuals and interactions rather than processes and tools
- The application , i.e. operational features rather than exhaustive documentation
- Collaboration with the client rather than the contractualization of relations
- Embracing change rather than following a plan.
From these values flow the following 12 general principles:
- Customer satisfaction first
- Welcoming change requests
- Deliver operational versions of the application as often as possible
- Ensure permanent cooperation between the client and the project team
- Build projects around motivated people
- Prioritize face-to-face conversation
- Measure the progress of the project in terms of application functionality
- Advance the project at a sustainable and constant pace
- Paying continuous attention to technical excellence and design
- keep it simple
- Empower teams
- Regularly adjust behavior and processes to be more efficient
The Agile methodology is based on this simple principle: planning your entire project down to the smallest detail before developing it is counterproductive .
Indeed, organizing all aspects of your project is a waste of time because it is rare that everything goes exactly as planned. Often, hazards arise and force you to review your planning.
The Agile method recommends setting short-term goals. The project is therefore divided into several sub-projects. Once the objective is achieved, we move on to the next one until the final objective is achieved. This approach is more flexible. Since it is impossible to foresee and anticipate everything, it leaves room for the unexpected and changes.
Another important point: the Agile method is based on a privileged relationship between the client and the project team . Customer satisfaction being the priority, the total involvement of the team and its responsiveness to customer changes and unforeseen events are necessary. Dialogue with the client is privileged. It is he who validates each stage of the project. Their changing needs are taken into account and adjustments are made in real time to meet their expectations.
With the Agile approach, nothing is set in stone. The project team must be able to constantly question itself and continually seek to evolve.
A concrete example
For example, you plan to go to Brest from Strasbourg via small country roads. Before leaving, you plan every detail of your journey by specifying the name of each town and village crossed, the precise time of passage, each street taken, the quantity of gasoline consumed, the kilometers traveled, etc. The problem is that the unexpected will not be lacking on the way: traffic jams, works and deviations, even breakdown of your vehicle. Your planning becomes obsolete very quickly and you have just wasted precious time precisely organizing an itinerary that you cannot necessarily follow. Frustrating, isn't it?
With the Agile methodology, rather than planning your entire route, you set yourself a first short-term goal, a big city, and you immediately hit the road. Once the objective has been reached, you take the time to analyze the current situation (traffic and car conditions) and adapt the rest of your route according to this information. You continue in this way until you reach your final destination.
Advantages and disadvantages
The major advantage of the Agile approach is its flexibility . Customer changes and unforeseen events are taken into account and the project team can react quickly.
Another advantage: the collaboration and frequent communication with the client, as well as his strong involvement in the project. A relationship of trust is woven between the client and the project team .
The client has better visibility on the progress of the project and can thus adjust it according to their needs. Quality control is permanent. As for the project team, it can react quickly to customer requests.
Finally, you have better control of project costs because at the end of each stage, you know the budget already spent and the one remaining. You can thus decide to continue or stop the project if the funds are insufficient.
As dialogue is privileged, the Agile method leaves little room for documentation , which can be a problem in the event of a change of project team, for example.
The client must be available and interested in his project to ensure that it will meet his needs perfectly. Not all clients have the time or the desire to become fully involved in the realization of a project.
The Agile method is not suitable for companies with a very strong hierarchical structure because of its collaborative functioning.
This methodology allows good cost control, but it makes it very difficult to see a budget for the entire project. Flexibility has a cost that the customer must be prepared to pay.
Unlike the traditional waterfall method, the Agile approach offers greater flexibility and visibility in project management. In our time when personalization is so important, this methodology is gaining more and more followers.