Expertises

Une autre approche de la méthode agile

Fort de plusieurs projets de mise en œuvre de solutions de gestion en développement spécifique chez ses clients, Alenium Consultants tire des enseignements concrets des expériences réalisées de façon agile, l’organisation projet et les supports méthodologiques affinés lors de ces missions. Objectif : montrer qu'en la matière, on peut être efficace, précis et pragmatique...

Méthode agile : remettre les objectifs au coeur du jeu

Un développeur informatique occupé à écouter un utilisateur lui expliquer son travail tout en développant simultanément les écrans et fonctionnalités d'une nouvelle application : c'est l'image que le commun des mortels peut avoir de la méthode agile (ou SCRUM pour les spécialistes). Une représentation fondée sur la forme mais incomplète sur le fond en ce qu'elle omet complètement la notion d'objectif : la "méthode agile" s'inscrit dans une finalité qui va bien au-delà d'une simple question de "méthode".

Selon notre cabinet, Cette finalité se traduit notamment par le fait de :

  • délivrer de façon continue aux utilisateurs les composants de la future solution applicative ;
  • mieux prendre en compte des besoins des utilisateurs de cette solution, non seulement au moment de la réalisation du projet mais aussi plus tard.

La démarche agile est donc particulièrement adaptée à des projets :

  • d’évolution de solutions, supports des processus créateurs de valeur ajoutée dans l’entreprise ;
  • de type « développements spécifiques », qui visent à une satisfaction optimale des besoins des utilisateurs.

A contrario, cette méthode agile apparaît moins pertinente dans le cadre :

  • de projet sous forte contrainte de temps ou technique : remplacement en urgence d’une solution applicative qui n’est plus maintenue ;
  • d’un périmètre fonctionnel fortement cadré et normé, stable dans le temps : cas des SI comptables par exemple.

C’est précisément dans le contexte de projets d’application de gestion prévisionnelles des affaires, au cœur des métiers de nos clients, qu’Alenium Consultants a proposé de déployer une démarche agile. La démarche, les modèles supports présentés ci-dessous ont été construits à cette occasion...

Un projet modulaire et "versionné", pour séquencer les travaux et les déploiements

Une manière de réduire l’effet « tunnel » consiste à découper le contenu fonctionnel en modules indépendants les uns des autres (ou dont les interdépendances ne sont pas trop contraignantes). Chaque module est considéré comme un projet à part entière, et aboutit à un développement livré et déployé.

Cette approche par modules est complétée par une logique de Versionning de chaque module.

Ainsi, pour un module donné :

  • la Version 0 développée regroupe les fonctions essentielles du Module, est déployée chez des utilisateurs / sociétés pilotes ;
  • la version 1 est enrichie en bénéficiant du retour d’expérience des pilotes, déployée auprès de l’ensemble des utilisateurs ;
  • les versions suivantes apportent des fonctions supplémentaires venant enrichir l’expérience utilisateur.

En transverse, l’équipe projet est chargée d’établir la liste des besoins, de les hiérarchiser, afin de proposer la feuille de route de développement.

Ainsi, sur les bases d'un bon cadencement, il peut être proposé chaque mois un nouveau module ou une nouvelle version de ce dernier. Ce délai d’un mois permet en outre de gérer au mieux le niveau d’implication des utilisateurs pilotes, leur sollicitation sur les actions de formation, de démarrage, de reprise des données…

Dernière possibilité :

  • le déploiement par phase : d’abord des utilisateurs (ou quelques sociétés) pilotes, puis les autres sociétés ;
  • un déploiement progressif si le contenu fonctionnel le permet ; ou de type « Big Bang » (mais module par module)

Proposé par nos consultants en management, ce découpage modulaire (et par montée de version) requiert une anticipation des besoins, en particulier en ce qui concerne la construction / organisation des tables de données de la base. Les spécifications doivent proposer et formaliser a minima une projection des besoins fonctionnels en amont du développement de chaque version 0 d’un module.

Un peu de formalisation tout de même...

En règle générale, l'idée de partir en développement en mode « fleur au fusil » ne conduit que très rarement à une réalisation effective à l'échéance fixée. C’est pourquoi Alenium Consultants préconise une formalisation minimale des informations du projet.

Quatre modèles de documents sont ainsi proposés (le dernier ayant un caractère optionnel) :

  • Les fiches de cas de gestion : description des différents cas opérationnels rencontrés, documentés par des utilisateurs (avec copie des documents support). En préalable, le périmètre de l’application a été précisé.
  • Les dessins d’écrans proposés aux futurs utilisateurs (en utilisant l’application Balsamiq par exemple), accompagnés de la description synthétique des règles de gestion des données et fonctions de chaque écran.
  • Les diagrammes de Flux : conditions de passage entre les différents statuts des objets, associés au tableau des profils utilisateurs.
  • Le dossier de spécification : document plus formel décrivant les caractéristiques de l’ensemble des données, qui sera enrichi par l’équipe de développement (de préférence en association avec le Modèle Conceptuel de Données)

