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 (Les besoins se situent au niveau de l'interaction entre l'individu et l'environnement. Il est souvent fait un classement des besoins humains en trois...) du client (Le mot client a plusieurs acceptations :), et non d'un contrat établi préalablement. La notion de 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...) est née à travers un manifeste signé par 17 personnalités (parmi lesquelles Ward Cunningham (Ward Cunningham (né le 26 mai 1949) est un informaticien américain, connu entre autres, pour avoir inventé le concept de wiki.), 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 (Une interaction est un échange d'information, d'affects ou d'énergie entre deux agents au sein d'un système. C'est une action réciproque qui suppose l'entrée en contact de sujets.) plutôt que processus et outils ") : Dans l'optique (L'optique est la branche de la physique qui traite de la lumière, du rayonnement électromagnétique et de ses relations avec la vision.) agile, l'équipe 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 (La communication concerne aussi bien l'homme (communication intra-psychique, interpersonnelle, groupale...) que l'animal (communication intra- ou inter- espèces) ou la machine (télécommunications, nouvelles...) est une notion fondamentale (En musique, le mot fondamentale peut renvoyer à plusieurs sens.).
  • 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 (La charge utile (payload en anglais ; la charge payante) représente ce qui est effectivement transporté par un moyen de transport donné, et qui donne lieu à un paiement ou un...) de travail importante, mais peut pourtant être néfaste si elle n'est pas à jour (Le jour ou la journée est l'intervalle qui sépare le lever du coucher du Soleil ; c'est la période entre deux nuits, pendant laquelle les rayons du Soleil...). 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 (La négociation est la recherche d'un accord, centrée sur des intérêts matériels ou des enjeux quantifiables entre deux ou plusieurs interlocuteurs (on ne négocie pas avec soi-même, on délibère),...) 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 (Un projet est un engagement irréversible de résultat incertain, non reproductible a priori à l’identique, nécessitant le concours et...), 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 (En informatique, un logiciel est un ensemble d'informations relatives à des traitements effectués automatiquement par un appareil informatique. Y sont inclus les instructions de...) à ses attentes.
  • L'acceptation du changement (" Réagir au changement plutôt que suivre un plan ") : La planification (La planification est la programmation d'actions et d'opérations à mener) initiale et la structure du logiciel doivent être flexibles afin de permettre l'évolution de la demande du client tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou l'univers.) au long du projet. Les premières releases du logiciel vont souvent provoquer des demandes d'évolution.

Principes

Ces 4 valeurs 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 (En mathématiques, le terme fonctionnelle se réfère à certaines fonctions. Initialement, le terme désignait les fonctions qui en prennent d'autres en argument. Aujourd'hui,...), toutes les deux semaines à deux mois (Le mois (Du lat. mensis «mois», et anciennement au plur. «menstrues») est une période de temps arbitraire.), avec une tendance pour la période la plus courte ".
  • " Les gens de l'art et les développeurs doivent collaborer quotidiennement au projet ".
  • " Bâtissez le projet autour (Autour est le nom que la nomenclature aviaire en langue française (mise à jour) donne à 31 espèces d'oiseaux qui, soit appartiennent au genre Accipiter, soit constituent les 5 genres Erythrotriorchis, Kaupifalco, Megatriorchis,...) de personnes motivées. Donnez leur l'environnement (L'environnement est tout ce qui nous entoure. C'est l'ensemble des éléments naturels et artificiels au sein duquel se déroule la vie humaine. Avec les enjeux écologiques...) 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 (En physique et en métrologie, les unités sont des étalons pour la mesure de grandeurs physiques qui ont besoin de définitions précises pour être utiles. Les...) de la progression du projet ".
  • " Les processus agiles promeuvent un rythme de développement soutenable. Commanditaires, 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é (La quantité est un terme générique de la métrologie (compte, montant) ; un scalaire, vecteur, nombre d’objets ou d’une autre manière de dénommer la valeur d’une collection ou un groupe de choses.) de travail à ne pas faire - est essentielle ".
  • " Les meilleures architectures (Architectures est une série documentaire proposée par Frédéric Campain et Richard Copans, diffusé sur Arte depuis 1995.), 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

  • Adaptive software development (Adaptive software development (ASD) est une méthode agile créée par Jim Highsmith.) (ASD)
  • Crystal clear (Crystal clear est une méthode de gestion de projet. Sa méthodologie est très fortement adaptable aux spécificités de chaque projet. Plusieurs principes doivent être partagés par l'ensemble de l'équipe :)
  • Dynamic systems development method (Dynamic systems development method (DSDM) est une méthode de gestion de projet de la catégorie des méthodes agiles. Cette méthode a été développée en...) (DSDM)
  • Extreme programming (L'Extreme Programming (XP) est une méthode agile de gestion de projet informatique adaptée aux équipes réduites avec des besoins changeants. Elle pousse à l'extrême des principes simples.) (XP)
  • Feature driven development
  • Processus Urbanisant les Méthodes Agiles (PUMA)
  • Rapid Application Development (La méthode RAD, acronyme de Rapid Application Development (développement rapide d'applications en français), est une méthode de développement de logiciels où le...) (RAD)
  • Scrum (Scrum est une méthode agile pour la gestion de projets. Elle a été conçue pour améliorer grandement la productivité dans les équipes auparavant paralysées par des méthodologies plus lourdes. Les racines de Scrum se retrouvent dans la...)
Page générée en 0.017 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique