1) Le Manifeste AGILE
En 2001 plusieurs représentants de méthologies dites AGILE (XP, Scrum, DSM, etc.) se sont réunis pour discuter des méthologies de développement de logiciels. Ces personnes qui se sont données le nom de "Alliance Agile" ont alors produit puis cosigné le manifeste suivant, qui résumé les idées derrière les méthologies Agile :
« Nous découvrons comment mieux développer des logiciels par la pratique et en aidant les autres à le faire. Ces expériences nous ont amenés à valoriser :
- Les individus et leurs interactions plus que les processus et les outils
- Des logiciels opérationnels 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 plan
Traduction de l'anglais par le club Agile Rhones Alpes
Des quatres principes édictés ci-dessus découle les 12 principes suivants :
- Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée.
- Accueillir positivement les changements de spécifications, même tard dans le projet. Les processus Agiles exploitent le changement pour donner un avantage compétitif au client.
- Livrer fréquemment un logiciel opérationnel avec des cycles de quelques semaines à quelques mois tout en préférant les cycles les plus courts.
- Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet.
- Réaliser les projets avec des personnes motivées. Leur fournir l’environnement et le soutien dont ils ont besoin. Leur faire confiance 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 soutenu. 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 autoorganisé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.
Le tableau suivant donne une liste des principales méthologies AGILE avec les noms des "guru" de ces méthodes, qui sont par ailleurs sigantaires du Manifeste Agile.
| Méthologie | Guru |
|---|---|
| XP (eXtreme Programming) | Kent Beck |
| DSM (Dynamic System Developement Method) | Dane Faulkner |
| FDD (Feature Driven Developement) | Jeff Deluca |
| Scrum | Ken Shwaber |
| Crystal | Alistair Cockburn |
| Adaptive Software Developement | Jim Highsmith |
| Lean software Developement | Mary Poppendieck |
Le graphe suivant donne une idée sur le pourcentage des méthologies utilisées de part le monde, selon un rapport de Forester en 2008 :
Les bénéfices des méthodologies AGILE peuvent ainsi se résumer :
- Fournir l'aide pour effectuer les changements de spécifications et de priorités.
- Minimiser le coût du changement
- Fournir une meilleure visibilité sur la progression du projet
- Minimiser les risques
- Maximimser le Retour sur Investissement
- Encourager un code plus simple et de meilleure qualité
- Livrer de la valeur ajouté métier tôt et souvent
- Implication constante des responsables métier
- Besoin de plus de discipline
- Accent mis sur les tests
- Equipe de développement compétente
- Equipe de développement multi-disciplinaire
SCRUM comporte 3 rôles, 3+1 activités et 3+1 documents.
Les rôles SCRUM :
- Product Owner
- Scrum Master
- Scrum Team Member
- Planification du Sprint
- Scrum quotidien
- Revue du sprint
- Rétrospective du sprint
- Product Backlog
- Sprint Backlog
- Diagramme Burn down
- Liste des obstacles
Tous les éléments ci-dessus seront détaillés dans la troisième partie de cet article. Terminons celui-ci par une description globale du processus SCRUM :
Source : Paul J. Pazderski, Manifesto for Agile Software Developement
La liste des fonctionnalités se trouve dans le "product Backlog". On extrait les fonctionnalités à réaliser dans un Sprint et on les rajoute dans le "Sprint Backlog". Après réalisation, ces fonctionnalités viennent enrichir les versions successives et opérationnelles du logiciel.



Aucun commentaire:
Enregistrer un commentaire