Ce contenu doit servir tout au long du projet. En particulier pour :

  • s’assurer que l’ensemble des besoins est appréhendé (ce qui n’implique pas nécessairement que tout sera développé) grâce aux Cas de Gestion et amont du projet ainsi que pour la recette ;
  • faire partager à tous les acteurs la même compréhension du contenu de la solution qui va être développée, par le biais d'un échange avec les acteurs sur la base des écrans dessinés et des règles de gestion synthétisées ;
  • procéder à des adaptations des besoins utilisateurs pour tenir compte des complexités de réalisation des développements : avec les règles de gestion pour chaque écran dessiné, le Diagramme de flux et les profils utilisateurs ;
  • établir les coûts de développement et les délais , organiser le projet et en gérer les budgets ainsi que le planning : sur la base de tous les documents formalisés pour engager l’équipe de développement sur des délais et des charges de travail.

3 remarques additionnelles :

- Les dessins d’écrans en particulier sont un livrable clé pour la réussite du projet, aux vertus importantes de communication et d’appropriation de la cible par les futurs utilisateurs.

- Cette documentation proposée - simple et rapide de réalisation - accélère fortement les phases de conception. L’organisation modulaire - et par versions - permet une validation plus étalée dans le temps.

- La formalisation plus détaillée des spécifications (dans le cadre d'un dossier de spécification) permet de sécuriser la charge et les délais de développement d'une équipe de développement externe.

La recette et la mise en production :

Chaque version de Module doit faire l’objet d’une recette :

  • Recette usine réalisée au fil de l’eau lors des développements, donc de façon agile.
  • Recette par le prescripteur, sur la base des cas de gestion décrits, d’un jeu de données réel. Recette réduite car ne portant que sur le contenu du nouveau module ou d’une nouvelle version.

Des tests de non-régression doivent être réalisés sur l’ensemble de la solution (dans certains environnements de développement, ceux-ci peuvent faire l’objet d’une automatisation)

Un outil de relevé des anomalies peut être utilisé avec profit dans le but de collecter les anomalies relevées, les qualifier et suivre leur résolution. Il peut aussi être utilisé efficacement pour recenser les demandes d’évolution exprimées par les utilisateurs lors des ateliers de recette.

Ne pas minimiser la dimension technologique

Avec l’adoption d’une démarche agile, la technologie devient une source plus importante de contraintes . Les temps de développement dictent les délais, imposent leur cadence aux projets.

La technologie est aussi une source de risques à moyen terme. Sa capacité d’évolution pour la prise en charge des nouvelles demandes utilisateurs peut être problématique. Cela est avéré notamment lorsque ces demandes impactent la structure des données.

Enfin, l’intégration des données de la solution avec les applicatifs connexes est une contrainte assez récurrente.

De nouvelles solutions technologiques d’ingénierie logicielle apparaissent, qui rendent possibles :

  • la réalisation quasi instantanée des développements ;
  • la production d’un code de qualité du code (exempt d’éléments propriétaires et de Runtime)

(Et ce dans le respect des standards, pour une intégration simple aux applicatifs existants)

Ces solutions doivent maintenant trouver leur place, et tout comme les démarches agiles, trouver les bons compromis entre :

  • la rapidité de réalisation des projets de déploiement de solutions applicatives ;
  • la pertinence du contenu de ces solutions.

Au final, un pilotage de projet adapté

Les étapes du projet agile ne diffèrent pas de celles d’un projet classique, mais l’enchaînement des étapes est accéléré. Le pilotage de ces étapes doit lui aussi être agile, c'est à dire ne pas être contraignant mais fluide et réactif.

Du point de vue de notre cabinet conseil, la vigilance doit être portée sur la réalisation efficace de la prise de décision par les instances du projet. Une délégation plus importante de responsabilité doit être favorisée au niveau de l’équipe projet.

De plus, plusieurs projets (un par module) doivent pouvoir être gérés en parallèle.

Enfin, le pilotage du projet doit favoriser :

  • la disponibilité des utilisateurs (de la future solution) pour le projet : en tant que force de proposition et impliqués dans les choix fonctionnels ;
  • la communication sur le projet, en particulier la démarche de Versionning adoptée : « Tout ne sera pas disponible tout de suite, devenez acteur de l’évolution de votre application. »
  • l’instauration d’un dialogue entre les utilisateurs et les développeurs : pour réaliser des arbitrages entre les attentes d’une part, les contraintes techniques d’autre part.


Lien connexe : "La méthode agile, mieux gérer ses projets et son entreprise" (nov 2015)


Allons plus loin ensemble !

> Vous souhaitez en savoir plus sur le conseil en management et stratégie ? Venez nous rendre visite au sein de nos bureaux à Paris ou contactez-nous via notre page Contact.

> Notre cabinet de conseil en management recrute ! Rejoignez Alenium Consultants dès maintenant : consultez nos offres d’emploi pour des postes de consultants junior ou senior et embrassez une carrière de consultant au sein de notre équipe d’experts.