Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Conduite de projets informatiques
  3. Rendre les projets agiles
Extrait - Conduite de projets informatiques Développement, analyse et pilotage (5e édition)
Extraits du livre
Conduite de projets informatiques Développement, analyse et pilotage (5e édition) Revenir à la page d'achat du livre

Rendre les projets agiles

Les bases de l’agilité

Longtemps, le développement de programmes informatiques a été régi par des approches relativement cadrées, pour ne pas dire rigides. Non que ces approches soient mauvaises ou contre-performantes, mais le succès d’un développement selon le processus cascade (ou ses dérivés) dépend d’abord de la stabilité de ses spécifications.

Les temps ont changé, la technologie confère une productivité toujours accrue et l’accélération des mises sur le marché d’innombrables solutions informatiques bouleverse en permanence l’horizon des possibles, les stratégies et les besoins. Ce resserrement du temps est loin de constituer une contrainte, il peut devenir une opportunité pour celui qui ajuste sa démarche à la découverte progressive du besoin, remettant cent fois l’ouvrage sur le métier jusqu’à l’obtention d’un résultat satisfaisant.

images/06DP01.png

1. La maîtrise du risque

Les projets informatiques ont parfois mauvaise réputation : longs, inachevés, peu documentés. Mais on concède aux équipes d’être confrontées à des difficultés assez communes.

Le contexte changeant est fréquemment mis en avant, l’expression de besoins n’est pas stable, ou alors la plateforme technique pas éprouvée. On regrette par ailleurs l’effet tunnel ; tandis qu’une poignée de développeurs s’escrime à produire une version démontrable, le client tenu à l’écart ne se doute pas du drame qui se joue en coulisses. Quand la démonstration survient, l’écart entre le rêve et la réalité se révèle si grand que la stratégie est remise en cause. Il faut repartir de zéro. Les erreurs d’estimation sont aussi souvent citées comme sources d’échec. Mais comment donner un chiffre précis quand on ne dispose pas d’un cahier des charges détaillé ? Laissons les développeurs mener le projet à son terme et on saura dire combien il aura coûté.

L’absence de prise en compte du risque constitue le point commun à ces assertions....

Des approches agiles remarquables

1. La méthodologie Scrum

La méthode Scrum, élaborée à partir de 1986, s’est répandue et imposée depuis quelques années comme étant la référence dans la mise en œuvre de projets agiles. Il s’agit d’une approche holistique qui procède par cycles courts (des sprints ou itérations) pour organiser le développement logiciel de façon incrémentale et itérative. Les fonctionnalités sont réalisées progressivement et livrées au fur et à mesure.

La terminologie Scrum est quasiment passée dans le langage courant, elle est appliquée par extension à d’autres méthodes agiles.

a. La définition du backlog

Le backlog représente l’ensemble des entrants fonctionnels comme techniques à réaliser. Il s’agit d’un stock continuellement mis à jour, chaque sprint étant l’occasion de puiser des éléments à implémenter ou d’en ajouter d’autres.

L’élément de travail de base est l’histoire utilisateur et son pendant l’histoire technique, respectivement désignées user story (US) et technical story (TS). Une US décrit la fonctionnalité telle qu’appréhendée par l’utilisateur. Il n’est pas nécessaire de faire figurer dans l’US des instructions techniques relatives à l’implémentation, bien que cela soit une possibilité. L’élément de travail comporte un titre, une référence unique déterminée par le système de gestion (Jira, VSTS...), une description fonctionnelle, mais aussi des critères d’achèvement ou definition of done.

De façon à cartographier le système logiciel en devenir et à structurer les US dans un ensemble d’éléments de travail parfois vaste, les systèmes de gestion introduisent des surensembles d’US tels que les epics et les features.

Le backlog comprend aussi des bugs remontés lors des cycles de tests ou par les utilisateurs.

Le travail de rédaction des US emprunte lui-même un processus itératif et incrémental. Il est habituel...

Les outils adaptés à l’agile

