Accueil > Services >

developpement agile

Historiquement le

développement agile

tire son nom et concentre ses principes au sein du Manifeste Agile (The Agile Manifesto), un document qui fut rédigé en février 2001 (http://agilemanifesto.org/).

Parmi les méthodologies représentées dans ce manifeste :

Extreme Programming, SCRUM, DSDM, Crystal, Pragmatic Programming

. Ce document tente de donner les principes fondamentaux du développement agile.

Ces principes sont au nombre de 12, les plus représentatifs sont les suivants :


  • parvenir rapidement à la satisfaction du client par le biais d'un

    cycle rapide

    , récurrent et incrémental de versions fonctionnelles,
  • se montrer efficace dans la prise en compte des changements de dernière minute à tout moment du projet,
  • mettre en place une coopération quotidienne entre développeurs et décideurs/commerciaux,
  • motiver les développeurs par un environnement, un soutien et une confiance forts,
  • faire simple, mais pas simpliste,
  • laisser l'équipe s'organiser au mieux de ses possibilités.

Ces principes sont résumés en quatre percepts :


  • les individus et leurs interactions plutôt que les processus et les outils
    Dans l'optique agile, l'équipe est bien plus importante que les outils (structurants ou de contrôle) ou les procédures de fonctionnement. Il est préférable d'avoir une équipe soudée et qui communique composée de développeurs (éventuellement à niveaux variables) plutôt qu'une équipe composée d'experts fonctionnant chacun de manière isolée. La communication est une notion fondamentale.
  • le logiciel qui fonctionne plutôt que la documentation complète,
    Il est vital que l'application fonctionne. Le reste, et notamment la documentation technique, est une aide précieuse mais non un but en soi. Une documentation 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

    coopération

    avec le client plutôt que la négociation du 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.
  • répondre 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

    .

Dans tous les cas, les

méthodologies agiles

assurent plus de clarté et de souplesse dans le déroulement d’un projet.