Couverture du journal du 19/04/2024 Le nouveau magazine

Développements logiciels en mode Agile : quels bons réflexes ?

Méthode de gestion de projets informatiques, Le mode agile est aujourd’hui de plus en plus répandu. Au-delà du simple phénomène de mode, il apporte une réponse nouvelle. Éclairage et conseils pour que cela fonctionne.

© iStock

L’emploi de la méthode dite « Agile » dans un projet informatique permet au client et à l’équipe du prestataire de travailler de concert pour un développement du produit informatique désiré par le client « au fur et à mesure ». Ainsi, et contrairement à ce qui a court dans les méthodes classiques très planifiées appliquées aux projets informatiques, davantage de place est laissée aux évolutions/adaptations du produit au gré des développements.

QU’EST-CE QUE C’EST CONCRÈTEMENT ?

Il existe différentes méthodes Agile (ex : « Scrum », « Développement Lean », etc.). La méthode « Scrum » est particulièrement répandue en France. Elle consiste à découper le projet informatique en différentes itérations nommées « sprints ». Chaque « sprint » démarre par la définition des objectifs du « sprint » et se termine par une évaluation du résultat, permettant d’ajuster au fil de l’eau les fonctionnalités attendues en fonction de leur intérêt et de leur niveau de complexité. L’ensemble repose sur une analyse dynamique des besoins fonctionnels attendus.

BIEN CONSTITUER SON ÉQUIPE

Les projets en mode Agile reposent sur un travail collaboratif entre le client et son prestataire. Pour le bon déroulement du projet, l’équipe de développement est généralement accompagnée de deux intervenants :

  • Le « Scrum Master » : il n’a pas de rôle technique mais est en charge de la bonne collaboration entre les membres de l’équipe, de l’implication de chacun et aide à résoudre les difficultés qui pourraient être rencontrées. Il est important de désigner une personne qui a une bonne connaissance de la méthodologie Agile et qui dispose de réelles qualités humaines.
  • Le « Product Owner » : il représente le client et ses utilisateurs s’agissant du produit à développer et il s’assure que ce dernier répond aux attentes et besoins exprimés. Il est, contrairement au Scrum Master, responsable de la qualité fonctionnelle du produit. Il décide des objectifs de chaque « sprint » et peut désigner de les modifier ou annuler s’ils ne sont plus pertinents.

Le maître mot est donc une forte collaboration réciproque.

AGILITÉ ET CONTRAT

Si le développement d’un logiciel en mode Agile permet une plus grande flexibilité et notamment des évolutions du besoin du client en cours de route, cela ne signifie pas pour autant que cela ne doit pas être encadré contractuellement, bien au contraire. Plusieurs points doivent impérativement être abordés.

Ainsi, par exemple, outre les mentions classiques à tout contrat (propriété intellectuelle, garanties, etc.) :

  • Au démarrage de la prestation, le prestataire annexera au contrat un plan de qualité de service dont l’objet est notamment de ventiler les tâches et rôles de chaque intervenant, fournir un échéancier indicatif, etc. Ce document exprime ainsi le niveau d’engagement du prestataire dans le projet. Ce dernier doit également, avec le client, définir la liste des fonctionnalités essentielles du produit (« Product Blacklog »), qui pourra bien évoluer au gré de la relation contractuelle, lors de ce que l’on nomme les « Sprint Reviews ». Cette liste de fonctionnalités sert de référentiel fonctionnel de démarrage de la prestation.
    Il est essentiel qu’il soit prévu que ces deux documents peuvent être ajustés d’un commun accord sans devoir passer par la signature d’un avenant en bonne et due forme, ce qui nuirait à l’agilité souhaitée.
  • Sur le prix : naturellement, la régie semble plus adaptée à l’idée d’agilité. En réalité, il n’est pas rare dans de tels projets de développement que le client fixe en amont l’enveloppe à consacrer au projet et qu’en fonction des évolutions des fonctionnalités, si certaines sont ajoutées, d’autres soient retirées pour rester dans ladite enveloppe initiale.
  • Sur la recette des développements logiciels, il faut ici prévoir un mécanisme de recette qui se fera « sprint » par « sprint » aboutissant « en bout de course » à une recette définitive.
  • Sur la responsabilité, dans l’esprit, la méthode Agile se prête plus à l’application d’une obligation de moyens, eu égard au caractère évolutif de la prestation. Il reste cependant toujours possible de fixer une obligation de résultat sur certains points précis à l’inverse d’une obligation de résultat général (ex : obligation de résultat sur la durée des « sprints », sur le type de livrables attendus, etc.).

À noter que ces modalités de fonctionnement permettent en outre une sortie plus facile de la relation en cas de difficulté ou de besoin du client satisfait alors même que tous les développements n’auraient pas été réalisés.

C’est d’ailleurs l’un des intérêts de cette méthode : éviter qu’un point de blocage en milieu de projet informatique ne compromette l’intégralité des développements réalisés. Le fonctionnement par « sprint » permet ainsi de sortir à tout moment, en gardant pour le client le bénéfice de ce qui a été développé à date et en permettant pour le prestataire d’être rémunéré pour le travail réalisé.

En résumé, pour un projet Agile bien mené, il faut s’être préparé.

 

Le cabinet Langlais Avocats est exclusivement dédié à la propriété intellectuelle, à l’informatique et à l’internet.
www.langlais-avocats.com. et www.yoonozelo.com