Feature Team Primer. par Craig Larman et Bas Vodde. Version 1.2



Documents pareils
Compte-rendu du petit-déjeuner. Vers l entreprise Agile

Scrum + Drupal = Julien Dubois

Règles d engagement. Présentation Diapositives Bibliographie Questions Les vertus de la marche

Architecture pragmatique pour la gestion du cycle de vie des applications (ALM)

Les méthodes Agile. Implication du client Développement itératif et incrémental

GESTION DE PROJET : LA METHODE AGILE

Conduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

SCRUM chez BWIN : implémentation d une méthode agile dans Focalpoint Spasija Taseva et Corinne Bacle

25/12/2012

Le Product Owner Clé de voute d un projet agile réussi

Topologie du web - Valentin Bourgoin - Méthodes agiles & SCRUM

EXIN Agile Scrum Master

Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES

Soyez agile. Dans l industrie du logiciel, la. De plus chaque projet informatique

Méthodes de développement

Agile 360 Product Owner Scrum Master

Les méthodes itératives. Hugues MEUNIER

Support Agile avec Kanban quelques trucs et astuces par Tomas Björkholm

L'agilité appliquée à nous-mêmes. Philippe Krief, PhD Development Manager IBM France Lab

Gestion de projet Agile. STS IRIS Module «Gérer et organiser un projet informatique»

Certification Scrum Master

backlog du produit Product Owner

Scrum Une méthode agile pour vos projets

Retour d expérience implémentation Scrum / XP

1/15. Jean Bernard CRAMPES Daniel VIELLE

Le Product Backlog, qu est ce c est?

Scrum et l'agilité des équipes de développement

Développement itératif, évolutif et agile

Méthodologies SCRUM Présentation et mise en oeuvre

Jean-Pierre Vickoff

Les méthodes Agiles Introduction. Intervenant : Tremeur Balbous tremeur@agilegardener.com 04/09/2008

GL Processus de développement Cycles de vie

Les mécanismes d'assurance et de contrôle de la qualité dans un

SCRUM BUT, LE LIVRE BLANC. De la problématique de mener un projet AGILE dans une organisation classique

La solution IBM Rational pour une ALM Agile

LA MÉTHODE AGILE VS LE CYCLE EN V UNE RÉVOLUTION DANS LA GESTION DE PROJET. Franck BEULÉ

Isabelle Nicolas

Cours Ephec Niv. 2 : Technique et gestion de projet. Par Monsieur Bertieaux Année Académique Quelles sont les 4 valeurs Agiles?

Guide de Préparation. EXIN Agile Scrum. Foundation

Process 4D Catalogue de formations 2011

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

INTRODUCTION À LA GESTION DE PROJET AGILE (BACKLOG, TABLEAUX DE BORD, BURNDOWN, PLANIFICATION D ITERATIONS)

Gestion de Projet Agile

Méthodes Agiles et gestion de projets

Cours Gestion de projet

CHAPITRE 3 : LES METHODES AGILES?

Kanban et son utilisation à la Société GRICS

Méthode Agile de 3 ème génération J-P Vickoff

SYNERGIE Associés Confidentiel Reproduction interdite sans autorisation préalable Page 1 de 44

XEBIA DÉVELOPPEMENT OFFSHORE DISTRIBUÉ EN MÉTHODES AGILES. CAS CLIENT : CoachClub

Présentation aux entreprises du numérique

Conditions gagnantes pour démarrer sa transition Agile

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Contact: Yossi Gal, Téléphone:

Programmation Agile Mise en oeuvre via Scrum et l'extreme Programming (XP)

Présentation UBO 12/2008 Présentation des méthodes agiles

Maîtrise d ouvrage agile

Jean-Pierre Vickoff J-P Vickoff

Vision Produit. Un sacré attracteur pour une équipe auto-organisée. Thierry Cros

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

Méthodes agiles. CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS. Jean-Louis Bénard jlb@businessinteractif.

1. Considérations sur le développement rapide d'application et les méthodes agiles

Scrum. Description. Traduit en langue française par Bruno Sbille et Fabrice Aimetti - Avril Trad FR v1.1

Retour d expérience RATP. Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats.

L'évolution de VISUAL MESSAGE CENTER Architecture et intégration

Estimer et mesurer la performance des projets agiles avec les points de fonction

User stories et Backlog de produit

INF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015

La voie rapide vers le cpdm

Scrum. ... pour des projets informatiques agiles. Pascal Lando Certified Scrum product owner

Formation Scrum. 2 jours

Année : Team-War Jaafar AMRANI-MESBAHI Fabien GARCIA Abdelali NAIT BELKACEM Rahma NAKARA Philippe NGUYEN

