On entend de plus en plus parler de méthode agile particulièrement dans le développement de logiciel. On entend aussi parler de SCRUM.
La méthode Agile représente un ensemble pratiques basées sur les valeurs et les principes du Manifeste Agile, qui repose entre autre sur la collaboration, l’autonomie et des équipes pluri-disciplinaires.
Scrum est un framework qui est utilisé pour implémenter la méthode Agile de développement et de gestion de projet.
En fait Agile est plus qu’un méthode, On parle plutôt de paradigme agile, d’état d’esprit agile, de philosophie agile, de culture Agile ou encore d’approche agile, de mouvement agile, de courant agile,
Une approche dite « traditionnelle » attend généralement du client une expression détaillée et validée du besoin en entrée de réalisation, laissant peu de place au changement. La réalisation dure le temps qu’il faut et le rendez vous est repris avec le client pour la recette. Cet effet tunnel peut être très néfaste et conflictuel, on constate souvent un déphasage entre le besoin initial et l’application réalisée. On se rapporte alors aux spécifications validées et au contrat. Certains projets se terminent dans la douleur (surtout dans le cadre d’un contrat au forfait classique) au risque de compromettre la relation client. De plus il n’est pas rare que certaines fonctionnalités demandées se révèlent finalement inutiles à l’usage alors que d’autres, découvertes en cours de route, auraient pu donner plus de valeur au produit.
Le manifeste agile comprend 4 valeurs
- Les individus et leurs interactions plus que les processus et les outils.
- Un logiciel qui fonctionne plus qu’une documentation exhaustive.
- La collaboration avec les clients plus que la négociation contractuelle.
- L’adaptation au changement plus que le suivi d’un place
Les 12 principes agiles
- 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.
- 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 elles ont besoin et faites-leur confiance pour atteindre les objectifs fixés.
- Privilégiez la co-location de toutes les personnes travaillant ensemble et le dialogue en face à face comme méthode de communication.
- Un logiciel opérationnel est la principale mesure de progression d’un projet.
- 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 à un bon design.
- 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 possibles pour devenir plus efficace. Puis elle s’adapte et modifie son mode de fonctionnement en conséquence.