La méthodologie agile s’oppose généralement à la méthodologie traditionnelle waterfall (« en cascade »). Elle se veut plus souple et adaptée, et place les besoins du client au centre des priorités du projet.
Plutôt que de fixer des objectifs à long terme et de s’y tenir jusqu’à la sortie du projet sans apporter de modifications, la méthodologie agile permet de se fixer des étapes courtes de développement et permet de modifier les objectifs en cours de projet afin de s’adapter aux besoins du client au fil de l’évolution du projet.
A l’origine, cette approche a été créée pour les projets de développement web et informatique (le framework Symfony permet des développements en mode agile), mais aujourd’hui, la méthode agile est de plus en plus répandue car elle est adaptable à de nombreux types de projets, tous secteurs confondus, surtout s’ils sont réalisés par une agence Symfony.
Table des matières
Le manifeste agile et ses principes
La méthodologie agile vise à mettre en place une plus grande implication du client et une meilleure réactivité des équipes face à ses demandes. Ce manifeste prône les 4 valeurs fondamentales de la méthodologie que voici :
- L’équipe : les individus et leurs interactions plus que les processus et les outils;
- L’application : des logiciels opérationnels plus qu’une documentation exhaustive;
- La collaboration : la collaboration avec les clients plus que la négociation contractuelle;
- L’acceptation du changement : l’adaptation au changement plus que le suivi d’un plan.
Principe de fonctionnement du développement agile
De ces 4 valeurs fondamentales en découlent 12 principes sous-jacents au manifeste agile que voici :
- Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée.
- Accueillez positivement les changements de besoins, même tard dans le projet. Les processus Agiles exploitent le changement pour donner un avantage compétitif au client.
- Livrez fréquemment un logiciel opérationnel avec des cycles de quelques semaines à quelques mois et une préférence pour les plus courts.
- Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet.
- Réalisez les projets avec des personnes motivées. Fournissez-leur l’environnement et le soutien dont ils ont besoin et faites-leur confiance pour atteindre les objectifs fixés.
- La méthode la plus simple et la plus efficace pour transmettre de l’information à l’équipe de développement et à l’intérieur de celle-ci est le dialogue en face à face.
- Un logiciel opérationnel est la principale mesure d’avancement.
- Les processus Agiles encouragent un rythme de développement soutenable. Ensemble, les commanditaires, les développeurs et les utilisateurs devraient être capables de maintenir indéfiniment un rythme constant.
- Une attention continue à l’excellence technique et à une bonne conception renforce l’Agilité.
- La simplicité – c’est-à-dire l’art de minimiser la quantité de travail inutile – est essentielle.
- Les meilleures architectures, spécifications et conceptions émergent d’équipes auto-organisées.
- À intervalles réguliers, l’équipe réfléchit aux moyens de devenir plus efficace, puis règle et modifie son comportement en conséquence.
Avantages et inconvénients du développement agile
Avantages
L’avantage majeur et incontournable de la méthodologie agile est son apport indéniable de flexibilité dans vos projets. L’équipe projet peut ainsi réagir rapidement face à des changements du client ou des imprévus.
Autre avantage, le client et l’équipe projet nouent une relation de confiance par la collaboration et la communication fréquente avec le client, et son importante implication dans le projet du début à la fin. Le client possède ainsi une solide visibilité sur l’avancement du projet et peut donc l’ajuster au gré de ses besoins.
Enfin, la maîtrise des coûts est omniprésente tout au long du projet. A la fin de chaque étape, vous connaissez le budget déjà dépensé et celui restant, vous permettant ainsi de décider de poursuivre ou d’arrêter le projet si les fonds sont insuffisants.
Inconvénients
Le premier problème qui peut survenir est le manque de documentation qui peut être apporté par la méthodologie agile. Le dialogue étant le moyen de communication privilégié, un changement d’équipe projet emporte avec lui toute la connaissance du projet acquise depuis son commencement.
Autre bémol : le manque de disponibilité du client. Dans un projet appliquant la méthodologie agile, le client doit être disponible et avoir un intérêt marqué vis-à-vis de son projet afin de lui permettre de s’assurer que le projet répond à ses besoins. Mais ce n’est pas le cas pour tous les clients dont la disponibilité et la motivation quant à leur implication dans la réalisation du projet n’est pas toujours au rendez-vous, faute d’envie ou de moyens.
Concernant les coûts du projet en méthodologie agile, si ceux-ci sont bien contrôlés, il est toutefois difficile d’avoir une vision globale d’un budget sur le long terme pour la totalité du projet. Les besoins évoluant facilement et le projet s’adaptant constamment à ces besoins, les coûts sont donc variables et la possibilité d’en définir une enveloppe globale est d’autant plus compliquée. Le client doit donc être prêt à payer le coût de la flexibilité, à savoir un projet plus cher mais qui répond mieux à ses besoins.