Explorer la planification continue

Effectué

La planification continue est l’une des huit fonctionnalités DevOps.

Découvrez pourquoi la planification continue est nécessaire

Intéressons-nous maintenant à une étude de cas concernant une application logicielle développée par un organisme public entre 2000 et 2005. S’étant révélé un échec total, le projet a été officiellement abandonné en janvier 2005 bien avant son achèvement. Plus de 100 millions de dollars ont été perdus dans le projet, et l’organisme et son directeur se sont attiré de très nombreuses critiques.

Un deuxième projet a vu le jour en 2006, mais s’est révélé tout aussi désastreux. Ces deux tentatives ont demandé de gros efforts de conception en amont, ainsi que l’utilisation du modèle de développement Waterfall, avec la planification classique d’une date de « go-live » dans le cadre d’une stratégie Big Bang. Elles se sont soldées par un échec et par la perte de plusieurs centaines de millions de dollars.

Diagram shows the government agency project timeline.

Pourquoi ces tentatives ont-elles échoué ?

  • De gros efforts de conception en amont : une équipe constituée de 200 personnes a passé six mois à déterminer les besoins.
  • Un changement de priorité : une catastrophe s’est produite pendant l’exécution du projet, ce qui a entraîné un renversement important des objectifs et a nécessité l’ajout de 300 autres personnes à l’équipe. Celle-ci s’est attelée durant six mois à la rédaction de 600 pages sur les besoins.
  • Des efforts et des remaniements inutiles ont rendu impossible le respect des délais et ont mené au burn-out de l’équipe (700 000 lignes de code étaient constamment réécrites).

En décembre 2010, un studio Scrum a été mis en place et colocalisé. L’équipe est passée de 400 à 40 personnes. Les 600 pages consacrées aux besoins de conception se sont transformées en 670 récits utilisateur. L’équipe livrait du code et montrait de nouvelles fonctionnalités toutes les deux semaines. Après quelques sprints, il est devenu possible de prévoir des échéances approximatives et de planifier des modifications d’activité incrémentielles. Le code a été terminé en décembre 2011.

Mais pourquoi est-il si difficile de planifier correctement les détails ?

Pendant la Seconde Guerre mondiale, Alan Turing a créé un dispositif capable de comprendre le système de chiffrement de la machine Enigma.

Turing devait constamment déchiffrer de nouveaux codes pour sauver des vies. Au lieu d’abandonner en raison de l’infinie complexité de sa tâche, Turing a persévéré car il savait qu’il lui suffisait de déchiffrer de petits détails pour obtenir de plus gros résultats :

« Nous ne savons pas où nous allons, mais du moins il nous reste bien des choses à faire. ».

Les projets logiciels ambitieux sont toujours les plus complexes. Toutefois, vous ne devez pas laisser la complexité vous décourager. Vous devez exécuter là où les choses sont claires, c’est-à-dire, dans le court terme.

Planifiez continuellement et efficacement avec focus, agilité et une vision claire, grâce aux objectifs et résultats clés (OKR).

Avant d’expliquer ce qu’est la planification continue, nous devons vous présenter le concept et le framework qui vous aideront à planifier de manière continue et efficace avec une vision claire, focus et agilité.

Les objectifs et résultats clés (OKR) constituent un framework de mise en place d’objectifs conçu pour connecter les objectifs stratégiques définis par la hiérarchie aux activités quotidiennes des équipes d’exécution.

Important

Les objectifs et résultats clés permettent d’identifier le meilleur résultat possible et d’avoir une vision claire de ce que signifie réellement « réussir ».

Les objectifs et résultats clés sont généralement définis sur une base trimestrielle afin d’obtenir focus et agilité.

L’objectif correspond à la direction qui est prise, et le résultat clé doit être mesurable. Vous pourrez alors clairement décider : ai-je ou non atteint mon objectif ? Oui ? Non ? Simplement. Sans y apporter de jugement.

Les objectifs et résultats clés sont localisés dans l’ensemble des équipes de l’organisation à des fins d’alignement et de transparence.

Que sont les objectifs et résultats clés ?

Les objectifs et résultats clés ont trois aspects essentiels :

  • Ils constituent un framework permettant de définir des objectifs clairs, et d’avoir une vision plus claire de l’intention et de la direction à tous les niveaux de l’organisation.

  • Ils sont renforcés par des résultats clés mesurables. Les résultats clés permettent de mesurer le degré de réussite d’un projet.

  • Ils créent un mindset orienté résultats, ce qui permet d’abandonner le mindset orienté sur les produits ou fonctionnalités à livrer.