Le cycle de développement des produits à la Société GRICS : une nouvelle approche

Modèle de changement d organisation. Leanpizza.net présente. Petit Guide Rapide du jeu de cartes Modèle de Changement d Organisation

Retour d expérience. Le rôle du Business Analyst chez Orange. Nadia Magarino & Christophe Dufour 29 avril 2015

Architecture d'entreprise : Guide Pratique de l'architecture Logique

UML est-il soluble dans les méthodes agiles?

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET

Macroscope et l'analyse d'affaires. Dave Couture Architecte principal Solutions Macroscope

REX Scrum Master du terrain

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Mise en place d'une solution libre de gestion d'entreprise. Maurice MORETTI Directeur associé

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Enterprise Scrum Organisation des développements chez exo. Agile Tour Rennes 2010 / 10 / 07

Accélérez la transition vers le cloud

Formation pour Product Owner

L enseignement de méthodes agiles dans un contexte d apprentissage actif

Guide Léger de la Théorie et de la Pratique de Scrum Version 2.0. Version française. Pete Deemer GoodAgile. Gabrielle Benefield Evolve.

AGILE. Implémenter la pratique Scrum dans votre équipe?

Les quatre chantiers :

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

ERP5. Gestion des Services Techniques des Collectivités Locales

Qualité et Test des Logiciels. Le génie logiciel. Moez Krichen.

MODALITES DE SUIVI DU PROJET ANNUEL DU MASTER 2 SOLUTIONS INFORMATIQUES LIBRES

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

ExiOuest Résultats de l enquête ExiOuest 2009 sur l'ingénierie des exigences. Enquête en ligne de Juillet à Octobre 2009 sur

Cycle d exploration «Software Asset Building» Expédition 2 du 11 juin 2013 à la SGCIB ; l Agile.

Transcription:

ÉQUIPE FEATURE par Craig Larman et Bas Vodde Version 1.2 Les Équipes Feature 1 et les Domaines Fonctionnels 2 sont des éléments essentiels pour dimensionner le développement en mode agile et lean. Ces deux sujets sont analysés en profondeur dans les chapitres «Feature Team» et «Requirement Area» du livre «Scaling Lean & Agile Development : Thinking and Organizational Tools for Large Scale Scrum». Cet article présente quelques idées clés que l on peut également retrouver dans le livre «Practices for Scaling Lean & Agile Development : Large, Multisite, and Offshore Product Development with Large-Scale Scrum». INTRODUCTION AUX ÉQUIPES FEATURES Une équipe feature, comme illustrée à la Figure 1, est une équipe multi-composants, multi-fonctionnelles et pérenne 3 qui livre de nombreuses fonctionnalités bout-en-bout à ses clients, mais une à la fois. Figure 1 : équipe Feature 1 NdT : Feature Teams 2 NdT : Requirement Areas 3 Les membres d'une équipe features restent ensemble pendant des années, réalisant plusieurs features. 1/9

Les caractéristiques d'une équipe feature sont énumérées ci-dessous : Équipe Feature pérenne, les membres de l'équipe restent ensemble et forment un «noyau dur» très performante, l'équipe réalise de nouvelles fonctionnalités au fil de l'eau multi-fonctionnelles et multi-composantes idéalement, colocalisée travaille sur une fonctionnalité centrée sur le client et de bout en bout, en passant à travers tous les composants et toutes les disciplines (analyse, programmation, tests,...) composée de spécialistes se généralisant dans Scrum, habituellement 7 ± 2 personnes Appliquer des pratiques d'ingénierie modernes, en particulier l'intégration continue, est essentielle lorsque vous choisissez d'être une équipe feature. L'intégration continue facilite la propriété partagée du code, ce qui est nécessaire lorsque plusieurs équipes travaillent en même temps sur les mêmes composants. Un malentendu fréquent : chaque membre d'une équipe feature doit connaître l'ensemble du système. Pas forcément, parce que : L'équipe entière, et non chaque membre, doit avoir les compétences pour mettre en œuvre l'ensemble de la feature centrée sur le client. Il s'agit notamment de la connaissance des composants et de compétences fonctionnelles tels que les tests, la conception centrée utilisateur ou la programmation. Mais au sein de l'équipe, les gens continuent à être spécialisés... de préférence dans de multiples domaines. Les features ne sont pas réparties au hasard sur des équipes features. Les connaissances et compétences actuelles d'une équipe sont prises en compte pour décider quelle équipe va travailler sur quelles features. Dans une organisation basée sur des équipes feature, lorsque la spécialisation devient une contrainte... l'apprentissage commence. Une organisation basée sur des équipes feature exploite les avantages de la vitesse générée par la spécialisation, ceci tant que la cartographie des exigences correspond aux compétences des équipes. Mais lorsque les exigences ne correspondent pas aux compétences des équipes, l'apprentissage est «forcé», rompant ainsi la contrainte de sur-spécialisation. Les compétences d'une équipe feature s'équilibrent entre spécialisation et flexibilité. 2/9

