Qu'est-ce que la gestion de programme Agile ?
Le terme « gestion de programme Agile » est utilisé pour décrire comment les organisations Agile planifient, lancent et exécutent des initiatives dans un environnement itératif complexe. Il s'agit d'une composante essentielle du succès en matière de déploiement Agile.
La méthodologie Agile est une approche de gestion du travail axée sur la valeur, qui met l'accent sur la collaboration, la rapidité et l'efficacité, et vise à réduire le gaspillage. Sa mise en pratique aide les équipes et les organisations à mieux répondre aux exigences de leurs clients, avec moins de risques et de meilleurs résultats opérationnels.
Lorsqu'une initiative Agile se développe dans une organisation, une dissension apparaît fréquemment entre la manière dont les équipes Agile se forment et fonctionnent, et les méthodes traditionnelles de financement et d'exécution des projets au sein des organisations. Pour que le déploiement Agile soit couronné de succès, il est nécessaire de mettre en place une méthode plus efficace (c'est-à-dire, plus Agile) pour gérer le travail des équipes interdépendantes.
Le terme « gestion de programmes » est couramment utilisé pour décrire la gestion de multiples projets interdépendants dont les objectifs, les exigences et les résultats se recoupent. La gestion de programme est généralement assurée par le bureau de gestion de projet (PMO), qui est responsable de la gestion financière, des risques et de la sécurité, et s'assure que le travail est effectué dans le respect des délais et du budget.
Dans de nombreuses organisations, le travail du PMO consiste avant tout à « cocher des cases » : s'assurer que les plans sont mis en œuvre comme convenu par toutes les parties prenantes. Le problème de cette approche de gestion des programmes est qu'en se focalisant sur l'exécution, les équipes sont systématiquement incitées à ne pas se concentrer sur ce qui compte vraiment : la création de valeur.
Dans la méthodologie Agile, l'objectif est différent. Les équipes sont focalisées et alignées sur la création de valeur. Certains des concepts fonctionnels de la gestion de programmes traditionnelle demeurent, mais la philosophie fondamentale change avec la gestion de programme Agile.
La gestion de programme Agile est un moyen de gérer, de planifier et de coordonner des activités interdépendantes d'une manière qui met l'accent sur la création de valeur pour les équipes, les parties prenantes et les organisations.
Souvent, les organisations ne savent pas comment atteindre ce niveau de coordination entre les équipes Agile. Les organisations qui ont commencé avec des îlots Agile peuvent commencer à étendre ceux-ci en ajoutant des équipes supplémentaires.
Même si ces équipes supplémentaires peuvent accroître la vélocité et le rendement, la livraison de valeur n'est pas nécessairement créée au rythme attendu. Cela s'explique par le fait que les équipes doivent se rassembler de manière plus cohérente, généralement en formant un Agile Release Train.
Un Agile Release Train constitue la pierre angulaire du déploiement Agile. Il s'agit d'un ensemble d'équipes Agile stables et pérennes, qui coordonnent, planifient et gèrent leur travail avec la même cadence de livraison.
Les équipes de l'Agile Release Train peuvent ainsi travailler plus facilement à la réalisation d'un objectif commun. Cela permet également aux dirigeants d'organiser et de comprendre plus facilement la répartition et la mise en œuvre des engagements stratégiques dans plusieurs équipes simultanément.
Concepts clés de la gestion de programme Agile
1. Le changement est constant.
La gestion de projet traditionnelle a tendance à adopter une approche en cascade, dans laquelle les équipes travaillent sur une phase à la fois en vue d'un « lancement » unique de grande envergure. Si le projet est retardé durant une phase, d'autres retards se produisent alors en aval. Si le projet est bloqué en raison d'une évolution des exigences, l'avancement est interrompu jusqu'à ce qu'une solution soit trouvée. Cette approche ne permet de planifier aucun changement. De ce fait, le changement est perçu comme un facteur intrinsèquement négatif.
Dans la gestion de programme Agile, l'objectif n'est pas simplement de mener à bien l'exécution comme prévu, mais de produire des livrables conformes aux souhaits du client. Les équipes adoptent une approche itérative du développement avec des intervalles de feedback réguliers, et accueillent favorablement tout changement qui augmentera la valeur générée. Le développement par itérations permet aux équipes de s'adapter rapidement, de poursuivre l'avancement à mesure que les conditions changent et d'intégrer le feedback du client en temps réel lorsque ses exigences évoluent.
2. La collaboration est essentielle.
Lorsque la priorité est de cocher des cases et de faire avancer le travail au lieu de délivrer de la valeur au client, les équipes ne sont pas incitées à collaborer. Dans la gestion de programme Agile, les équipes peuvent mettre à profit les avantages qu'offre la collaboration avec d'autres équipes, car elles s'appuient les unes sur les autres pour atteindre l'objectif commun qui consiste à maximiser la valeur pour le client. Les équipes Agile fonctionnent comme un système intégré et évolutif dans lequel toutes les parties prenantes sont activement impliquées à la fois dans le développement et la livraison.
3. Il est impératif de se focaliser sur la (vraie) valeur
La gestion de programme Agile change fondamentalement la façon dont la réussite, ou la valeur, est mesurée. Dans la gestion de projets traditionnelle, la valeur est définie en termes d'efficacité et de fiabilité : être capables de livrer rapidement et de manière prévisible ce que nous nous sommes engagés à livrer.
Dans la gestion de programme Agile, elle est définie en termes de réactivité : être capables de répondre aux souhaits et aux besoins de nos clients, lorsqu'ils le souhaitent et en ont besoin. Il est important de délivrer cette valeur de manière efficace et fiable, mais il est encore plus essentiel de délivrer la valeur appropriée. Autrement dit, les organisations Agile s'efforcent d'améliorer leur réactivité, afin de devenir plus efficaces et fiables pour leurs clients.
Les différents rôles dans la gestion de programme Agile
La mise en œuvre de la gestion de programme Agile implique la contribution efficace de nombreux rôles clés, notamment des responsables Produit, des architectes/ingénieurs système, des Release Train Engineers (RTE) et des Business Owners.
Responsable Produit : « Que devons-nous réaliser ensuite ? »
Dans la gestion de programme Agile, les responsables Produit jouent un rôle important d'intermédiaires entre les clients, les parties prenantes internes et les équipes de développement. L'objectif premier du responsable Produit est de définir et d'adapter la feuille de route du produit : un aperçu de la manière dont un produit ou une solution évoluera dans le temps. En d'autres termes, ils s'efforcent d'apporter une réponse à la question « que devons-nous réaliser ensuite ? ».
Les responsables Produit sont chargés de maintenir la feuille de route du produit axée sur les conditions actuelles du marché et les objectifs à long terme : décider quoi concevoir et à quel moment, et déterminer comment séquencer le développement de différentes fonctionnalités pour optimiser la capacité de développement et répondre au mieux aux demandes des clients.
Pour qu'ils puissent exercer efficacement leur rôle, une grande partie de la gestion de produit consiste à poser des questions réfléchies, à synthétiser des informations et à communiquer afin que ces différents groupes soient parfaitement alignés.
Architecte/ingénieur système : « Comment pouvons-nous le faire ? »
Les architectes/ingénieurs système sont chargés de définir la vision architecturale d'un Agile Release Train (ART). Ils sont les responsables techniques de l'ART et veillent à ce que le système ou la solution en cours de développement soit adapté à l'objectif visé et développé en tenant compte des capacités technologiques et architecturales plus globales du système. Si le rôle d'un responsable Produit est de répondre à la question « que devons-nous réaliser ensuite ? », le rôle des architectes/ingénieurs système est de répondre à la question « comment pouvons-nous le faire ? ».
Dans la gestion de programme Agile, les architectes/ingénieurs système jouent un rôle essentiel en alignant les équipes sur une direction et une vision techniques communes. Ils collaborent avec les équipes Agile pour :
- Décrire le contexte technique et l'objet de chaque programme
- Analyser des arbitrages techniques
- Déterminer les principaux composants et sous-systèmes concernés
- Définir des exigences non fonctionnelles (telles que la sécurité, la fiabilité, la facilité de maintenance, l'évolutivité, etc.)
- Travailler avec différents groupes internes et externes pour s'assurer de l'adéquation aux fins recherchées
Release Train Engineers (RTE) : « Quelle est la meilleure façon de procéder ? »
Les Release Train Engineers, ou RTE, sont les leaders et les coachs des équipes Agile. Dans la gestion de programme Agile, ils jouent un rôle essentiel dans l'organisation des événements et des processus des ART, tels que la planification PI (planification par incréments de programme), les itérations IP (Innovation et planification) et les événements I&A (Inspection et adaptation).
Dans les organisations qui n'utilisent pas l'approche SAFe pour assurer le déploiement Agile, la personne occupant ce poste porte probablement le titre de « responsable de programme ». Les RTE/responsables de programme sont également chargés de faire en sorte que les équipes Agile créent de la valeur conformément aux attentes, notamment en communiquant avec les parties prenantes internes et externes, en faisant remonter les obstacles, en encourageant l'amélioration continue et en aidant à gérer les risques.
Business Owners : « Quelle valeur essayons-nous de créer ? »
Les Business Owners sont les personnes responsables de la création de valeur et du retour sur investissement de l'Agile Release Train. Ils sont généralement responsables de l'entité dans laquelle l'ART intervient, la chaîne de valeur.
Dans la gestion de programme Agile, les Business Owners veillent à ce que la valeur créée par les Agile Release Trains soit en adéquation avec les objectifs stratégiques établis et les résultats souhaités. En communiquant les changements et les réorientations lors de réunions de Lean Portfolio Management ou de réunions d'orientation de livraison, les chefs d'entreprise font en sorte que les priorités restent alignées sur les facteurs économiques les plus importants.
Comment Enterprise Kanban appuie la gestion de programme Agile
Enterprise Kanban est un outil de visualisation des activités qui permet la gestion de programme Agile à grande échelle. Par sa nature hautement flexible et visuelle, la méthodologie Kanban constitue la solution idéale pour visualiser les processus, illustrer les dépendances, mettre en évidence les obstacles potentiels et faciliter des conversations productives au sein des équipes Agile et entre de telles équipes.
Voici différents éléments clés de la gestion de programme Agile pour lesquels l'utilisation d'Enterprise Kanban est profitable.
Planification PI et planification des ART
La planification par incréments de programme, ou planification PI, est un événement routinier, généralement en face à face, au cours duquel les équipes établissent leurs plans et objectifs pour le prochain incrément de programme. Il s'agit d'un élément essentiel de la gestion de programme Agile, car elle offre aux équipes Agile l'occasion de :
- Aligner le développement sur les objectifs économiques et sur les objectifs PI de l'équipe et du programme
- Identifier les dépendances et stimuler la collaboration entre les équipes et les Agile Release Trains
- Analyser la demande et la capacité
Les outils Enterprise Kanban jouent un rôle essentiel en aidant les dirigeants et les équipes à planifier, coordonner leurs efforts et communiquer leurs plans sur une vue unique et partagée. L'utilisation d'un outil Enterprise Kanban pour la planification PI permet aux Agile Release Trains de planifier et exécuter leurs activités au même endroit, offrant ainsi un niveau exceptionnel de visibilité et de responsabilisation.
Gestion et visualisation des dépendances
L'identification et la gestion des dépendances entre les équipes et entre les Agile Release Trains est la clé du succès en matière de gestion de programme Agile. De nombreux outils Enterprise Kanban permettent de mettre en lien des activités (cartes) connexes sur différents tableaux, de visualiser les relations hiérarchiques entre les cartes et de visualiser les dépendances sur les cartes au moyen de fonctionnalités telles que des icônes personnalisées. Ces fonctionnalités de collaboration avancées permettent aux équipes Agile de rester en adéquation et de faire progresser les activités même lorsque les dépendances deviennent plus complexes.
Coordination de l'équipe d'équipes (ART)
Coordonner le travail de plusieurs équipes interdépendantes et auto-organisées n'est pas chose aisée, mais peut être possible grâce au bon outil Enterprise Kanban.
- Des intégrations robustes permettent aux équipes de continuer à utiliser leurs outils natifs tout en offrant une parfaite visibilité sur l'ensemble de l'ART
- Des tableaux et des cartes connectés permettent aux équipes et aux dirigeants de bénéficier des capacités de visualisation dont ils ont besoin pour accomplir leur travail
- Les outils Enterprise Kanban aident les équipes à rester concentrées sur leurs principales priorités, tout en restant en phase avec d'autres équipes connexes
Établissement de feuilles de route de produits
Les outils Enterprise Kanban peuvent aussi être particulièrement précieux pour l'établissement de feuilles de route de produits. Ils permettent ainsi aux responsables Produit de créer, de communiquer et de faire évoluer leurs plans dans un même outil, depuis lequel ils délèguent, suivent et gèrent le travail des équipes. Les responsables Produit peuvent utiliser un tableau Kanban pour communiquer rapidement la progression des initiatives de la feuille de route, en reliant les cartes d'un tableau de feuille de route aux cartes d'un tableau d'exécution d'une équipe ou d'un ART.
Les avantages de la bonne technologie pour la gestion de programme Agile
Disposer dans votre pile de la technologie adéquate pour soutenir la gestion de programme Agile est essentiel à la réussite du déploiement Agile. Il est important de ne pas perturber les succès existants en obligeant toutes les équipes à adopter un nouvel outil.
Idéalement, vous pouvez trouver un outil qui s'intègre avec les outils que vos équipes utilisent déjà, de telle sorte que les informations issues de ceux-ci soient pertinentes et exploitables par d'autres personnes au sein de l'organisation. De nombreuses organisations Agile s'appuient sur les outils Enterprise Kanban pour intégrer tous les outils existants dans leur pile, afin de créer une vue unique et partagée des activités de toutes les équipes Agile. Il est tout aussi important de trouver un outil hautement configurable, afin qu'il puisse être paramétré pour refléter avec exactitude les processus spécifiques de votre organisation et pour faciliter les événements ART tels que la planification PI.
Les outils Agile adéquats offrent aux organisations Agile la possibilité de séquencer le travail entre des équipes d'équipes, afin de minimiser les révisions et les pertes de temps et d'efforts. Ils aident également les équipes à gérer et à visualiser les dépendances et les obstacles, leur permettant ainsi de prévenir de façon proactive les problèmes susceptibles de les écarter de la voie à suivre et, par conséquent, de créer du gaspillage.
Sans un moyen de comprendre le flux de la valeur dans une organisation Agile, il est difficile de justifier le financement d'équipes Agile. La meilleure technologie permettra aux Business Owners de disposer de données probantes et d'avoir la certitude que leurs ART réalisent les bonnes activités au bon moment pour assurer le succès de leurs initiatives Agile.