Exemple d’objectif et de résultats clés

Voici un exemple d’objectif et de résultats clés :

Objectif : Envoyer un astronaute sur la Lune d’ici 1970.

Résultats clés :

  1. Construire une navette spatiale de moins de 20 tonnes d’ici 1965.
  2. Entraîner les astronautes à l’alunissage d’ici 1967.
  3. Réussir un alunissage.
  4. Ramener sur Terre les astronautes sains et saufs.

Cet exemple d’objectif et de résultats clés montre pourquoi envoyer un astronaute sur la Lune d’ici 1970.

Notes

Les objectifs doivent être faciles à comprendre, définir une direction claire et avoir une motivation.

Dans cet exemple, les résultats clés sont des mesures de progression qui permettent de mesurer si l’objectif a été atteint.

Notes

Les résultats clés doivent être mesurables et montrer comment atteindre l’objectif.

Principaux avantages des objectifs et résultats clés

Les objectifs et résultats clés présentent cinq avantages principaux :

  • Focus : chaque objectif doit tenir sur une ligne. En ce qui concerne les résultats clés, vous ne devez pas en avoir plus de cinq par objectif.
  • Alignement : les responsables et les contributeurs lient leurs activités quotidiennes à la vision globale de l’entreprise. Le terme employé pour désigner cette liaison est « alignement ». Sa valeur est cruciale.
  • Engagement : les planifications et les ressources sont ajustées afin de garantir que tous les engagements convenus seront respectés.
  • Suivi : les objectifs et résultats clés qui permettent de passer du mindset Résultats au mindset Produit expliquent pourquoi la gestion par objectif est si populaire au sein des entreprises de premier plan. Les objectifs et résultats clés doivent pouvoir être évalués par le biais des métriques qui ont été établies au moment de la définition des objectifs.
  • Dépassement des objectifs : les objectifs et résultats clés poussent implicitement les entreprises à se dépasser de manière à obtenir des résultats qu’elles ne pensaient pas atteignables.

Expliquer les différences entre la planification continue et la planification statique

La planification continue est une pratique qui oblige les planificateurs, les architectes et les équipes Agile à intégrer leurs plans à tous les niveaux de l’entreprise, et ce, continuellement.

Dans une planification continue, les méthodes de planification basées sur Scrum et les conceptions émergentes permettent aux équipes d’affiner la planification au niveau de l’exécution.

Il est important d’avoir un plan général qui résistera à toute modification, et qui est guidé par une vision et un objectif clairs.

Le « triangle de fer » des inconvénients de la méthode de développement Waterfall par rapport à ceux de la méthode Agile illustre les différences qui existent entre la planification continue et la planification statique.

Dans la méthodologie statique, la planification de l’étendue est fixe. Vous déterminez le temps que prendra le projet et combien il coûtera.

Dans la méthodologie Agile, qui utilise les principes de la planification continue, le calendrier est fixé pour répondre aux objectifs de l’entreprise. La seule chose négociable est l’étendue.

Diagram shows the iron triangle of tradeoffs for Waterfall vs. Agile development methodologies.

Le « triangle de fer » montre généralement le temps, les ressources et les fonctionnalités. Gartner y a ajouté la qualité, car la durée et le coût sont liés, et parce que la qualité est souvent ignorée.

Qu’en est-il du succès de ces deux méthodes ?

Diagram shows a comparison between the success rates of Agile and Waterfall projects. 9% of the Agile projects failed, 39% succeeded, and 52% were challenged. 29% of the Waterfall projects failed, 11% were successful, and 60% were challenged.

L’une des raisons pour lesquelles les projets Agile réussissent plus souvent est que les versions publiées par petits lots augmentent les occasions d’acquérir des connaissances.

Il y a quatre choses à garder en tête :

  • Les besoins de l’entreprise changent constamment et brusquement.
  • Agile offre des mécanismes de planification permettant de s’adapter aux changements.
  • Les équipes les plus performantes peuvent elles aussi aller dans la mauvaise direction.
  • L’accroissement des connaissances réduit ce risque.

Les méthodologies Waterfall et Agile font toutes les deux l’objet de remises en question. Il se trouve simplement que la méthode Agile réussit 30 % plus souvent.

Explorer les six principes de la planification continue