Le Tableau 1 et la Figure 2 suivantes mettent en évidence les différences entre les équipes feature et les équipes composants plus traditionnelles. Tableau 1 : équipes feature vs composant Équipe feature Équipe composant optimale pour livrer la valeur métier maximale (a) se concentre sur des features à forte valeur ajoutée et la productivité du système responsable de la feature de bout en bout et orientée client démarche «moderne» d'organisation des équipes (b) évite la loi de Conway conduit à se concentrer sur le client, à de la visibilité et à de plus petites organisations minimise les dépendances entre les équipes et augmente la flexibilité met l'accent sur la multi-spécialisations propriété collective du code produit partage des responsabilités par l'équipe optimale pour livrer le nombre maximum de lignes de code se concentre sur l'augmentation de la productivité individuelle en implémentant des features «faciles» de faible valeur responsable seulement partiellement d'une feature orientée client démarche traditionnelle d'organisation des équipes respecte la loi de Conway (c) conduit à «réinventer» le travail et à des organisations sans cesse croissantes les dépendances entre les équipes génèrent des efforts de planification supplémentaires (d) met l'accent sur l'hyper-spécialisation propriété individuel du code responsabilités clairement portées par chaque individu s'appuie sur du développement itératif aboutit à un développement «cycle en V» exploite la flexibilité ; apprentissage large et continu requiert des pratiques d'ingénierie qualifiées, les effets sont largement visibles exploite l'expertise existante ; au plus bas concernant l'apprentissage de nouvelles compétences fonctionne avec des pratiques d'ingénierie bâclées, les effets restent localisés fournit une motivation pour produire un code facile à maintenir et à tester apparemment difficile à mettre en œuvre contrairement à la croyance, génère souvent un code de faible qualité dans le composant apparemment facile à mettre en œuvre a) Une optimisation différente peut donner l'impression à l'équipe feature qu'elle est plus lente, d'un point de vue local. b) Relativement «moderne» puisque les équipes feature ont une longue histoire dans le développement à grande échelle, par exemple chez Microsoft et Ericsson. c) Mel Conway a observé cette structure indésirable en1968, il ne la recommandait pas, en fait c'était même tout le contraire. d) Cet effort de planification supplémentaire est visible dans la plupart des «réunions de planification de releases» ou «trains de release» et génère un management inutile. 3/9

Figure 2 : équipes feature vs composant Le tableau ci-dessous résume les différences entre les équipes feature et les projets traditionnels ou groupes feature. Tableau 2 : Équipes feature vs Projets feature Équipe feature équipe stable dont les membres restent ensemble pendant des années et qui travaillent sur de nombreuses features responsabilité partagée par l'équipe sur toutes les tâches équipe auto-gérée génère une organisation horizontale simple (pas de matrice!) les membres sont affectés à temps plein (100%) à l'équipe Groupe/Projet feature groupe temporaire de personnes créé pour une feature ou un projet responsabilité individuelle des membres sur «leur» partie et basée sur la spécialisation contrôlée par un chef de projet génère une organisation matricielle avec des pools de ressources les membres sont à temps partiel sur de nombreux projets en raison de leur spécialisation 4/9

La majorité des défauts des équipes composant sont explorés dans le chapitre «Feature Teams» du livre «Scaling Lean & Agile Development» ; la Figure 3 en résume quelquesuns. Figure 3 : quelques défauts des équipes composant Ce qu'on ne voit pas parfois, c'est que la structure d'une équipe composant renforce le développement séquentiel (modèle de la «cascade» ou cycle en V) en générant beaucoup de files d'attente, des tâches de taille variable, des niveaux élevés de TAF 4, de nombreux passages de relais, une augmentation du multitâches et l'affectation partielle des ressources. CHOISIR DES ÉQUIPES COMPOSANT OU DES ÉQUIPES FEATURE? Une organisation basée uniquement sur des équipes feature est idéale d'un point de vue valeur ajoutée livrée et souplesse. Valeur et souplesse ne sont cependant pas les seuls critères pour construire une organisation, et de nombreuses organisations finissent par conséquent en mode hybride, plus particulièrement pendant la transition des équipes 4 NdT : WIP = Work in Progress - Travaux à Faire 5/9

