BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Articles SCRUMBAN, Le Meilleur Des Deux Mondes

SCRUMBAN, Le Meilleur Des Deux Mondes

Favoris

Points Clés

  • L’approche Scrum s’appuie sur des séries d’itérations appelées Sprint dont l’objectif est de réussir à livrer le plus de valeur dans un temps le plus court possible. Des rôles, des artéfacts et rituels font parties intégrantes d’une équipe qui s’engage à délivrer une valeur du produit pendant des sprints dont la durée est de 1 à 4 semaines. L’avantage du modèle réside dans le fait que les fonctionnalités à développer sont priorisées avec l’utilisateur final permettant la construction d’un produit avec une forte valeur métier dans un délai assez restreint
  • L’approche Kanban vise à structurer et faciliter la visualisation du flux d’évolutions et/ou corrections sur un tableau décomposé en colonne « En cours » « En attente » et « Terminé ». L’amélioration continue avec les méthodes Lean ont inspiré le développement de cette approche. L’utilisation du Kanban sera efficace dans la gestion de changements associée à un produit déjà déployé.
  • Le Built-in quality consiste à construire la qualité dans le produit plutôt que de la vérifier après coup. La qualité du produit en devient un enjeu collectif pour lequel on améliore les process de développement afin d’en réduire les bugs générés.
  • Le MVP vise à la mise en place d’une première version du produit avec les fonctionnalités essentielles à son bon fonctionnement afin de mesurer son impact sur les utilisateurs et en savoir davantage quant à sa proposition de valeur.
  • Le ScrumBan regroupe les avantages de l’approche Scrum et Kanban, il est structuré comme peut l’être la méthode Scrum et permet de gérer des projets en flux continu grâce à l’approche Kanban.

L’approche Agile et ses deux principaux frameworks

Le manifeste Agile a marqué la naissance officielle de la démarche Agile en 2001. Il existait naturellement des frameworks véhiculant ce même courant Agile avant la publication du manifeste

L’approche Agile est considérée comme une méthode pragmatique avec le développement souvent itératif et incrémental à la différence des approches plus traditionnelles (Cycle en V, waterfall etc.). Bien qu’être issue de l’environnement des développements informatiques, l’approche Agile s’est démocratisée dans un ensemble de domaines comme par exemple le marketing.

Cette méthode assure de nombreuses vertus grâce à sa capacité à gérer des boucles de retour de satisfaction des utilisateurs permettant :

  • Une meilleure maitrise des aléas
  • Une approche positive et constructive sur la gestion du changement
  • Une rapidité dans la délivrance d’une valeur

L’approche Agile contribue à maintenir une qualité optimale du code ainsi qu’une cohérence dans l’architecture du produit grâce à l’attention portée sur l’équipe : l’estimation continue de la capacité à faire et le rythme dédié au développement.

De nombreux frameworks se sont positionnés pour intégrer les principes Agiles, chacun d’entre eux dispose de leurs avantages et inconvénients naturellement. Nous pouvons citer Scrum le plus répandu avec un taux d’utilisation d’environ 54% ou encore l’approche Kanban.

L’enjeu n’est pas celui de choisir le framework le plus populaire ou celui qui s’est bien adapté dans une entreprise, le principal enjeu sera d’étudier son environnement et ses méthodes de travail pour choisir le modèle Agile qui s’ajustera parfaitement à la culture de l’entreprise pour offrir la valeur attendue.

Cependant ce choix devient davantage complexe quand nous nous confrontons à une situation dite « hybride » comme par exemple le cas d’une application nécessitant à la fois de la maintenance et le développement de fonctionnalités majeures.

L’approche SCRUM

Scrum est considéré à ce jour comme le cadre de travail Agile le plus fréquemment déployé au sein des entreprises. Ken Schwaber et Jeff Sutherland ont élaboré ce modèle en portant leur réflexion que le développement logiciel est une activité non-déterministe et qu’il est, par conséquent, impossible de prévoir toutes les activités d’un projet. Bien que le modèle semble accessible, son implémentation au sein d’une entreprise peut se traduire par un échec si certaines questions ne sont pas posées en amont.

C’est pourquoi le modèle Scrum s’appuie sur des séries d’itérations appelées Sprint dont l’objectif est de réussir à livrer le plus de valeur dans un temps le plus court possible. Des rôles, des artéfacts et rituels font parties intégrantes d’une équipe qui s’engage à délivrer une valeur du produit pendant des sprints dont la durée est de 1 à 4 semaines.

L’avantage du modèle réside dans le fait que les fonctionnalités à développer sont priorisées avec l’utilisateur final permettant la construction d’un produit avec une forte valeur métier dans un délai assez restreint. Par ailleurs, les itérations ainsi que la livraison périodique des nouvelles fonctionnalités permettent d’identifier en avance les deltas et corriger progressivement ces écarts.

En revanche, une fois le logiciel déployé et mis en mode RUN, la méthode Scrum présente ses limites : Le rythme continu de développement ainsi que la cadence des sprints apportent une difficulté pour réagir rapidement à des anomalies puisqu’il faudra attendre la fin du sprint pour déployer un correctif.

Par conséquent, la méthode Scrum est efficace pour construire une solution en partant de 0 mais devient rapidement un frein dans le cadre de maintenances en raison de son rythme continue.

Figure 1 Extrait du site tuleap.org

L’approche KANBAN

L’approche Kanban vise à structurer et faciliter la visualisation du flux d’évolutions et/ou corrections. L’amélioration continue avec les méthodes Lean ont inspiré le développement de cette approche.

L’utilisation du Kanban sera efficace dans la gestion de changements associée à un produit déjà déployé. Le système permet d’identifier sur un tableau le cycle de vie de chaque anomalie et de mieux gérer le flux de travail. De plus, la notion de priorité intégrée dans la démarche entraine un traitement et une résolution plus rapide des anomalies en production.

