9 avril 2018
– 6 min de lecture
Olivier Constant
Senior Manager Architecture
En tant qu’architecte d’entreprise, l’agilité fait partie intégrante de ma vie et des projets depuis déjà quelques années. Mais qu’il est difficile de s’y retrouver dans tout ce qui est, ou se prétend, Agile. Alors comme tout bon architecte d’entreprise, j’ai commencé par faire un état des lieux : une cartographie.
Attention : ici je ne parlerai pas de technologies (chaque chose en son temps) mais bien de méthodes et d’approches.
Agilité, vaste monde !
L’agilité tout le monde en parle mais qui en fait vraiment ? De quelle agilité parle-t-on ? De méthodes Agile ? Plutôt que méthode, les termes utilisés sont plutôt culture, approche, mouvement ou courant Agile. L’agilité est mise à toutes les sauces : pour faire de l’innovation, de la gestion de projet, des modes de déploiement mais aussi pour le management d’entreprise.
Et l’agilité s’appuie sur des techniques plus anciennes comme le Lean, qui intègre Kanban et Kaizen.
Certains ont imaginé une carte de l’ensemble des pratiques Agile (voir ci-dessous) ressemblant au métro de Londres. J’avoue qu’avant j’étais un peu perdu, maintenant je suis complètement noyé !
Donc afin de simplifier et de présenter les pratiques d’un point de vue « Externe » à l’agilité, j’en propose une autre :
4 catégories pour s’y retrouver :
- Le niveau entreprise : l’agilité a pour vocation de conquérir toute l’entreprise et de proposer de nouveaux modes de management
- L’innovation : comment s’organiser pour trouver des solutions innovantes, des produits adaptés aux utilisateurs ?
- Equipes et Projets : le Manifeste Agile et la méthode Scrum notamment rentrent dans cette catégorie, pour les projets de petite et moyenne taille. Utilisables par tous les projets mais surtout appliqués dans les projets IT à ce jour
- Build et Opération: ensemble des méthodes et des techniques permettant d’implémenter dans le SI les produits délivrés par les projets
En parallèle, une catégorie « Techniques et Ateliers » est identifiée pour rassembler l’ensemble des techniques d’animations proposées dans le cadre de l’agilité et définir leur utilité.
Nous avons choisi de présenter ces 4 catégories dans un ordre qui part de l’innovation, puis des équipes et projets pour aller vers l’implémentation de leurs produits dans le SI en finissant par le déploiement de ces approches au niveau de l’entreprise.
L’innovation
Avec les nouvelles technologies et les nouveaux usages, sont apparues des techniques permettant de faire émerger l’innovation. Ces techniques mettent au centre de ces approches les utilisateurs des futures solutions et produits. Ces démarches sont souvent itératives et donc correspondent bien à la gestion des projets en agilité.
L’apport de ces démarches est de « se mettre à la place de ». Le concepteur de solution doit apprendre à penser comme la personne pour laquelle il doit bâtir une solution. Tous les concepteurs ou les MOA se sont plaints un jour que « le métier » ou « le client » ne savait pas exprimer son besoin. Le problème se résout de lui-même avec ces techniques. Basées sur les interactions avec les futurs utilisateurs, les personnes dont le métier est de concevoir peuvent comprendre voire anticiper leurs attentes.
L’innovation ne peut pas être encadrée ou commandée. Des principes d’innovation et les conditions pour créer de l’innovation peuvent être identifiées et donc mis en place rapidement pour sortir des anciens modes de conceptions de solution.
Méthodes et approches : Human-centered design, Design Thinking, Innovation game
Equipes et projets
Un changement de paradigme complet dans la manière de gérer les projets est apparu avec les approches Agile. SCRUM est la méthode de gestion de projet Agile la plus connue mais il en existe d’autres.
Cette approche a radicalement changé la manière de conduire des projets, le traditionnel « cycle en V », et de produire des résultats. On avance par itération, par incrément. Finis les effets tunnels. Les résultats sont rapidement concrétisés et il est possible de réagir au fur et à mesure.
Les projets en mode agile permettent d’adapter les produits au fur et à mesure de l’avancement du projet et de la réflexion.
Ces approches ont apporté de grands changements dans les méthodes de travail avec des réunions plus courtes mais plus fréquentes (tous les matins !), du management visuel, des capacités d’adaptation et d’auto-organisation qui sont à l’inverse des habitudes de management des anciens projets et de tous leurs travers.
Mais surtout ces approches ont entamé une révolution culturelle car elles font travailler ensemble de manière régulière et rapprochée des équipes, des spécialités qui ne se côtoyaient que peu ou rarement. Ces différents métiers ne se comprenaient pas ou mal. Les faire collaborer est toujours un challenge mais qui conduit à des résultats très concrets.
Méthodes et approches : Scrum, eXtreme Programming, Rapid Application Development, Domain Driven Design, Disciplined Agile Delivery, Dynamic systems development method (DSDM), Crystal Clear, le Manifeste Agile
Build et opération
Un des principes des projets en agilité est de pouvoir livrer régulièrement des incréments de valeur. Le but premier est de pouvoir tester ces incréments au fur et à mesure et de vérifier qu’ils satisfont l’utilisateur final. Dès lors, ces produits partiels (fonctionnels) peuvent être mis en production sans attendre la fin de l’ensemble des sprints.
Encore faut-il que le SI soit prêt à supporter ces mises en production régulières. Il est nécessaire de mettre en place des usines logicielles permettant de produire, tester, mettre en production et maintenir en fonctionnement les produits dans les meilleurs délais. Pas question d’attendre plusieurs semaines ou mois avant de mettre en production un produit prêt.
Les phases de validation, tests, recettes, peuvent être très consommatrices de temps. Elles doivent donc être anticipées et automatisées au maximum pour atteindre une vraie industrialisation. Les gains de temps et de qualité atteints grâce aux équipes et projets ne sont ainsi pas perdus dans les étapes de tests et de mise en production.
Les équipes IT ont mis en place des stratégies qui permettent, dès le début des projets, de prévoir ces futures étapes. Les tests sont identifiés dès le départ et sont automatisés. On parle d’intégration continue, de déploiement continu, de livraison continue.
Et une fois les produits en production, il faut les maintenir et les exploiter. L’approche DevOps (qu’on peut définir en quelques mots par l’agilité pour les opérationnels) devient de plus en plus utilisée aujourd’hui. Cette approche illustre bien le passage sans heurt de la conception des solutions vers leur mise en production et leur exploitation. Les équipes d’opération et de développement travaillent ensemble, et non plus en campant sur leurs positions respectives : « je n’ai pas les documents pour assurer la maintenance », dixit la maintenance, « je ne sais jamais quels documents ils veulent », dixit les développeurs.
Méthodes et approches : Le test-driven development (TDD), Behavior Driven Development (BDD), Continuous delivery, Continuous deployment, Mikado Method, devops
Le niveau entreprise
Faire travailler des équipes en mode agile suppose de la responsabilisation et de l’autogestion. Le reste de l’entreprise, et notamment le management, ne peut continuer à fonctionner comme avant au risque d’être contre-productif.
En agile, c’est l’équipe (via notamment le Product Owner) qui est responsable de son produit, le rôle du manager n’est plus alors de décider ce qui doit être fait.
Le manager change de rôle et c’est un vrai changement culturel. Les hiérarchies actuelles n’ont pas du tout été formées à ces approches. Le manager devient un facilitateur, celui qui met dans les bonnes conditions, c’est aussi un vrai relai d’information dans les 2 sens (vers l’équipe mais aussi vers le reste de l’entreprise).
Comme tout changement, il entraine des pertes de repère, de la résistance au changement et donc il doit être maitrisé et accompagné. Plusieurs méthodes, modèles et approches démontrent les bénéfices que l’on peut en tirer sans en nier les difficultés.
Méthodes et approches : Agilité à l’échelle (SAFe, LeSS, Spotify, Nexus), Management 3.0
Les ateliers
Un des principes fondateurs de l’agilité est la co-construction. A ce titre de nombreux types d’ateliers de travail existent. Ils ont pour but de faire réellement travailler ensemble les personnes au sein des équipes, de développer les « softskills » (compétences humaines) mais aussi produire des résultats : produits, plannings, études d’impacts etc. Le nombre d’ateliers et de variantes est infini, même si environ une quarantaine de techniques d’animation se détachent. Nous proposons un regroupement sur 8 thématiques :
- Icebreaker : idéal pour se lancer quand les gens ne se connaissent pas ou peu.
- Intelligence collective : démontrer la force de la collectivité mais aussi ses manières particulières de fonctionner
- Planification (et volumétrie) : construire ensemble des plannings, faire des estimations
- Définition de cible : vers où voulons nous aller ensemble, qu’est-ce qu’il est réaliste de proposer ?
- Impacts et trajectoire : comment aller vers la cible, quels sont les impacts des changements proposés ?
- Priorisation des travaux : décider ensemble de ce qui est prioritaire
- Conception de produit : orienter vers l’innovation et la recherche de solutions
- Team building : construire des équipes qui savent travailler ensemble et communiquer efficacement
Ces ateliers peuvent être utilisés individuellement mais surtout en combinaison pour atteindre encore plus rapidement et efficacement l‘effet recherché. La durée varie de 15mn à 3j.
Intenses et efficaces, ces ateliers permettent de débloquer des situations et de remettre du lien dans des équipes, de les remotiver pour leur travail : un icebreaker, puis un teambuilding avant de faire de l’innovation et de la priorisation. Le tout en une journée. L’équipe en ressort non seulement remotivée mais surtout avec des résultats concrets et directement utilisables dès le lendemain
Une fois ce paysage posé, l’agilité peut effectivement être identifiée un peu partout dans l’entreprise.
Les architectes d’entreprise en tant que garants de la vision d’ensemble du SI doivent accompagner ce mouvement et y prendre part. Plusieurs niveaux vont être abordés dans notre série « Architecture d’entreprise et Agilité » :
- Chapitre 2 : détournement de valeur. Toutes les fausses ou contre-vérités entendues à propos « des projets Agile »
- Chapitre 3 : comment l’architecte d’entreprise peut aider à concevoir et entretenir un « SI Agile »
- Chapitre 4 : comment les architectes d’entreprise (mais aussi les autres) peuvent interagir avec les projets en agilité.