La Méthode Agile

La méthode Agile est une méthodologie relative à la gestion de projet que nous utilisons de plus en plus fréquemment au sein d’OpenStudio. Comme son nom l’indique, cette méthode confère une agilité et donc une adaptabilité aux évènements dans le suivi d’un projet. Elle met surtout la communication et la transparence avec le client au centre de l’organisation. Ayant prouvé son efficacité, la méthode Agile dépasse les frontières des métiers du web et s’adapte aujourd’hui à d’autres secteurs d’activité.
La Méthode Agile

Qu’est-ce que la méthode Agile ?

La méthode Agile est issue du travail de 17 informaticiens américains qui ont publié en 2001 Le Manifeste Agile (The Agile Manifesto en anglais) pour tenter de trouver une nouvelle organisation des équipes dans le développement de logiciel web. Auparavant, les développeurs utilisaient la méthode Waterfall, communément appelée la méthode en cascade, qui n’était pas toujours la plus efficace pour des projets de développement informatique qui tendaient à se complexifier dans les années 2000. Pour trouver un moyen de satisfaire davantage les demandes spécifiques des clients, Le Manifeste Agile met en avant des valeurs et des principes qui placent l’humain et la communication régulière au cœur de la méthodologie.

Les grandes valeurs du Manifeste Agile préfèrent :

  • Les interactions entre individus (plutôt que les outils et les processus),
  • Les solutions opérationnelles rapidement (plutôt qu’une documentation pléthorique),
  • La collaboration avec les clients (plutôt que les négociations contractuelles),
  • La flexibilité face au changement (plutôt que le respect absolu d’un plan).

La transparence, l’inspection et l’adaptation forme les trois piliers sur lesquels reposent cette méthode.

Méthode agile
« L’Agilité, un état d’esprit », Source : http://lesdigitaux.fr/wp-content/uploads/2017/02/Artilce-Chloe-1.png;

Comment fonctionne précisément la méthode Agile ?

Concrètement, la méthode Agile privilégie un plan d’action pas à pas avec des objectifs à court terme. Le but est d’aller vite mais surtout d’être plus résilient en cas de changement de cap de la part du client ou autres imprévus. Il ne s’agit pas de subir les changements comme une contrainte mais au contraire de les maîtriser. Pour réussir à sortir des solutions opérationnelles au fur et à mesure du projet, une collaboration très étroite entre les membres de l’équipe est indispensable, mais il faut surtout prévoir de nombreux allers-retours avec le client. Le but est de faire valider le projet étape par étape en étant ouvert aux changements. Dans ce contexte, cela signifie que l’on passe moins de temps au départ à planifier d’un coup tout le projet (la méthode Agile part du principe qu’il est impossible de tout prévoir), mais que l’on planifie la prochaine étape, une fois que la précédente est validée. De ce fait, le client participe activement au projet, il suit toutes les évolutions et peut ainsi se permettre de changer d’avis en cours de route sans que cela ne remette tout le projet en cause. Il est aussi primordial que l’équipe de développeurs soit bien structurée avec des compétences complémentaires pour que chacun puisse avoir un rôle fixe et bien défini pendant le projet. De cette manière, toutes les compétences nécessaires au projet sont mobilisées pour une meilleure efficacité.

Les différentes méthodes dites Agile

Il existes de nombreuses méthodes dites Agiles :

  • L’eXtrême Programming (XP),
  • Feature Driven Development (FDD),
  • Lean Software Development,
  • Agile Unified Process (Agile UP ou AUP),
  • Crystal
  • Dynamic Systems Development Method (DSDM)

Chez OpenStudio nous avons choisi la méthodologie Scrum, qui est particulièrement bien documentée et simple à mettre en place.

