Méthode agile : de quoi s’agit-il exactement ?

Pour la réalisation d’un programme informatique en général ou de votre site Internet en particulier, l’agence vous confiera comme un point fort qu’elle travaille ‘en méthode agile’. On imagine bien de nos jours que l’agilité est une valeur ajoutée, mais que se cache-t-il derrière cette dénomination ?

Cloud Computing
Cloud Computing

La méthode agile est une mode de gestion d’un projet. Rappelons qu’il n’y a pas si longtemps, on travaillait tous dans un mode de projet dit ‘classique’, qui commençait par le recueil des besoins, se poursuivait par la définition du produit, le développement et le test avant la livraison finale. L’inconvénient résidait dans une planification assez rigoureuse, avec des phases séquentielles qui permettaient difficilement le retour en arrière… Le client était mis devant un cahier des charges qui ne devait pas évoluer… Or, concrètement, cela n’existe pas ou presque !

Les méthodes dites ‘agiles’ permettent d’accroître la satisfaction du client en facilitant la gestion de projet, tout en améliorant la qualité de développement. C’est aux USA que des experts en développement de logiciels ont mis en place 4 principes fondamentaux de la méthode agile et qui concernent :

  • Les individus et leurs interactions avant les processus et les outils
  • Des fonctionnalités opérationnelles avant la documentation
  • La collaboration avec le client plutôt que la contractualisation des relations
  • L’acceptation du changement plutôt que la conformité aux plans

L’origine des méthodes agiles est liée à l’instabilité de l’environnement technologique et au fait que le client est souvent dans l’incapacité de définir ses besoins de manière exhaustive dès le début du projet.

Globalement, on peut résumer la méthode agile en avançant que le projet sera réparti en phases de travail itératives, c’est-à-dire une somme de mini-projets définis avec l’entreprise cliente.  Les différentes fonctionnalités sont alors développées en fonction de leur priorité. Le but est d’assumer le fait que l’on ne peut pas tout connaître et anticiper, quelle que soit l’expérience du chef de projet et la vision de l’entreprise. Ainsi, on laisse aux utilisateurs la possibilité de clarifier ses exigences au fur et à mesure de l’avancée du projet, les tests de fonctionnement sont effectués au fur et à mesure de la réalisation des fonctionnalités.

Les méthodes agiles intègrent le client final tout au long du projet. Elles sont une manière de réduire le cycle de développement des projets informatiques et de répondre plus rapidement aux évolutions des demandes de l’utilisateur final. Dans le domaine des projets de développement logiciel, les méthodes agiles sont de plus en plus utilisées, pour leur dynamisme et la réactivité possible.

Il n’existe pas une mais plusieurs méthodes agiles…

  • ASD (Adaptive software Development) – Ses caractéristiques principales sont : Focaliser sur l’objectif, se baser sur des composants, itérer, découper le temps et fixer des deadlines, piloter le projet par les risques, accepter le changement.
  • Crystal – Elle consiste à sélectionner la méthode applicable en fonction du nombre de personnes à coordonnées. Ses caractéristiques principales sont : des livraisons fréquentes, des aménagements permanents, une bonne communication interpersonnelle, confiance, liberté d’expression et sécurité personnelle, focus sur l’objectif et disponibilité, un contact permanent avec les utilisateurs, un environnement de travail approprié pour l’automatisation des tests, la gestion de configuration et les intégrations fréquentes, une collaboration étroite entre toutes les parties prenantes, y compris en dehors de l’équipe, une réflexion constante sur ses propriétés
  • Scrum – Ce terme emprunté au rugby désigne la solidarité et la force qui lient les membres de l’équipe au succès de l’itération. Le cycle de vie de Scrum est rythmé par des itérations de quatre semaines, appelées sprint. Avant chaque sprint, on effectue une réunion de planification appelée le sprint planning meeting qui consiste à sélectionner les exigences prioritaires pour le client dans le produit backlog qui seront développées, testées et livrées au client.

D’autres méthodes existent comme UP – Unified Process, le RUP – Rational Unified Process, ou encore XP – eXtreme Programming…

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *