LEAN Software Development et pratiques Agiles Eric Le Merdy Consultant VALTECH TECHNOLOGY [email_address] 26 Mai 2009 - Paris
Droits de reproduction Vous êtes libre de : Reproduire, distribuer et communiquer cette création au public Modifier cette création Selon les conditions suivantes : Paternité : Vous devez citer le nom de l'auteur ou le titulaire des droits qui vous confère cette autorisation (mais pas d'une manière qui suggérerait qu'il vous soutient ou approuve votre utilisation de l'oeuvre). Vous pouvez pour cela inclure la référence  de l’auteur au moyen du “post-it” ci-contre Rien dans ce contrat ne diminue ou ne  restreint le droit moral de l'auteur  ou des auteurs. Pour plus d'infos voir :  http://creativecommons.org/licenses/by/3.0/   Présentation  de  Eric Le Merdy [email_address] http://www.valtech.fr
Sommaire 1. Principaux concepts de Lean  &  Lean Software Development 2. Élimination des gaspillages 3. Pratiques Agiles 4. Démarche Lean : se lancer 5. Projets Lean
Un peu d’histoire 1950 – Taiichi Ohno,  Considéré comme le fondateur du « Lean Thinking », développe le premier système Lean Manufacturing chez Toyota Toyota Production System (TPS)   1902 : Métiers à Tisser –  Stop The Line 1938 : Chaîne de production automobile Toyota –  Just In Time 1990 – Womack & Jones  Publication de « La machine qui a changé le monde »  Le mot «  Lean  » est créé et l’expression «  Lean Thinking  » est née 1990    Maintenant Adoption du « Lean Thinking » dans diverses industries  Logistiques, Production, Centres d’appel, Secteur public, Ingénierie logicielle
Qu’est-ce que Lean ? Lean est une culture du changement  Augmentation de la valeur client (« Customer Value ») à travers des actions collaboratives des employés Lean améliore les pratiques pour accroître l’efficience des processus pour le client  Par l’élimination des gaspillages par exemple Basée sur une analyse détaillée et quantifiée des pratiques terrains Lean évalue les processus à travers la définition de la valeur ajoutée Pas de modèle de référence, pas de norme Lean est applicable à tous les processus dans une organisation Par exemple : Recrutement – Logistiques – Achats - Développement
Les principes Lean Valeur :  Identifier ce qui est réellement important pour le client et se concentrer dessus Chaîne de valeur :  S’assurer que toutes les activités sont nécessaires et ont de la valeur ajoutée Flux :  La sortie d’une activité est prise en compte par l’activité suivante du processus sans attente Flux Tiré :  Rien n’est fourni par l’amont tant que l’aval n’en exprime pas le besoin Perfection :  Prévenir les défauts et le “rework”; Entretenir une amélioration continue
Méthodes et Outils DMAIC (Define/Measure/Analyse/Improve/Control) SIPOC (Suppliers/Inputs/Process/Outputs/Customers) VSM   (Value Stream Mapping) IDEA (Investigate/Design/Execute/Adjust) 5S,  Ishikawa La culture, les principes et les méthodologies  sont les mêmes pour tous les processus;  les outils doivent être adaptés en fonction du contexte D M A I VSM IDEA SIPOC VSM C
Lean Software Development Lean Software Development est basé sur 7 principes Éliminer les gaspillages Comment les éviter ? Construire la qualité intrinsèque  Favoriser la connaissance Retarder la décision  Livrer rapidement  Respecter les personnes  Optimiser le système dans son ensemble Mary and Tom Poppendieck
Sommaire 1. Principaux concepts de Lean  &  Lean Software Development 2.   Élimination des gaspillages 3. Pratiques Agiles 4. Démarche Lean : se lancer 5. Projets Lean
Les 7 sources de gaspillages Dans le monde du Développement Logiciel Trop de fonctionnalités Travail partiellement fait Réapprentissage Transmission d’information Commutations entre tâches Retard Défauts Gaspillage =  Toute activité qui absorbe des ressources sans créer de la valeur Se mettre à la place du client
VSM (Value Stream Mapping) 1 La maturité d’une organisation est mesurée par la vitesse à laquelle elle peut exécuter son processus de façon fiable Exemple : 1 : Cartographie de la chaîne de valeur
Sommaire 1. Principaux concepts de Lean  &  Lean Software Development 2. Élimination des gaspillages 3. Pratiques Agiles 4. Démarche Lean : se lancer 5. Projets Lean
Développement itératif : Release / Itération / Revue / Rétrospective Éliminer les gaspillages : Travail Partiellement fait Livrer rapidement Construire la qualité intrinsèque Optimiser le système dans son ensemble
Test-Driven Requirement 1 Test-Driven Development 2 Refactoring Intégration continue Construire la qualité intrinsèque Favoriser la connaissance Retarder la décision Éliminer les gaspillages Défauts 1 : Gestion des exigences dirigée par les tests 2 : Développement piloté par les tests
Requirement workshop 1 Design Workshop 2 Équipe cross fonctionnelle Pair Programming 3 Éliminer les gaspillages : Trop de fonctionnalités Réapprentissage  Transmission d’information  Défauts Favoriser la connaissance 1 : Workshop  Exigences 2 : Workshop  Conception 3 : Programmation en binôme
Rythme raisonnable Propriété collective du code Visual Management 1 Respecter les personnes 1 : Management  Visuel
Sommaire 1. Principaux concepts de Lean  &  Lean Software Development 2. Élimination des gaspillages 3. Pratiques Agiles 4. Démarche Lean : se lancer 5. Projets Lean
Se lancer dans une démarche Lean Avoir un support et une implication du management Pourquoi se lancer dans une démarche Lean ? Définir une organisation pour le projet Lean   Penser approche quantitative Identifier les résultats (Actions à court/moyen/long terme)
Le « voyage » Lean Commencer où vous êtes Identifier votre(vos) plus grande(s) contrainte(s) Évaluer votre culture Former Résoudre le(s) plus gros problème(s) Implémenter Mesurer Rendre le résultat durable Répéter le cycle
Sommaire 1. Principaux concepts de Lean  &  Lean Software Development 2. Élimination des gaspillages 3. Pratiques Agiles 4. Démarche Lean : se lancer 5. Projets Lean
Exemple de charte Enjeu Réduire le coût des activités d’ingénierie Objectifs Éliminer ou réduire les activités sans valeur ajoutée pour le client Améliorer la productivité sur les activités avec valeur ajoutée Évaluer la capacité d’adoption de la méthode Lean Software Development sur le site Former les équipes et le management aux principes Lean Identification du périmètre et organisation des projets Lean Exemple de charte
Exemple de planning Suivi du plan d’actions et amélioration continue Réunion de lancement  M0 M1 Lancement du Projet Lean Définition de la cible et analyse d’impact M2 Validation des résultats M4 SIPOC M3 Validation du plan d’actions Value Stream Mapping (Courante => Idéale / Cible) IDEA Déf. Actions Plan & Mesures Charte 17 Mars 21   Mars 31 Mars au 4 Avril  25 Mars 7 au 11 Avril  14 au 18 Avril  21 Avril au 15 Mai  15 Mai   21 Avril SIPOC (Suppliers/Inputs/Process/Outputs/Customers) VSM (Value Stream Mapping) IDEA (Investigate/Design/Execute/Adjust)
Exemple de VSM actuelle Données quantifiées - Durée des activités - Durée entre activités Groupe de travail Personnes de différents départements Sauvegarde  -   Outil (Excel, Igrafx)
Exemple d’atelier d’identification des points d’améliorations    VSM cible Analyse des problèmes Ishikawa  & Pareto IDEA 5 pourquoi A3 report Ishikawa & Pareto mindmap Exemple
Comment atteindre la VSM cible Définition du plan d’actions Plan d’actions basé sur les principes Lean Analyse des domaines d’amélioration Définition des métriques et collecte Mise en place des métriques permettant de quantifier les changements entre la VSM courante et la VSM cible Suivi du plan d’actions Organisation des Rétrospectives « Lessons learned » Amélioration continue Organisation régulière d’un groupe de travail VSM après l’implémentation des améliorations Exemple
Exemple de plan d’amélioration: Pratiques Agiles Équipe intégrée de différents départements (Ingénierie Système, Logiciel et Validation) pour élaboration concurrente de leur document respectif Permet un meilleur engagement Diminue le réapprentissage Évite le « rework » Intégration continue Cycle de mise à jour plus court Management Visuel Équipes dans le même lieu Exemple
Projets Lean : Retours Points à surveiller Analyser les activités à partir de la durée Évaluer précisément le temps pris pour la partie valeur ajoutée et non valeur ajoutée Calculer le délai de livraison
Projets Lean : Retours positifs Bonne appropriation par les équipes des principes Lean et Lean Software Development et des pratiques  Bon ressenti des équipes d’être réunies en séminaire dédié pour faire un point sur leur processus courant et se focaliser sur les améliorations Bonne motivation et engagement des équipes Plan d’actions défini avec les équipes opérationnelles Personnes prêtes à appliquer les changements immédiatement Choix d’un projet pilote pour démontrer les bénéfices avant de déployer plus largement  Organisation régulière de Rétrospective pour vérifier le déploiement des actions et adapter
LEAN Software Development et pratiques Agiles Questions
LEAN Software Development et pratiques Agiles Merci

Lean Software Development et pratiques Agiles

  • 1.
    LEAN Software Developmentet pratiques Agiles Eric Le Merdy Consultant VALTECH TECHNOLOGY [email_address] 26 Mai 2009 - Paris
  • 2.
    Droits de reproductionVous êtes libre de : Reproduire, distribuer et communiquer cette création au public Modifier cette création Selon les conditions suivantes : Paternité : Vous devez citer le nom de l'auteur ou le titulaire des droits qui vous confère cette autorisation (mais pas d'une manière qui suggérerait qu'il vous soutient ou approuve votre utilisation de l'oeuvre). Vous pouvez pour cela inclure la référence de l’auteur au moyen du “post-it” ci-contre Rien dans ce contrat ne diminue ou ne restreint le droit moral de l'auteur ou des auteurs. Pour plus d'infos voir : http://creativecommons.org/licenses/by/3.0/ Présentation de Eric Le Merdy [email_address] http://www.valtech.fr
  • 3.
    Sommaire 1. Principauxconcepts de Lean & Lean Software Development 2. Élimination des gaspillages 3. Pratiques Agiles 4. Démarche Lean : se lancer 5. Projets Lean
  • 4.
    Un peu d’histoire1950 – Taiichi Ohno, Considéré comme le fondateur du « Lean Thinking », développe le premier système Lean Manufacturing chez Toyota Toyota Production System (TPS) 1902 : Métiers à Tisser – Stop The Line 1938 : Chaîne de production automobile Toyota – Just In Time 1990 – Womack & Jones Publication de « La machine qui a changé le monde » Le mot «  Lean  » est créé et l’expression «  Lean Thinking  » est née 1990  Maintenant Adoption du « Lean Thinking » dans diverses industries Logistiques, Production, Centres d’appel, Secteur public, Ingénierie logicielle
  • 5.
    Qu’est-ce que Lean? Lean est une culture du changement Augmentation de la valeur client (« Customer Value ») à travers des actions collaboratives des employés Lean améliore les pratiques pour accroître l’efficience des processus pour le client Par l’élimination des gaspillages par exemple Basée sur une analyse détaillée et quantifiée des pratiques terrains Lean évalue les processus à travers la définition de la valeur ajoutée Pas de modèle de référence, pas de norme Lean est applicable à tous les processus dans une organisation Par exemple : Recrutement – Logistiques – Achats - Développement
  • 6.
    Les principes LeanValeur : Identifier ce qui est réellement important pour le client et se concentrer dessus Chaîne de valeur : S’assurer que toutes les activités sont nécessaires et ont de la valeur ajoutée Flux : La sortie d’une activité est prise en compte par l’activité suivante du processus sans attente Flux Tiré : Rien n’est fourni par l’amont tant que l’aval n’en exprime pas le besoin Perfection : Prévenir les défauts et le “rework”; Entretenir une amélioration continue
  • 7.
    Méthodes et OutilsDMAIC (Define/Measure/Analyse/Improve/Control) SIPOC (Suppliers/Inputs/Process/Outputs/Customers) VSM (Value Stream Mapping) IDEA (Investigate/Design/Execute/Adjust) 5S, Ishikawa La culture, les principes et les méthodologies sont les mêmes pour tous les processus; les outils doivent être adaptés en fonction du contexte D M A I VSM IDEA SIPOC VSM C
  • 8.
    Lean Software DevelopmentLean Software Development est basé sur 7 principes Éliminer les gaspillages Comment les éviter ? Construire la qualité intrinsèque Favoriser la connaissance Retarder la décision Livrer rapidement Respecter les personnes Optimiser le système dans son ensemble Mary and Tom Poppendieck
  • 9.
    Sommaire 1. Principauxconcepts de Lean & Lean Software Development 2. Élimination des gaspillages 3. Pratiques Agiles 4. Démarche Lean : se lancer 5. Projets Lean
  • 10.
    Les 7 sourcesde gaspillages Dans le monde du Développement Logiciel Trop de fonctionnalités Travail partiellement fait Réapprentissage Transmission d’information Commutations entre tâches Retard Défauts Gaspillage = Toute activité qui absorbe des ressources sans créer de la valeur Se mettre à la place du client
  • 11.
    VSM (Value StreamMapping) 1 La maturité d’une organisation est mesurée par la vitesse à laquelle elle peut exécuter son processus de façon fiable Exemple : 1 : Cartographie de la chaîne de valeur
  • 12.
    Sommaire 1. Principauxconcepts de Lean & Lean Software Development 2. Élimination des gaspillages 3. Pratiques Agiles 4. Démarche Lean : se lancer 5. Projets Lean
  • 13.
    Développement itératif :Release / Itération / Revue / Rétrospective Éliminer les gaspillages : Travail Partiellement fait Livrer rapidement Construire la qualité intrinsèque Optimiser le système dans son ensemble
  • 14.
    Test-Driven Requirement 1Test-Driven Development 2 Refactoring Intégration continue Construire la qualité intrinsèque Favoriser la connaissance Retarder la décision Éliminer les gaspillages Défauts 1 : Gestion des exigences dirigée par les tests 2 : Développement piloté par les tests
  • 15.
    Requirement workshop 1Design Workshop 2 Équipe cross fonctionnelle Pair Programming 3 Éliminer les gaspillages : Trop de fonctionnalités Réapprentissage Transmission d’information Défauts Favoriser la connaissance 1 : Workshop Exigences 2 : Workshop Conception 3 : Programmation en binôme
  • 16.
    Rythme raisonnable Propriétécollective du code Visual Management 1 Respecter les personnes 1 : Management Visuel
  • 17.
    Sommaire 1. Principauxconcepts de Lean & Lean Software Development 2. Élimination des gaspillages 3. Pratiques Agiles 4. Démarche Lean : se lancer 5. Projets Lean
  • 18.
    Se lancer dansune démarche Lean Avoir un support et une implication du management Pourquoi se lancer dans une démarche Lean ? Définir une organisation pour le projet Lean Penser approche quantitative Identifier les résultats (Actions à court/moyen/long terme)
  • 19.
    Le « voyage » LeanCommencer où vous êtes Identifier votre(vos) plus grande(s) contrainte(s) Évaluer votre culture Former Résoudre le(s) plus gros problème(s) Implémenter Mesurer Rendre le résultat durable Répéter le cycle
  • 20.
    Sommaire 1. Principauxconcepts de Lean & Lean Software Development 2. Élimination des gaspillages 3. Pratiques Agiles 4. Démarche Lean : se lancer 5. Projets Lean
  • 21.
    Exemple de charteEnjeu Réduire le coût des activités d’ingénierie Objectifs Éliminer ou réduire les activités sans valeur ajoutée pour le client Améliorer la productivité sur les activités avec valeur ajoutée Évaluer la capacité d’adoption de la méthode Lean Software Development sur le site Former les équipes et le management aux principes Lean Identification du périmètre et organisation des projets Lean Exemple de charte
  • 22.
    Exemple de planningSuivi du plan d’actions et amélioration continue Réunion de lancement M0 M1 Lancement du Projet Lean Définition de la cible et analyse d’impact M2 Validation des résultats M4 SIPOC M3 Validation du plan d’actions Value Stream Mapping (Courante => Idéale / Cible) IDEA Déf. Actions Plan & Mesures Charte 17 Mars 21 Mars 31 Mars au 4 Avril 25 Mars 7 au 11 Avril 14 au 18 Avril 21 Avril au 15 Mai 15 Mai 21 Avril SIPOC (Suppliers/Inputs/Process/Outputs/Customers) VSM (Value Stream Mapping) IDEA (Investigate/Design/Execute/Adjust)
  • 23.
    Exemple de VSMactuelle Données quantifiées - Durée des activités - Durée entre activités Groupe de travail Personnes de différents départements Sauvegarde - Outil (Excel, Igrafx)
  • 24.
    Exemple d’atelier d’identificationdes points d’améliorations  VSM cible Analyse des problèmes Ishikawa & Pareto IDEA 5 pourquoi A3 report Ishikawa & Pareto mindmap Exemple
  • 25.
    Comment atteindre laVSM cible Définition du plan d’actions Plan d’actions basé sur les principes Lean Analyse des domaines d’amélioration Définition des métriques et collecte Mise en place des métriques permettant de quantifier les changements entre la VSM courante et la VSM cible Suivi du plan d’actions Organisation des Rétrospectives « Lessons learned » Amélioration continue Organisation régulière d’un groupe de travail VSM après l’implémentation des améliorations Exemple
  • 26.
    Exemple de pland’amélioration: Pratiques Agiles Équipe intégrée de différents départements (Ingénierie Système, Logiciel et Validation) pour élaboration concurrente de leur document respectif Permet un meilleur engagement Diminue le réapprentissage Évite le « rework » Intégration continue Cycle de mise à jour plus court Management Visuel Équipes dans le même lieu Exemple
  • 27.
    Projets Lean :Retours Points à surveiller Analyser les activités à partir de la durée Évaluer précisément le temps pris pour la partie valeur ajoutée et non valeur ajoutée Calculer le délai de livraison
  • 28.
    Projets Lean :Retours positifs Bonne appropriation par les équipes des principes Lean et Lean Software Development et des pratiques Bon ressenti des équipes d’être réunies en séminaire dédié pour faire un point sur leur processus courant et se focaliser sur les améliorations Bonne motivation et engagement des équipes Plan d’actions défini avec les équipes opérationnelles Personnes prêtes à appliquer les changements immédiatement Choix d’un projet pilote pour démontrer les bénéfices avant de déployer plus largement Organisation régulière de Rétrospective pour vérifier le déploiement des actions et adapter
  • 29.
    LEAN Software Developmentet pratiques Agiles Questions
  • 30.
    LEAN Software Developmentet pratiques Agiles Merci