L’essor des méthodes agiles suit aussi l’évolution technologique dans laquelle baignent les clients comme les équipes. La réussite d’un projet repose sur la capacité des équipes à communiquer efficacement, à démontrer rapidement, et à s’affranchir d’une certaine complexité portée par d’incessants changements.

1. Structuration et planification

La maîtrise du périmètre du projet est certainement le premier enjeu des équipes. Maintenir le backlog, structurer les itérations, suivre les engagements de code (commit), telles sont les fonctionnalités proposées par des systèmes intégrés de gestion de projet.

a. Les systèmes intégrés de gestion de projet

De nombreuses équipes travaillent avec Jira (le produit phare d’Atlassian) ou avec Azure DevOps selon leur écosystème de référence. Ces deux systèmes intégrés de gestion de projet ont de nombreux points communs. Une fois le backlog créé, ils présentent des tableaux de bord pour chaque projet à dérouler selon un processus personnalisable de type Scrum ou Kanban.

images/06DP06.png

Outre d’innombrables états du projet, ces systèmes sont aussi intégrés à la production de code. Chaque mouvement de code (extraction...

Intégration des projets agiles

Devenu l’évidence pour certaines équipes de développement, le choix d’une méthode agile ne fait pas toujours l’unanimité au sein d’une entreprise. Des principes tels que les cérémonies, l’ajustement du périmètre ou le non-déterminisme du planning ont pu mettre en doute leur bien-fondé comme le sérieux des équipes qui y recourent.

Pourtant, ces méthodes s’avèrent très structurées, cohérentes et efficaces pour venir à bout des projets les plus complexes. Sont-elles à appliquer sans réserve, ou bien l’organisation doit-elle être préparée avant de déclencher des projets agiles ?

1. La place de l’agile dans l’organisation R&D

Il faut bien le reconnaître, les talents disponibles sur le marché de l’emploi, prêts à être recrutés aux postes R&D, connaissent maintenant beaucoup mieux les méthodes agiles que le modèle en cascade ou le cycle en V. Les formations et les outils de développement ont évolué avec la technologie, le retour arrière ne semble pas à l’ordre du jour.

Cela dit, les méthodes classiques restent applicables et tout à fait adaptées à la réalisation de projets...

Le story telling de Sports’ net

Même si l’équipe fondatrice de Sports’ net a rapidement formulé l’ambition de monétiser son activité, la démarche à suivre n’était pas évidente. Personne ne leur aurait fait crédit de leur projet.

En alliant leurs compétences commerciales et techniques, les membres de l’équipe ont su trouver des moyens originaux de promouvoir leur entreprise, et ils se sont pour cela largement appuyés sur la démarche agile.

1. Composition de l’équipe et organisation du projet

Sensibilisée aux approches agiles, l’équipe a d’emblée misé sur un effectif compact, solidaire et recherchant en permanence l’efficience. De toute façon, le pragmatisme des fondateurs les a rapidement confrontés à la réalité : sauf à solliciter des investisseurs (des sociétés de capital-risque), ils n’avaient pas la possibilité de supporter le coût financier de recrutements qui, de plus, les auraient retardés dans leur projet d’entreprise.

a. Au départ, pas de scope, pas (encore) de moyens

Un bon projet commence toujours par une analyse du contexte et du niveau de risque général. Sans équipe complète ni périmètre précisément défini, seules les méthodes dirigées par des changements permettaient de réaliser le projet. Les fondateurs ont commencé par jouer à la fois le rôle du client et celui du product owner, en consignant dans un tableur la liste des besoins business : disposer d’une régie publicitaire, partager avec la communauté d’utilisateurs les vidéos des exploits sportifs... Ces grandes thématiques (des epics) ont été ensuite détaillées en fonctionnalités (des user stories).

Ce backlog ainsi constitué aide l’équipe à y voir plus clair dans son projet, mais aussi à le présenter à de futures parties prenantes.

b. Être leader du projet sans en être responsable

Les équipes agiles contestent parfois le rôle du chef de projet ; ce rôle viendrait en contradiction avec les principes selon lesquels la hiérarchie...