Figure 2 Extrait de bocasay.com

 

Problématique du mode projet et run

Revenons sur le principe du « Built-in quality » un concept essentiel dans le cadre du principe Agile. Le Built-in quality consiste à construire la qualité dans le produit plutôt que de la vérifier après coup. La qualité du produit en devient un enjeu collectif pour lequel on améliore les process de développement afin d’en réduire les bugs générés.

La qualité du code ainsi que l’architecture du produit peuvent être souvent négligés pour différentes raisons comme des périmètres fonctionnels ou des dates de release trop ambitieuses ou encore des imprévus identifiés. On constate régulièrement que ce travail d’optimisation de la qualité du code est reporté ce qui occasionne des charges supplémentaires comme la gestion des dysfonctionnements en production.

En effet, on appelle la dette technique lorsque les maintenances qui seront à réaliser dans le futur auront un coût supplémentaire sur l'ensemble du projet. Ce sont les "intérêts".

Les intérêts de cette dette sont les adaptations ou bien les corrections de dysfonctionnements en production occasionnées par le manque de réalisation de ce travail.

Dans le cadre d’un développement de logiciel, nous retrouvons souvent une première livraison d’un MVP avec la démarche Agile. Pour rappel, le MVP vise à la mise en place d’une première version du produit avec les fonctionnalités essentielles à son bon fonctionnement afin de mesurer son impact sur les utilisateurs et en savoir davantage quant à sa proposition de valeur.

Dans le cas d’un MVP, il est nécessaire d’être en capacité de planifier des lots successifs avec d’autres évolutions importantes et structurantes. Il est par conséquent primordial de pouvoir répondre de façon immédiate à des anomalies de production tout en maintenant un rythme constant dans le développement des différentes fonctionnalités demandées par le client dans le but d’atteindre une haute qualité du produit final.

Nous avons parcouru les avantages et inconvénients des deux approches à savoir Scrum et Kanban et des problématiques que l’on pouvait rencontrer notamment dans développement continu du mode projet et mode RUN. La réflexion de combiner le meilleur de ces deux approches peut-il apporter une valeur ajoutée pour répondre à cet enjeu organisationnel ?

 

Le ScrumBan comme une approche hybride du Scrum et du Kanban

Le ScrumBan regroupe les avantages de l’approche Scrum et Kanban, il est structuré comme peut l’être la méthode Scrum et permet de gérer des projets en flux continu grâce à l’approche Kanban.

Figure 3 Le cycle du Scrumban

Itération de développement

Scrumban s’organise avec des itérations de développement comme nous le connaissons avec les sprints. En revanche, il n’y a aucune notion de sprint backlog. La durée d’une itération est à l’identique à un sprint de développement.

Priorisation des tâches

Dès lors que les développeurs ont finalisé leurs taches en cours, le Product Owner distribue les prochaines tâches au fil de l’eau. Le Scrumban conserve la priorisation des tâches qui se définie en temps réel de manière à délivrer la meilleure valeur aux utilisateurs. L’équipe ne doit pas prévoir en avance les tâches à réaliser lors de l’itération. Ainsi, on ne retrouve pas de sprint backlog et de périmètre défini par le Product Owner comme dans l’approche Scrum.

Fonctionnement de l’équipe

Le Scrumban intègre toutes les différentes formes de réunions que nous connaissons dans l’approche Scrum pour permettre de garder une cohérence et un cadre Agile aux équipes. De la même manière que l’approche Kanban, il n’existe pas de rôle clairement défini dans le Scrumban, il est possible de conserver les rôles de Scrum si l’organisation et la culture de l’entreprise le permet mais ce n’est pas obligatoire. Le rôle du PMO peut légitimement être intégré dans une approche Scrumban au même titre que dans une méthode Scrum.

Les membres de l’équipe sont autonomes et choisissent les tâches à accomplir en fonction de leur aspiration et spécialité dans le domaine : ils sont entièrement responsables.

Héritage du Kanban

Les tâches à accomplir viennent de la demande client et sont aussitôt intégrés dans la colonne du tableau appelée « A faire ». Ces tâches seront par la suite priorisées suivant leur degré d’importance. On retrouve les 3 colonnes du tableau permettant d’avoir un suivi de l’avancement du flux de travail « En cours » , « En attente » et « Terminée ».

 

Comme nous avons pu le constater, il existe de nombreuses manières d’appliquer l’Agile : en mode « prêt-à-porter » ou « sur mesure ». La question qui revient régulièrement est la suivante : existe-t-il une méthode parfaite qui répondra à mes besoins ?

La question peut soulever un débat. De mon point de vue, je dirais qu’il est essentiel de considérer la dimension organisationnelle, humaine et le niveau de maturité Agile de votre entreprise pour s’orienter sur une approche et l’adapter si besoin sans prendre le risque de déformer les principes Agile.

 

A propos de l'auteur

Issu de cabinets de conseil reconnus, Raphaël Boublil a réalisé de nombreuses missions dans des contextes de transformation digitale avec des interventions essentiellement focalisées sur le suivi d'un portefeuille projets IT (agile & cycle V), le suivi budgétaire d'une DSI (TCO), la mise en place d'une démarche de conduite du changement ou encore la définition d'une gouvernance projet (processus, outillage, risques, knowledge management).

Fondateur de KeraSkill, Raphaël profite des missions accomplies et de sa veille technologique pour partager des actualités et mes retours d'expérience. Il intervient également dans l'animation de formations visant à obtenir des certifications autour des nouvelles méthodologies projet.

Linkedin : https://www.linkedin.com/in/raphaelboublil/

Evaluer cet article

Pertinence
Style

Contenu Éducatif

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

BT