composant vers des équipes feature. Attention : les modèles hybrides ont les inconvénients des deux mondes et peuvent donc être... douloureux. Un motif fréquemment exprimé en faveur d'une organisation hybride est la nécessité de construire des infrastructures, des composants réutilisables, ou de nettoyer le code écrit au sein des équipes composant. Mais ces activités peuvent aussi être réalisées une organisation basée sur des équipes purement feature, sans établir d'équipes composant permanentes. Comment? En ajoutant les besoins d'infrastructure, de composants réutilisables ou de travail de nettoyage dans le Backlog Produit et en le donnant tel quel à une équipe feature existante comme s'il s'agissait de feature centrée client. L'équipe feature réalise ces travaux pendant un certain temps - aussi longtemps que le Product Owner le permet - puis retourne au développement de features centrées client. ÉVOLUER VERS DES ÉQUIPES FEATURE Différentes organisations exigent différentes stratégies de transition lors du passage d'équipes composant à des équipes feature. Nous avons l'expérience de nombreuses stratégies qui ont marché... et échoué dans un contexte différent. Une stratégie de transition sécurisée - mais lente - consiste à établir une seule équipe feature au sein de l'organisation basée sur des équipes composant. Une fois que cette équipe fonctionne bien, une deuxième équipe feature est formée. Cela continue progressivement selon un rythme adapté à l'organisation. Ceci est illustré à la Figure 4. Figure 4 : transition graduelle d'équipes composant vers des équipes feature 6/9

INTRODUCTION AUX DOMAINES FONCTIONNELS On peut créer des équipes features sans problème mais quand leur nombre dépasse dix, soit environ une centaine de personnes, une structure supplémentaire est nécessaire. Les domaines fonctionnels fournissent cette structure et étoffent les concepts derrière les équipes feature. Un domaine fonctionnel est une catégorisation des exigences menant à des vues différentes du Backlog Produit. Le Product Owner (PO) classe chaque item du Backlog Produit sous exactement une catégorie fonctionnelle, son domaine fonctionnel. Ensuite, il génère des vues différentes sur l'ensemble du Backlog Produit que l'on peut appeler un Backlog Domaine. Les Backlogs Domaines sont priorisés par Product Owner Domaine qui se spécialise dans une partie du produit et selon une perspective client. Chaque domaine fonctionnel comporte plsieurs équipes feature travaillant sur le Backlog Domaine, comme illustré à la Figure 5. Figure 5 : domaines fonctionnels Les domaines fonctionnels permettent de dimensionner correctement les équipes feature. Dimensionner en structurant les équipes en fonction de l'architecture du produit est appelé domaines de développement. Le Tableau 3 résume les différences. 7/9

Tableau 3 : domaines fonctionnels vs domaines de développement Domaine fonctionnel organisé autour d'exigences centrées client pas de propriété sur le code sous-système de nature temporaire ; devrait changer au cours de la durée de vie du produit, mais pas à chaque itération on se concentre sur le client, en utilisant le langage du client Domaine de développement organisé autour de l'architecture du produit propriété du code pour chaque sous-système tend à être plus figé sur la durée de vie du produit on se concentre sur l'architecture, en utilisant le langage technique Finalement, un Product Owner Domaine est différent d'un Product Owner délégué qui travaillerait avec une ou deux équipes pour aider un Product Owner débordé. Un Product Owner Domaine a différentes responsabilités, se concentre et travaille avec (probablement) au moins quatre équipes, pas seulement une. Cela évite des situations d'optimisation localisée aux activités d'une seule équipe. CONCLUSION Les équipes feature sont des équipes stables qui travaillent sur des features complètes et centrées client. Ces équipes apportent des solutions vis-à-vis des habituelles optimisations locales et travaux de coordination supplémentaires liés aux organisations basées sur des équipes composant. Cependant, ces équipes features doivent elles aussi relever des défis. Les différents domaines fonctionnels génèrent des vues centrées client sur la globalité du Backlog Produit et permettent donc de structurer et dimensionner les équipes feature à la taille voulue. 8/9

RÉFÉRENCES Scaling Lean & Agile Development Chapters : Introduction Systems Thinking Lean Queueing Theory False Dichotomies Be Agile Feature Teams Teams Requirement Areas Organization Large-Scale Scrum Practices for Scaling Lean & Agile Development Chapters : Large-Scale Scrum Test Product Management Planning Coordination Requirements Design Legacy Code Continuous Integration Inspect & Adapt Multisite Offshort - Contracts 9/9