Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MiXiT 2017 - Trouvez vos cadences, et faites un pas vers le Continuous Delivery

MiXiT 2017 - Trouvez vos cadences, et faites un pas vers le Continuous Delivery

Cette session vous emmènera à la découverte de la notion de cadence, celle qui rythme les activités des équipes, quelle que soit l’approche utilisée, du cycle en V au continous delivery en passant par Scrum et Kanban.

La compréhension des cadences apporte des éléments de réponse aux questions suivantes (entre autres) :
- Faut-il caler la production des user stories sur le calendrier des sprints, sur le release plan ? Y a-t-il d’autres possibilités intéressantes à explorer ?
- Comment et quand intégrer les différents types de test au flux des travaux ?
- À quel rythme faut-il livrer en production ? La question se pose-t-elle encore si vous utilisez une approche “continuous delivery” ?
- Vous devez déjà avoir entendu parlé du fameux “rythme soutenable” nécessaire à la réussite d’un projet agile dans la durée. En théorie c’est très simple, mais en pratique, comment déterminer ce fameux rythme ?

Et il y en a même qui pensent qu’avec de bonnes cadences on peut fluidifier l’ensemble des travaux à réaliser, de la collecte des besoins jusqu’au déploiement, s’affranchir des itérations et réussir un passage au Continuous Delivery.

Anne Gabrillagues

April 20, 2017
Tweet

More Decks by Anne Gabrillagues

Other Decks in Technology