La méthode Scrum et ses sprints

  • Sous catégorie de la méthode Agile, la « Scrum » signifie « mêlée » dans le monde du rugby. Dans le cadre qui nous intéresse ici, il s’agit d’une approche méthodologique, d’un framework (cadre de travail) s’articulant autour d’itérations, que l’on appelle « sprints » dans le jargon Scrum.

    Comme son nom l’indique, un sprint doit aboutir rapidement : une fois que l’équipe (pluridisciplinaire) autour du product owner a listé les tâches à réaliser, la course commence pour arriver en quelques foulées au développement prévu sur l’étape définie. Dans un souci de transparence mais aussi d’adaptation, de courtes réunions quotidiennes (cérémonie Scrum) sont indispensables pour que toute l’équipe avance dans la même direction et puisse échanger en cas de problématiques à dénouer.

  • Les étapes indispensables à la méthodologie Scrum :

    • Planification du Sprint (Sprint Planning) : C’est la grande réunion de début de sprint qui va définir le travail à effectuer et l’objectif du sprint, ce planning est réalisé de manière collaborative par tous les membres de l’équipe. Deux questions sont à solutionner avant la fin de la réunion : Que peut-on livrer et comment sera organisé le travail ?

     

    • Daily Quotidienne : Chaque jour, l’équipe se retrouve une quinzaine de minutes pour faire le point sur ce qui a été fait et planifier le travail de la journée. Ce rendez-vous quotidient permet d’optimiser le suivi des avancées de chacun et ne pas laisser une difficulté sans réponse. L’objectif est de renforcer la collaboration et la performance de l’équipe. 

     

    • Revue de sprint (Sprint Review) avec le client : L’équipe Scrum et le client échangent sur ce qui a été fait durant le sprint. L’objectif est de faire une démonstration au client des/de la fonctionnalité(s) terminée(s) pendant le sprint. C’est également le moment où l’équipe Scrum évoque, toujours avec le client, les difficultés rencontrées pendant le dernier sprint et les solutions qui ont été trouvées, ainsi que sur la planification des prochains sprints et les livrables associés.

     

    • Rétrospective de Sprint (Sprint Retrospective) : En interne, l’équipe scrum va s’auto-inspecter (points positifs et négatifs sont relevés mais toutjours dans un esprit constructif et bienveillant) au regard de la manière dont s’est déroulé le dernier sprint. L’idée est ensuite de créer un plan d’améliorations à adopter au cours du prochain Sprint.
  • Les 5 valeurs de la méthodologie Scrum :

    • Engagement personnel à atteindre les objectifs de l’équipe
    • Courage de faire les bonnes choses et de ré́soudre les problèmes difficiles.
    • Focus et concentration sur le travail à faire durant le sprint et les objectifs de l’équipe Scrum.
    • Ouverture d’esprit sur le travail et les défis impliqués par l’accomplissement de ce travail
    • Respect mutuel, bienveillance en tant que personnes compétentes et indépendantes.
Masterclass n°3 : Méthode Agile performante / Application de SCRUM sur Gitlab chez OS, par Frédéric Tanchou, Responsable R&D chez OpenStudio.
La Méthode Agile

Quels sont les avantages de la méthode Agile ?

La flexibilité de la méthode agile est un avantage important lorsque le projet du client est complexe et/ou multidimensionnel. Le fait d’avancer step by step, permet d’être plus réactif face aux aléas inattendus. Avec la méthode Agile, il est possible de revenir en arrière sans pour autant recommencer le projet depuis le début (facteur démotivant à la fois pour l’équipe de travail et pour le client qui veut voir son projet aboutir le plus rapidement possible). D’autre part, grâce à la communication permanente entre les membres de l’équipe et le client, la méthode agile assure la livraison d’un produit d’une grande qualité qui correspond parfaitement aux attentes de son destinataire. N’oublions pas que l’objectif ultime de la méthode Agile est d’accroître la satisfaction client. En étant partie prenante durant tout le processus de conception, il sera rassuré sur les avancées et un lien de confiance pourra se tisser. La méthode Agile induit ainsi une expérience client agréable et beaucoup plus sereine.

La Méthode Agile

Pourquoi OpenStudio utilise la méthode Agile ?

OpenStudio étant spécialisée sur le développement sur-mesure, nous sommes de plus en plus sollicités sur des projets complexes et/ou innovants dont le cahier des charges est souvent à géométrie variable. Depuis quelques années déjà, nous utilisons la méthode Agile afin d’accompagner nos clients dans la réalisation de leur projet qui nécessite toujours des évolutions en cours de développement. Cette méthode de travail a fait ses preuves sur des projets tentaculaires demandant une forte adaptabilité avec une organisation à la fois souple et millimétrée. En appliquant les principes de la méthode Agile, qui sont désormais familiers pour nos équipes de développeurs, nous sommes en mesure de répondre à des projets web de grande envergure.