Agile (FR)
La méthodologie de développement agile est un terme générique pour un ensemble d'approches et de pratiques basées sur les valeurs du Manifeste pour le développement agile de logiciels et sur les 12 principes qui le sous-tendent. Les méthodologies agiles incluent, entre autres, l'extreme programming, DSDM, Scrum, FDD, BDD et d'autres.
Parmi les méthodes « agiles », on trouve notamment XP, DSDM, Scrum, FDD, BDD.
La plupart des méthodes « agiles » visent à minimiser les risques en divisant le temps de développement en itérations (ou périodes) — des intervalles de temps relativement courts. Une itération dure généralement de deux à trois semaines, se présente comme un projet logiciel en miniature et inclut les tâches nécessaires pour obtenir un petit incrément de fonctionnalité : planification, analyse des exigences, conception, programmation, test et documentation. Une seule itération n'est généralement pas suffisante pour livrer une nouvelle version du logiciel, mais il est entendu qu'à la fin de chaque itération, une nouvelle version du logiciel est prête à être livrée. À la fin de l'itération, l'équipe réévalue les priorités de développement.
Les méthodes « agiles » reposent sur la communication en face à face. La plupart des membres de l'équipe travaillent dans un même bureau, parfois appelé en anglais bullpen. Le bureau inclut au minimum un « client » (en anglais product owner) — le client du logiciel ou son représentant, qui définit les exigences du logiciel. Le rôle de « client » peut être tenu par un chef de projet, un analyste d'affaires ou le client lui-même. Le bureau peut également accueillir des testeurs, des concepteurs d'interface, des rédacteurs techniques et des managers.
Les métriques des méthodes « agiles » sont liées au logiciel fonctionnel produit. Les adeptes des méthodes « agiles » (par rapport à ceux d'autres méthodes) communiquent davantage et rédigent moins de documentation, ce qui leur vaut d'être considérés comme moins disciplinés.