Transcript

  1. Trouvez vos cadences ! Et faites un pas vers le

    Continuous Delivery Anne Gabrillagues - @agabrillagues
  2. Cadence : nom féminin • Définition : répétition de sons,

    de mouvements, d'actions qui se succèdent d'une façon régulière ou mesurée ; rythme. • Exemple : Suivre la cadence d'un orchestre.
  3. Cadence : nom féminin • Définition : rythme du travail,

    de l'activité de quelqu'un, rythme d'exécution des tâches de production, des approvisionnements d'une entreprise. • Exemple : accélération des cadences.
  4. Cadence : nom féminin • Définition : rythme de l'activité

    d’une équipe de développement, rythme de traitement de l’ensemble des tâches de réalisation d’un logiciel • Exemple : cadence de livraison d’un logiciel.
  5. Il suffit d’augmenter la cadence de livraison sans dégrader la

    qualité ! Augmenter la valeur produite ?
  6. ➢ Qualité technique : ◦ qualité et maintenabilité du code

    ◦ robustesse et scalabilité de l’architecture ◦ tenue en charge, capacité à absorber des pics de trafic ◦ niveau de sécurité offert par le produit ◦ etc... ➢ Qualité du produit par rapport au besoin exprimé ➢ Adéquation entre le produit et le besoin réel Qualité d’un logiciel
  7. Pour pouvoir augmenter la cadence de livraison il faut augmenter

    celle des validations Augmenter la valeur produite ?
  8. Cadence : nom féminin • Définition : rythme des boucles

    de feedback au sein du processus de développement d’un logiciel • Exemple : cadence de validation d’un logiciel.
  9. Le développement d’un produit est en fait rythmé par plusieurs

    cadences : ➢ cadence de livraison ➢ cadence de validation / feedbacks Mais aussi : ➢ cadence de planification ➢ cadence des contrôles ➢ cadence de revue du processus de développement ➢ etc. Augmenter la valeur produite ?
  10. Pour pouvoir augmenter la cadence de livraison il faut augmenter

    celle de toutes les activités ! Augmenter la valeur produite ?
  11. Pour pouvoir augmenter la cadence de livraison il faut augmenter

    celle de toutes les activités ! Augmenter la valeur produite ?
  12. Votre processus de développement est un système complexe : ➢

    qui fonctionne en environnement contraint (délais, budget, organisation, etc.) Augmenter la valeur produite ?
  13. Votre processus de développement est un système complexe : ➢

    qui fonctionne en environnement contraint (délais, budget, organisation, etc.) ➢ comportant un grand nombre d’activités différentes Augmenter la valeur produite ?
  14. Votre processus de développement est un système complexe : ➢

    qui fonctionne en environnement contraint (délais, budget, organisation, etc.) ➢ comportant un grand nombre d’activités différentes ➢ qui est soumis à beaucoup de variabilité : ◦ erreurs d’estimation ◦ incompréhensions autour du besoin ◦ ratés dans le processus de développement ◦ perturbations diverses Augmenter la valeur produite ?
  15. Votre processus de développement est un système complexe : ➢

    qui fonctionne en environnement contraint (délais, budget, organisation, etc.) ➢ comportant un grand nombre d’activités différentes ➢ qui est soumis à beaucoup de variabilité : ◦ erreurs d’estimation ◦ incompréhensions autour du besoin ◦ ratés dans le processus de développement ◦ perturbations diverses ➢ qui repose sur les épaules d’êtres humains Augmenter la valeur produite ?
  16. Augmenter la cadence de toutes vos activités risque de déstabiliser

    tout votre système, dégradant : Augmenter la valeur produite ?
  17. Augmenter la cadence de toutes vos activités risque de déstabiliser

    tout votre système, dégradant : ➢ la qualité de votre produit Augmenter la valeur produite ?
  18. Augmenter la cadence de toutes vos activités risque de déstabiliser

    tout votre système, dégradant : ➢ la qualité de votre produit ➢ la fréquence de vos livraisons Augmenter la valeur produite ?
  19. Augmenter la cadence de toutes vos activités risque de déstabiliser

    tout votre système, dégradant : ➢ la qualité de votre produit ➢ la fréquence de vos livraisons ➢ la motivation des équipes Augmenter la valeur produite ?
  20. Augmenter la cadence de toutes vos activités risque de déstabiliser

    tout votre système, dégradant : ➢ la qualité de votre produit ➢ la fréquence de vos livraisons ➢ la motivation des équipes Augmenter la valeur produite ?
  21. Cadence : nom féminin • Définition : rythme des activités

    permettant d’établir une capacité fiable à fournir un résultat prédictible. • Exemple : cadence de livraison
  22. “A regular cadence, or “heartbeat”, establishes the capability of a

    team to reliably deliver working software at a dependable velocity. An organization that delivers at a regular cadence has established its process capability and can easily measure its capacity.” Mary Poppendieck
  23. Pour pouvoir augmenter la cadence de livraison il faut augmenter

    celle de toutes les activités trouver les bonnes cadences ! Augmenter la valeur produite ?
  24. ➢ cadence de livraison : une seule livraison à la

    fin ➢ cadence de validation / feedbacks : ◦ validation des spécifications techniques : tests unitaires ◦ validation des spécifications fonctionnelles : phase d’homologation fonctionnelle ◦ validation de l’adéquation au besoin : une fois la livraison finale faite Cadences du cycle en V
  25. ➢ cadence de planification : ◦ lors du cadrage initial

    ◦ 1ère revue du planning sur la base des spécifications fonctionnelles générales ◦ 2nde revue du planning sur la base des spécifications fonctionnelles détaillées ➢ cadence des contrôles : ◦ comité projet (hebdomadaire) ◦ comité de pilotage (mensuel) ➢ cadence de revue du processus de développement : lors du bilan de projet Cadences du cycle en V
  26. ➢ cadence de planification : ◦ lors du cadrage initial

    ◦ 1ère revue du planning sur la base des spécifications fonctionnelles générales ◦ 2nde revue du planning sur la base des spécifications fonctionnelles détaillées ➢ cadence des contrôles : ◦ comité projet (hebdomadaire) ◦ comité de pilotage (mensuel) ➢ cadence de revue du processus de développement : lors du bilan de projet post mortem Cadences du cycle en V
  27. Méthode caractérisée par une planification par phase : ➢ chaque

    passage de phase est un point de contrôle : tout le périmètre doit être terminé avant de pouvoir passer à la phase suivante ➢ les cadences de contrôle et les jalons projets sont découplés ➢ la variabilité : ◦ s’accumule tout au long du projet ◦ se diffuse sur les phases aval ◦ est gérée par le biais d’un buffer de temps ➢ coût économique non négligeable, qui pousse à travailler sur des lots de fonctionnalités de grande taille Cadences du cycle en V
  28. ➢ cadence de livraison : potentiellement à la fin de

    chaque cycle (toutes les 2 à 4 semaines) ➢ cadence de validation / feedbacks : ◦ tests au fil de l’eau ◦ démonstration en fin de cycle ➢ cadence de planification : au début de chaque cycle (sprint backlog) ➢ cadence des contrôles : quotidienne ➢ cadence de revue du processus de développement : à la fin de chaque cycle (rétrospective) Cadences de Scrum
  29. Méthode itérative, et donc cadencée par essence : ➢ les

    activités, les contrôles et les jalons projet sont synchronisés par le biais des itérations ➢ cycles courts contraints par le temps ➢ manipulation de lots de petite taille Cadences de Scrum
  30. Méthode itérative, et donc cadencée par essence : ➢ les

    activités, les contrôles et les jalons projet sont synchronisés par le biais des itérations ➢ cycles courts contraints par le temps ➢ manipulation de lots de petite taille Mais : ➢ approche qui ne convient pas forcément à toutes les équipes (maintenance par exemple). ➢ quid du rythme soutenable ? On ne sprinte pas dans la durée ! Cadences de Scrum
  31. L’itération de Scrum est bien mal nommée … Or il

    est important que l’équipe adopte un rythme soutenable dans la durée afin de garantir : ➢ une vélocité prédictible ➢ une qualité sans compromis Tout cela passe par un niveau d’engagement élevé et donc par la préservation de la motivation de l’équipe. Scrum & rythme soutenable
  32. Quelques pistes à explorer : ➢ travaillez autant que possible

    en équipe sur une seule User Story à la fois, et terminez la avant de passer à la suite. ➢ n’encouragez pas la rédaction d’US ciblant spécifiquement les compétences d’un “spécialiste” ➢ favorisez le développement du “tous unis” ➢ limitez le nombre d’US dans votre sprint backlog afin de vous assurer que vous tiendrez vos engagements sur le sprint Scrum & rythme soutenable
  33. ➢ soyez un bon généraliste, développez de nouvelles compétences afin

    de renforcer le potentiel de l’ équipe ou d’introduire de la redondance ➢ soyez honnêtes et n’hésitez pas à explorer de nouvelles approches lors de vos rétrospectives. Vous pouvez influer sur la façon dont vous travaillez au quotidien ! ➢ si vous êtes manager : investissez-vous vraiment dans la protection de votre équipe et l’élimination des obstacles qu’ils rencontrent. Scrum & rythme soutenable
  34. ➢ Visualiser le processus de travail : la visualisation du

    workflow (flux de travaux) et sa matérialisation permettent de comprendre comment fonctionnent les processus. Un moyen courant de visualiser le workflow est d'utiliser un tableau avec des colonnes, qui représentent différents stades et étapes. Kanban en bref : les 5 pratiques
  35. ➢ Limiter le nombre de tâches en cours : permet

    d’amorcer le fonctionnement en “flux tirés” ➢ Rendre les règles de fonctionnement explicites en les affichant par exemple à côté de votre tableau de suivi (limite par colonne, règles de transition entre colonnes, etc.) ➢ S’améliorer collectivement en continu : les rétrospectives sont organisées lorsque le besoin s’en fait sentir ➢ Collecter les données générées par l’activité matérialisée sur le tableau de suivi (notamment le temps de traversée du tableau, i.e. le temps mis par un ticket pour être traité) Kanban en bref : les 5 pratiques
  36. La mise en place des limites permet d’amorcer le fonctionnement

    en flux tirés : ➢ une carte ne peut être placée dans une colonne que si le nombre totale de cartes est inférieur ou égal à la limite ➢ si il n’y pas de place dans la colonne représentant l’étape suivante du processus, la carte est bloquée dans sa colonne actuelle ➢ une carte bloquée ne libère pas de place pour les cartes traitées en amont : le blocage peut se propager vers la partie gauche du tableau si rien n’est fait Kanban en bref : focus sur le fonctionnement en flux tirés
  37. ➢ l’équipe est alors incitée à travailler en priorité sur

    les cartes générant ce blocage, afin de libérer de la place pour les cartes à venir ➢ l’effort de l’équipe se répartit donc sur les différentes étapes du processus afin d’éliminer le blocage, voire idéalement de fluidifier le traitement des cartes Kanban en bref : focus sur le fonctionnement en flux tirés
  38. Les indicateurs clefs de Kanban représentent la perception du client

    : ➢ le diagramme de flux cumulés (cumulative flow) ◦ Mesure de la valeur livrée au client ➢ le suivi du temps de cycle (control chart) ◦ Mesure du temps d’attente client ➢ le suivi du taux d’anomalies ➢ le suivi du taux d’éléments bloqués Du bon usage des indicateurs
  39. Liste proposée par David Anderson, contributeur majeur de l’application de

    Kanban à l’industrie logicielle : ➢ Standup meeting : fréquence quotidienne ➢ Replenishment Meeting : par exemple tous les 2 jours ➢ Operations Review : revue mensuelle ➢ Delivery Planning Meeting : en fonction de la cadence de livraison ➢ Service Delivery Review : par exemple toutes les semaines ➢ Risk Review : revue mensuelle ➢ Strategy Review : revue trimestrielle Les 7 cadences de Kanban
  40. A quelle fréquence organiser ces réunions et revues ? 2

    approches sont possibles : ➢ à intervalles de temps régulier ➢ déclenchement sur événement Ces 2 approches ne sont pas exclusives ! Les 7 cadences de Kanban
  41. La prise en compte d’une urgence risque de déstabiliser votre

    système de production, impactant plus ou moins sévèrement vos cadences. Plusieurs pistes sont envisageables : ➢ création d’un couloir d’urgence dans votre processus de production : tout élément entrant dans ce couloir est prioritaire sur toute la chaîne de traitement La gestion des urgences
  42. ➢ Mise en place d’une politique de “sous occupation” des

    équipes afin de leur laisser de la marge de manoeuvre pour “encaisser” les aléas sans remettre en cause leur niveau d’engagement Le temps non consommé par le traitement des urgences peut être alloué par exemple au traitement de tâches classiques, en complément du périmètre d’engagement initial. La gestion des urgences
  43. Identifiez ce qui a de la valeur pour votre client

    : ➢ alignez votre système de production avec ce qui a de la valeur pour le client ➢ adaptez votre système au rythme du client ➢ évitez les gaspillages (“non valeur” pour le client) Lean IT : Identify Customers and Specify Value
  44. Identifiez et décrivez votre flux de valeur : ➢ identifiez

    les processus, activités, enchaînements de tâches permettant d’élaborer un produit de valeur ➢ cette démarche fera apparaître en creux les éléments de production de “non valeur” Lean IT : Identify and Map the Stream
  45. Favorisez l’écoulement du flux de valeur : ➢ faites en

    sorte que les opérations créant de la valeur s'enchaînent de façon fluide, sans attente ni retour arrière sur la chaîne de production ➢ un débit fluide : ◦ est plus rapide ◦ augmente la prédictibilité du système Lean IT : Create the flow by eliminating waste
  46. “En flux tiré” signifie : ➢ ne produire que ce

    qui est nécessaire ➢ ne produire que lorsque c’est nécessaire L’idée sous jacente est de supprimer idéalement tout ce qui est stock, file d’attente, etc. Lean IT : Respond to customer pull
  47. Visez la perfection : ➢ l’amélioration continue doit faire partie

    de l’ADN de votre organisation ! ➢ vous pouvez toujours améliorer la fluidité de votre processus de production ➢ vous découvrirez chemin faisant de nouveaux gaspillages à éliminer Lean IT : Pursue perfection
  48. Il n’y a pas de cadence spécifique à Lean :

    ➢ l’objectif est d’obtenir un flux de valeur lissé ➢ les seules fréquences à prendre en compte sont celles spécifiques aux demandes du client La clef est d’avoir un incrément de valeur à chaque cycle : • Cadence = “Rythme de livraison de la valeur” • Amélioration continue = “Améliorer la fréquence de livraison ou la valeur de la livraison” Les cadences du Lean
  49. La plupart des projets en en fait 2 cadences de

    livraison : ➢ cadence de livraison en homologation : ◦ mise à disposition de la nouvelle version auprès d’un ensemble d’utilisateurs représentatifs ◦ permet de collecter un premier lot de feedbacks ➢ cadence de livraison réelle en production : ◦ après validation de la version en homologation ◦ fréquence en général bien moins élevée ... Cadence de livraison
  50. Ce décalage fait apparaître 2 coûts : ➢ coût de

    transaction : coût lié au déploiement d’une nouvelle version (temps et ressources consommées par la livraison en elle-même, conduite du changement, formation aux nouvelles fonctionnalités, etc.) ➢ coût du stockage des éléments terminés lié à l’existence d’une file d’attente d’éléments prêts à être livrés au client final Cadence de livraison
  51. L’idée est de trouver le point d’équilibre entre les 2

    coûts pour déterminer la cadence optimale de livraison. Cadence de livraison
  52. Qu’est-ce qui vous empêche de livrer plus souvent ? ➢

    buffer de temps et dates fixes du cycle en V ➢ livraison en fin de Sprint uniquement ➢ organisation des développements (pouvoir livrer ce qui est fini uniquement) ➢ files d’attente sur votre processus de production (validation en lots) ➢ etc ... Ce sont les prochains problèmes à traiter ! Améliorez votre cadence de livraison
  53. Le standup meeting : ➢ est un équivalent du daily

    meeting Scrum ➢ tourne typiquement autour des questions suivantes: ◦ qui travaille sur quel sujet ? ◦ qui est bloqué et aurait besoin d’aide ? ➢ permet aux membres de l’équipe : ◦ de se tenir au courant de la situation à date ◦ de collecter les informations leur permettant de s’organiser au mieux pour traiter les travaux à mener Les 7 cadences de Kanban par David Anderson
  54. Le Replenishment Meeting : ➢ réunion visant à réalimenter la

    liste des travaux à traiter en entrée du tableau Kanban ➢ a pour but de prioriser les travaux en toute transparence avec les parties prenantes ➢ fréquence propre à chaque système, de quotidienne à annuelle. ➢ peut être déclenchée quand le nombre de tickets dans la colonne d’entrée atteint la limite basse. Les 7 cadences de Kanban par David Anderson
  55. Le Operations Review : ➢ revue de haut niveau visant

    à monitorer la façon dont les différents départements / divisions / équipes collaborent et s’organisent entre eux ➢ focus sur les transferts et les files d’attentes ➢ permet d’éviter de se focaliser sur l’optimisation locale du fonctionnement d’une équipe au détriment de l’ensemble de l’organisation ➢ questions typiquement abordées : ◦ Quel est le niveau de satisfaction de nos clients ? ◦ Les résultats financiers sont-ils bons ? ◦ Y a t’il du turnover dans les équipes ? ◦ A quel endroit de l’organisation y a t il de la sous utilisation de capacité ? Les 7 cadences de Kanban par David Anderson
  56. Le Delivery Planning Meeting : ➢ a pour objectif d’organiser

    la livraison de lots de fonctionnalités cohérents compte tenu : ◦ de ce qui est déjà prêt ◦ de ce qui sera rapidement prêt ◦ des risques identifiés ➢ prend en compte les impacts en terme de conduite du changement ➢ peut influencer sur la priorisation de certains éléments Les 7 cadences de Kanban par David Anderson
  57. Le Service Delivery Review : ➢ revue du niveau de

    service fourni au client, ayant pour but : ◦ d’améliorer le niveau de satisfaction client ◦ de construire une relation de confiance basée sur la transparence ➢ implique des représentants des utilisateurs finaux ➢ analyse critique de la dernière version livrée, tenant compte du périmètre fonctionnel couvert, du niveau de qualité fourni, des SLAs, de la gestion des anomalies et feedbacks clients, etc. Les 7 cadences de Kanban par David Anderson
  58. Le Risk Review : ➢ réunion ayant pour but d’identifier

    les risques et de mettre en oeuvre des actions de mitigation afin de préserver la capacité du système à livrer le périmètre attendu dans les délais prévus ➢ se base a minima sur l’analyse des problèmes déjà rencontrés, enrichie éventuellement via une approche spéculative Les 7 cadences de Kanban par David Anderson
  59. Le Strategy Review : ➢ revue ciblant le positionnement du

    produit par rapport à son marché et la prise en compte des besoins émergents ➢ a pour but de vérifier : ◦ si la capacité de livraison du système est en phase avec les attentes du marché ◦ si l’organisation est en mesure de s’adapter à de nouvelles demandes du marché ➢ implique typiquement les managers de haut niveau, avec des inputs venant du marketing, des commerciaux et du support utilisateurs. Les 7 cadences de Kanban par David Anderson
  60. PARIS BORDEAUX NANTES LYON MARRAKECH WASHINGTON DC NEW-YORK RICHMOND MELBOURNE

    [email protected] www.ippon.fr - www.ippon-hosting.com - www.ippon-digital.fr @ippontech - 01 46 12 48 48