KANBAN ET LE DÉVELOPPEMENT LOGICIEL AGILE
Transcription
KANBAN ET LE DÉVELOPPEMENT LOGICIEL AGILE
Le magazine consacrée aux thèmes informatiques KANBAN ET LE DÉVELOPPEMENT LOGICIEL AGILE KANBAN et / ou SCRUM ? Kanban et le développement logiciel agile 04/2011 Depuis un certain temps, on entend dans le contexte de développement logiciel agile et de processus agile de plus en plus souvent la notion de « Kanban » ou de « Kanban logiciel ». Mais que recouvre au juste cette notion? Est-ce un phénomène nouveau ou veut-on nous faire prendre du vieux pour du neuf? Le présent document se propose de répondre à cette question. L a notion de « Kanban » vient du japonais et signifie carte de signal ( « kan » = signal, « ban » = carte ). À l’origine, Kanban est un élément de la lean production [flux tendu], qui trouve ses racines dans le système de production de Toyota. La lean production ou le système des « flux tendus » a pour objectif d’optimiser la productivité, la qualité et la flexibilité des outils de production. Un des moyens pour y parvenir consiste à éviter le gaspillage et les erreurs. Par gaspillage, on entend: • un travail qui n’ajoute aucune valeur au produit (muda) • une surcharge des salariés et des machines (muri) • une irrégularité des processus (mura) La surproduction est également con sidérée comme du gaspillage, et doit à ce titre également être évitée afin de réduire les stocks qui nécessitent de la place, drainent des capitaux, et qui par conséquent coûtent chers. On entend obtenir ce résultat, entre autres, en mettant en place un flux de processus tant que possible continu. C’est ici qu’intervient le principe de Kanban. Une étape de la production se procure les matériels requis dans la zone de stockage tampon des étapes de production précédentes respectives (principe de pull). Pour cette raison, Kanban s’appuie sur le plan de production de la dernière étape de fabrication. Si l’on passe en dessous d’un stock minimal défini de matériels, on transmet une information indiquant qu’il faut produire le ravitaillement requis. Dans le cadre du système de Kanban classique, cette information est transmise par les cartes de signal (cartes Kanban). Dès l’obtention de la carte Kanban, l’entité productrice lance la production du type et de la quantité de matériels définis sur la carte. Dès que la quantité exigée est produite, le matériel est transporté conjointement avec la carte Kanban dans la zone de stockage tampon à partir de laquelle l’étape de production suivante se ravitaille elle-même. Kanban en informatique (Kanban logiciel) C’est David Anderson qui en 2007 a développé le principe de Kanban dans le secteur de l’informatique. Dans le cadre de cette démarche, il n’a pas emprunté directement les techniques émanant de la production mais il a conjugué des principes fondamentaux provenant de la lean production et du lean development avec la théorie des contraintes – i. e. des goulets d’étranglement) – (cf « the theory of constraints »). Contrairement à d’autres méthodologies agiles, le Kanban ne connaît pas d’itérations. Ainsi obtient-on un « flux » continu dans le cadre du traitement. Kanban s’articule autour des deux principes fondamentaux suivants: • la visualisation de la chaîne de création de valeur et • la limitation du « work in progress » (WiP). © 2012 PENTASYS AG 1 Le magazine consacrée aux thèmes informatiques Visualisation de la chaîne de création de valeur Pour toutes les personnes concernées, la chaîne de création de valeur du développement est rendue visible par un tableau, celui-ci étant dans la plupart des cas un grand tableau blanc. Sur ce tableau figurent les différentes étapes du processus, par exemple, la définition des besoins, la conception, la mise en œuvre, les tests, la représentation prenant la forme de colonnes. Les différentes demandes sont notées sur des fiches ou des post-its, ceux-ci étant collés sur le tableau. Les demandes peuvent être formulées sous forme d’histoires utilisateur (user stories), de fonctionnalités (features), cas d’usage (use case), etc. Au cours du traitement, les demandes se déplacent ensuite de la gauche vers la droite. L’opérateur se procure pour chaque étape de traitement relative qui suit les tâches finalisées de l’étape précédente. Cela correspond au principe de pull appliqué dans le cadre de la lean production. La visualisation montre quelles activités se trouvent dans quel stade de réalisation. Il n’existe pas de contraintes pour l’aménagement du tableau, celui-ci pouvant donc être conçu selon ses besoins propres. Fig. 1: La visualisation sur un tableau démarrage Définition du besoin En cours Lore ipsum Lore ipsum Fini Lore ipsum Conception Mise en œvre En cours Fini En cours Fini Lore ipsum Lore ipsum Lore ipsum Lore ipsum Lore ipsum Lore ipsum Lore ipsum Lore ipsum Lore ipsum Lore ipsum Lore ipsum Test Realisé Lore ipsum Lore ipsum Lore ipsum Lore ipsum Comme le montre la représentation ci-contre, la transparence obtenue l’affichage au tableau permet d’identifier très rapidement des goulets d’étranglement survenant au cours du traitement. Cet exemple contient de nombreuses tâches se trouvant au stade de la conception et un très petit nombre au stade de la réalisation. C’est là qu’apparaît un goulet d’étranglement, puisqu’un grand nombre de tâches sont finalisées au niveau de la conception mais qu’elles ne peuvent pas être mises en œuvre à la même vitesse. Cela empêche d’obtenir un flux régulier. Le principe de la limitation du work in progress (WiP) permet de remédier à cette situation. On limite le nombre de tâches ayant simultanément le même statut; ainsi on garantit que le nombre de résultats obtenus dans le cadre d’une étape de traitement ne dépasse pas le nombre de résultats pouvant être traités lors de l’étape de traitement suivante. Ceci génère un flux constant, tout en garantissant une utilisation régulière. On peut par exemple limiter l’étape « conception » à 2, c’est-à-dire que l’on a uniquement le droit d’accrocher deux post-it au niveau de cette étape. 2 © 2012 PENTASYS AG Dans ce qui suite, on fait une comparaison entre Kaban et scrum. Pour cette comparaison, on a choisi scrum car cette méthode connaît un très haut niveau de notoriété. Points communs entre Kanban et scrum • Processus agile • Basé sur des équipes auto-organisées • Livraison fréquente d’incréments logiciels commercialisables • Contrainte de décomposition des besoins en en petites unités • Utilisation d’un système de pull • Limitation du traitement simultané maximal de tâches (WiP: work in progress) Différences entre Kanban et de scrum • Chez Kanban, les itérations sont en option • Chez Kanban, les engagements de l’équipe sont en option • Chez Kanban, les équipes interdisciplinaires sont en option mais les équipes d’experts sont autorisées • Chez Kanban, de nouvelles demandes peuvent à tout moment être communiquées à l’équipe tant qu’il existe des capacités disponibles • Kanban ne définit pas de rôles • Le tableau Kanban fait l’objet d’un suivi permanent • Chez Kanban la priorisation des demandes est en option Lore ipsum Lore ipsum Limitation du « work in progress » (WiP) COMPARAISON DE KANBAN ET DE SCRUM EXPÉRIENCES FAITES AVEC KANBAN DANS LA PRATIQUE Jusqu’en 2009, le département BI d’une entreprise très connue développait ses systèmes selon le modèle classique de la cascade. Au début de l’année 2010, on a mis en place la méthode agile scrum. Les avantages de l’agile ont pu être rapidement concrétisés. Ainsi a-t-il par exemple été possible d’améliorer considérablement la productivité, les points bloquants (« impediments ») étant identifiés et éliminés plus rapidement. On a cependant également été amené à constater qu’il existait encore d’autres gisements d’amélioration. Ainsi existait-il pour chaque sprint de nombreux « sprinters ». C’est ainsi que l’on appelle des demandes auxquelles on peut répondre rapidement, en général des adaptations à des tableaux de bord existants ou de nouvelles mais petites évaluations. Pourquoi faire attendre le demandeur de ces sujets de faible envergure la durée intégrale d’un sprint? D’un autre côté, il existait des demandes dont la complexité et par conséquent l’effort de réalisation associé ne pouvaient tenir dans le cadre du planning du sprint. À cette fin, il a d’abord fallu procéder à une analyse au sein d’un sprint afin de pouvoir évaluer le travail requis. Cela a eu pour conséquence que certaines fonctions ont pu être mises en place plus tard que prévu. On était dans une situation de maintenance et on a en permanence amélioré et élargi un système existant. Pour ces raisons, on a commencé à mettre en place cette approche, avec l’utilisation de tableaux, assortis des différentes étapes de traitement. On a fait l’économie de sprints ou d’itérations ainsi que de meetings de planification. Après environ quatre mois d’utilisation de Kanban, on a pu tirer le bilan intermédiaire suivant: • La transparence du tableau a permis de rapidement identifier les goulets d’étranglement dans le processus, leur élimination par la limitation du WIP exigeant cependant des opérations de réglage fin. À cet égard, les goulets d’étranglement survenant au niveau de dépendances externes, par exemple la révision des résultats par le client, posaient cependant problème. On a entretemps mis en place un flux continu et on est en mesure de fournir en permanence de nouvelles fonctionnalités • Le client apprécie beaucoup la transparence au niveau du développement. Il peut en un seul clin d’œil voir le statut respectivement actuel des demandes © 2012 PENTASYS AG 3 Kanban et le développement logiciel agile 04/2011 blickpunkte – Le magazine consacrée aux thèmes informatiques est une newsletter gratuite de la PENTASYS AG Le magazine consacrée aux thèmes informatiques • Mais en raison de l’absence de sprints et de meetings de planification, on peut cependant difficilement prévoir quand une exigence sera effectivement mise en œuvre. Pour y parvenir, et afin de développer un « modèle prévisionnel », on analyse actuellement la durée d’exécution des tâches déjà réalisées. BILAN Kanban représente un cadre de gestion agile très allégé, imposant moins de contraintes à la mise en œuvre que scrum par exemple. Ne prévoyant aucune itération, il se prête à une utilisation dans des situations dans lesquelles un traitement fluide d’une certaine ampleur est difficile à réaliser. Ceci est par exemple le cas pour des applications en cours de maintenance et /ou de service, puisque le travail est souvent perturbé par des situations d’urgence et des interruptions. Kanban se prête également à des situations caractérisées par une forte spécialisation et une forte division du travail. Contrairement à d’autres méthodologies agiles, qui elles prévoient une « équipe de généralistes », des équipes d’experts sont admises ici. D’un autre côté, Kanban constitue un moyen souple pour mettre en place des processus agiles dans des entreprises organisées de manière « classique ». Lors de la mise en place de ce système, on peut procéder à un grand nombre de petites modifications, par exemple, créer de la transparence grâce au tableau Kanban, sans devoir déclencher pour autant une « révolution agile ». SUR L’ AUTEUR PENTASYS AG fait partie des intégrateurs de systèmes informatiques qui connaissent la croissance la plus rapide. Fondée en 1995 avec uniquement trois employés, l’entreprise a depuis créé plus de 200 nouveaux emplois qualifiés en Allemagne. La stratégie de l’entreprise se concentre sur une qualité sans compromis et s’oriente strictement selon la valeur ajoutée générée pour les clients. Des collaborateurs hautement qualifiés et très motivés ainsi qu’un modèle de processus projet, certifié selon la norme ISO-9001/2008 en créent les conditions. La palette des prestations englobe le conseil, la gestion de projet, l’analyse de la faisabilité, la conception d’architecture, la réalisation et le test de systèmes IT, le tout proposé par un interlocuteur unique. Parmi les clients de référence, on peut citer ADAC e.V., Arval (une BNP Paribas Company), CACEIS Bank, Deutsche Bahn AG, DekaBank Deutsche Girozentrale, Deutsche Post AG, Deutsche Telekom, BMW AG, Direkt Anlage Bank, Bristol-Myers Squibb, MAN Truck & Bus AG, Telefónica o2 Germany, RTL II, TÜV süd AG, Yves Rocher, Volvo Financial Services, l’institut ifo pour la recherche économique et l’Office européen des brevets. COPYRIGHT: Tous les contenus, ainsi que les concepts et la conception de la newsletter sont protégés par les droits d’auteur. Le copyright/le droit de la propriété intellectuelle sont détenus par PENTASYS AG. En appliquant les règles et les remarques habituelles, il est possible de faire des citations. La copie ou la reproduction, même par extraits ainsi que la restitution photomécanique ou la saisie sur des supports de données sont uniquement autorisés avec le consentement écrit de PENTASYS AG. Manfred Schlaucher travaille comme chef de projet chez PENTASYS. Ses activités portent principalement sur l’architecture, les processus et méthodologies projet et la gestion de projets. En tant que scrum master certifié et Project Management Professional (PMP), il maîtrise aussi bien les méthodologies projet classiques que les projets en mode agile. Si dans les contenus présents on utilise des marques et des relations commerciales, et même si celles-ci ne sont pas marquées comme telles, il convient d’appliquer les dispositions de protection correspondantes. CONTACT: PENTASYS AG Rüdesheimer Straße 9 D-80686 Munich Tél. : +49 (0) 89 5 79 52-0 PENTASYS AG Bureau de Paris 1, passage du Génie F-75012 Paris Tél. : +33 (0)1 76 36 02 90 Internet: www.pentasys.de www.pentasys-consulting.de 4 © 2012 PENTASYS AG