Méthode agile
Une méthode agile est une méthode de développement informatique permettant de concevoir des
logiciels en impliquant au maximum le demandeur (client), ce qui permet une grande réactivité à ses demandes. Les méthodes
agiles se veulent plus pragmatiques que les méthodes traditionnelles. Elles visent la satisfaction réelle du besoin du client, et
non d'un contrat établi préalablement. La notion de méthode agile est née à travers un manifeste signé par 17 personnalités
(parmi lesquelles Ward Cunningham, l'inventeur du Wiki), créateurs de méthodes ou dirigeants de sociétés.
Valeurs
Dans ce but, elles prônent 4 valeurs fondamentales (entre parenthèse, les citations du manifeste) :
- L'équipe (« Personnes et interaction plutôt que processus et outils ») : Dans l'optique agile, elle est bien
plus importante que les moyens matériels ou les procédures. Il est préférable d'avoir une équipe soudée et qui communique
composée de développeurs moyens plutôt qu'une équipe composée d'individualistes, même brillants. La communication est une notion
fondamentale.
- L'application (« Logiciel fonctionnel plutôt que documentation complète ») : Il est vital que l'application
fonctionne. Le reste, et notamment la documentation technique, est secondaire, même si une documentation succincte et précise est
utile comme moyen de communication. La documentation représente une charge de travail importante, mais peut pourtant être néfaste
si elle n'est pas à jour. Il est préférable de commenter abondamment le code lui-même, et surtout de transférer les compétences
au sein de l'équipe (on en revient à l'importance de la communication).
- La collaboration (« Collaboration avec le client plutôt que négociation de contrat ») : Le client doit être
impliqué dans le développement. On ne peut se contenter de négocier un contrat au début du projet, puis de négliger les demandes
du client. Le client doit collaborer avec l'équipe et fournir un feed-back continu sur l'adaptation du logiciel à ses
attentes.
- L'acceptation du changement (« Réagir au changement plutôt que suivre un plan ») : La planification initiale
et la structure du logiciel doivent être flexibles afin de permettre l'évolution de la demande du client tout au long du projet.
Les premières releases du logiciel vont souvent provoquer des demandes d'évolution.
Principes
Ces 4 principes se déclinent en 12 principes généraux communs à toutes les méthodes agiles :
- « Notre première priorité est de satisfaire le client en livrant tôt et régulièrement des logiciels utiles ».
- « Le changement est bienvenu, même tardivement dans le développement. Les processus agiles exploitent le changement
comme avantage compétitif pour le client ».
- « Livrer fréquemment une application fonctionnelle, toutes les deux semaines à deux mois, avec une tendance pour la
période la plus courte ».
- « Les gens de l'art et les développeurs doivent collaborer quotidiennement au projet ».
- « Batissez le projet autour de personnes motivées. Donnez leur l'environnement et le soutien dont elles ont besoin, et
croyez en leur capacité à faire le travail ».
- « La méthode la plus efficace de transmettre l'information est une conversation en face à face ».
- « Un logiciel fonctionnel est la meilleure unité de mesure de la progression du projet ».
- « Les processus agiles promeuvent un rythme de développement soutenable. Sponsors, développeurs et utilisateurs
devraient pouvoir maintenir le rythme indéfiniment ».
- « Une attention continue à l'excellence technique et à la qualité de la conception améliore l'agilité ».
- « La simplicité - l'art de maximiser la quantité de travail à ne pas de faire - est essentielle ».
- « Les meilleures architectures, spécifications et conceptions sont issues d'équipes qui s'auto-organisent ».
- « À intervalle régulier, l'équipe réfléchit aux moyens de devenir plus efficace, puis accorde et ajuste son comportement
dans ce sens ».
Méthodes
Liens externes