La planification continue a six principes :

  1. La simplicité
  2. Le manifeste Agile software development
  3. Le Design Thinking
  4. Le développement itératif et incrémentiel
  5. Le Lean Management
  6. Exactitude d’estimation

Premier principe de la planification continue : la simplicité

Le premier principe de la planification continue est la simplicité.

« Si vous ne pouvez pas l’expliquer simplement, c’est que vous ne le comprenez pas assez bien. »

- Albert Einstein

Deuxième principe de la planification continue : le manifeste Agile software development

Le deuxième principe de la planification continue est le manifeste Agile software development.

Le manifeste a pour sujet la livraison des logiciels. Il aborde le développement logiciel, et non la gestion de projets ou la conception. Il se trouve au cœur de la planification continue et de DevOps.

Nous découvrons les meilleures façons de développer des logiciels en le faisant nous-mêmes et en aidant les autres à le faire. Grâce à ce travail, nous valorisons désormais :

  • Les individus et les interactions plutôt que les processus et les outils
  • Les logiciels opérationnels plutôt qu’une documentation exhaustive
  • La collaboration avec les clients plutôt que la négociation de contrat
  • L’adaptation au changement plutôt que le respect des plans

Troisième principe de la planification continue : le Design Thinking

Le troisième principe de la planification continue est le Design Thinking.

Le Design Thinking adopte une approche de l’innovation qui est centrée sur l’humain. Il cherche un équilibre entre viabilité, faisabilité et demande afin d’établir des limites et de réduire le gaspillage.

Diagram explains design thinking. Design thinking establishes the boundaries of the product early (often called the minimal viable product or “MVP”). It focuses on the intersection between business viability, technical and budget feasibility, and desirability. This intersection is where innovation happens.

Quatrième principe de la planification continue : le développement itératif et incrémentiel

Le quatrième principe de la planification continue est le développement itératif et incrémentiel.

Certains craignent de ne pas savoir ce qu’ils obtiendront. Le développement itératif résout ce problème en plaçant les exigences et les priorités entre les mains des parties prenantes dans une boucle de feedback itérative. Chaque itération est complète, utilisable et utile pour ses utilisateurs. Il ajoute d’autres fonctionnalités, de préférence les plus importantes en premier.

Cinquième principe de la planification continue : le Lean Management

Le cinquième principe de la planification continue est le Lean Management.

La valeur est définie du point de vue du client final. Dans ce processus, des chaînes de valeur sont identifiées. Les étapes qui n’apportent pas de valeur au client sont considérées comme inutiles et sont donc supprimées.

Le processus recommence, en s’efforçant d’atteindre la perfection à l’aide de l’amélioration continue.

Diagram shows the stages of the process: identify value, map the value stream, create flow, establish pull, and seek perfection.

Sixième principe de la planification continue : la justesse de l’estimation

Le sixième principe de la planification continue est la justesse de l’estimation.

Une estimation est une prédiction analytique de la durée d’un élément, de son coût ou du nombre de fonctionnalités qui peuvent être livrées. Elle a deux attributs : la justesse et la précision, qui sont totalement indépendantes l’une de l’autre. Les estimations appartiennent à l’équipe d’ingénierie.

Une cible est la déclaration d’un besoin métier : le temps que nous souhaiterions que cela prenne, le coût que nous ciblons ou le nombre de fonctionnalités que nous souhaitons livrer. Les cibles appartiennent à l’entreprise.

Un engagement correspond à la promesse de livrer des fonctionnalités et un niveau de qualité à une date donnée. Les engagements appartiennent à la fois à l’équipe d’ingénierie et à l’entreprise.

Important

L’objectif de la planification continue est de maintenir l’alignement des estimations, de la cible et de l’engagement. Sans cet alignement, nous ne répondrons pas aux attentes internes et externes à l’entreprise.

Expliquer la relation entre Scrum et les objectifs et résultats clés

Maintenant que vous savez ce que sont les objectifs et résultats clés et à quoi ils servent, et que vous en savez un peu plus sur la planification continue, voyons maintenant ce qui les lie.

La structuration du travail à l’aide de techniques comme les objectifs et résultats clés réduira les incertitudes, au moins dans le court terme. Étant donné que les objectifs et résultats clés sont censés être définis en cascade, cela aura pour effet de modifier la façon dont les responsables présenteront leur style de gestion.

Les techniques telles que les objectifs et résultats clés sont un moyen rapide et efficace d’abandonner le style de gestion autoritaire.

Objectives and key results lead to epics. Epics help define features, which involve user stories, and result in a development task.