Lean codeUne idée de Chris Parsons
LeanLécole de gestion de la production dite lean recherche la performance (en matière deproductivité, de qualité, de délai...
ApplicationLe modèle, basé sur le développement itératif et les méthodes agiles met en avant 7principes :1. Eliminer les g...
Essayons !
Itération 010 minutes pour trouver un binôme et mettre en placel’environnement de développementNous développons un outil e...
Itération 110 minutes pour faire une caisse enregistreuse simple.Les Pommes coûtent 1€, les Bananes 1.50€ et les Cerises0....
Livraison 1Vérification➡ Cerises➡ 75➡ Pommes➡ 175➡ Cerises➡ 250➡ Bananes➡ 400➡ Pommes➡ 500
Itération 210 minutes pour ajouter les réductions.Même principe pour la gestion de l’entrée et de la sortie.2 lots de ceri...
Livraison 2Vérification➡ Cerises➡ 75➡ Pommes➡ 175➡ Cerises➡ 230➡ Bananes➡ 380➡ Cerises➡ 455➡ Cerises➡ 510➡ Pommes➡ 610
Itération 310 minutes pour ajouter le support du format CSV enentrée.Les articles peuvent être séparés par des virgules.Te...
T       EN  RG                     Itération 3AU   Changement de programme ! La deadline ne change pas.   Le support du fo...
Livraison 3Vérification➡ Cerises➡ 75➡ Pommes➡ 175➡ Cerises➡ 220➡ Bananes➡ 370➡ Pommes➡ 470➡ Bananes➡ 470➡ Cerises➡ 545
Itération 410 minutes pour ajouter le support de plusieurs langues.La réduction pour les cerises repasse à 20 centimes.Les...
Livraison 4Vérification➡ Cerises➡ 75➡ Apples➡ 175➡ Cerises➡ 230➡ Bananes➡ 380➡ Pommes➡ 480➡ Mele➡ 580
Itération 510 minutes pour permettre différents types de réductionselon la langue pour chaque article.Le support du CSV se...
T       EN  RG                     Itération 5AU   Un déploiement a mal tourné sur des nouvelles caisses.   On tente de ré...
Livraison 5Vérification➡ Cerises, Apples➡ 175➡ Cerises➡ 230➡ Apples, Mele, Bananes➡ 580➡ Apples, Pommes➡ 680➡ Mele➡ 680➡ Po...
Itération 610 minutes pour fixer un bug et créer la super-réduction.Bug : supporter CSV et les articles un par un2 lots de ...
Livraison 6Vérification➡ Mele, Apples, Apples, Pommes, Mele➡ 150➡ Bananes➡ 350
Conclusions
Avez-vous utilisé un système de contrôle de versions ?  Auriez-vous voulu retourner en arrière ? CTRL+Z ? Avez-vous utilis...
Plus sur le concept « Lean »                         En parler ?               Paris Software Craftsmanship               ...
Lean code
Upcoming SlideShare
Loading in …5
×

Lean code

1,351
-1

Published on

Adaptation française d'une présentation de Chris Parsons.
http://chrismdp.github.com/2011/05/lean-code-slides-and-feedback/

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,351
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Lean code

  1. 1. Lean codeUne idée de Chris Parsons
  2. 2. LeanLécole de gestion de la production dite lean recherche la performance (en matière deproductivité, de qualité, de délais, et enfin de coûts) par lamélioration continue etlélimination des gaspillages, au nombre de sept : ■ production excessive, ■ attentes, ■ transport et manutention inutiles, ■ tâches inutiles, ■ stocks, ■ mouvements inutiles ■ production défectueuse.Lécole de gestion lean trouve ses sources au Japon dans le Toyota ProductionSystem (TPS). Adaptable à tous les secteurs économiques, le lean est actuellementprincipalement implanté dans lindustrie (et surtout lindustrie automobile).
  3. 3. ApplicationLe modèle, basé sur le développement itératif et les méthodes agiles met en avant 7principes :1. Eliminer les gaspillages : comme pour le lean, le gaspillage est défini comme ce quinapporte pas de valeur au produit. La valeur étant définie du point de vue delutilisateur.2. Améliorer lapprentissage.3. Retarder lengagement.4. Livrer aussi vite que possible.5. Donner le pouvoir à léquipe.6. Intégrer la qualité dès la conception.7. Considérer le produit dans sa globalité.
  4. 4. Essayons !
  5. 5. Itération 010 minutes pour trouver un binôme et mettre en placel’environnement de développementNous développons un outil en ligne de commande :Lire l’entrée standard et écrire en sortie.Utilisez le langage de votre choixUne base est disponible en C et Ruby à l’adresse suivante :https://github.com/guillaumerose/checkout-base
  6. 6. Itération 110 minutes pour faire une caisse enregistreuse simple.Les Pommes coûtent 1€, les Bananes 1.50€ et les Cerises0.75€.Acceptez un article par ligne. Afficher le total du panier (encentimes) à chaque fois.Test d’acceptance :➡ Pommes➡ 100➡ Cerises➡ 175➡ Cerises➡ 250
  7. 7. Livraison 1Vérification➡ Cerises➡ 75➡ Pommes➡ 175➡ Cerises➡ 250➡ Bananes➡ 400➡ Pommes➡ 500
  8. 8. Itération 210 minutes pour ajouter les réductions.Même principe pour la gestion de l’entrée et de la sortie.2 lots de cerises achetés, 20 centimes de réduction.Test d’acceptance :➡ Pommes➡ 100➡ Cerises➡ 175➡ Cerises➡ 250 230
  9. 9. Livraison 2Vérification➡ Cerises➡ 75➡ Pommes➡ 175➡ Cerises➡ 230➡ Bananes➡ 380➡ Cerises➡ 455➡ Cerises➡ 510➡ Pommes➡ 610
  10. 10. Itération 310 minutes pour ajouter le support du format CSV enentrée.Les articles peuvent être séparés par des virgules.Test d’acceptance :➡ Pommes, Cerises, Bananes➡ 325➡ Pommes➡ 425
  11. 11. T EN RG Itération 3AU Changement de programme ! La deadline ne change pas. Le support du format CSV est repoussé à plus tard. Un article par ligne suffit pour cette itération. La réduction pour les cerises passe à 30 centimes. Un lot de bananes acheté, le second offert. Test d’acceptance : ➡ Cerises ➡ 75 ➡ Cerises ➡ 120 ➡ Bananes ➡ 270 ➡ Bananes ➡ 270
  12. 12. Livraison 3Vérification➡ Cerises➡ 75➡ Pommes➡ 175➡ Cerises➡ 220➡ Bananes➡ 370➡ Pommes➡ 470➡ Bananes➡ 470➡ Cerises➡ 545
  13. 13. Itération 410 minutes pour ajouter le support de plusieurs langues.La réduction pour les cerises repasse à 20 centimes.Les mots « Apples » et « Mele » correspondent auxPommes.Test d’acceptance :➡ Cerises➡ 75➡ Apples➡ 175➡ Cerises➡ 230➡ Bananes➡ 380➡ Bananes➡ 380
  14. 14. Livraison 4Vérification➡ Cerises➡ 75➡ Apples➡ 175➡ Cerises➡ 230➡ Bananes➡ 380➡ Pommes➡ 480➡ Mele➡ 580
  15. 15. Itération 510 minutes pour permettre différents types de réductionselon la langue pour chaque article.Le support du CSV sera demandé à la prochaine itération.3 lots de « Apple » valent 2€2 lots de « Mele » valent 1.50€Test d’acceptance :➡ Mele ➡ Apples➡ 100 ➡ 400➡ Apples ➡ Mele➡ 200 ➡ 450➡ Apples ➡ Cerises➡ 300 ➡ 525➡ Pommes ➡ Cerises➡ 400 ➡ 580
  16. 16. T EN RG Itération 5AU Un déploiement a mal tourné sur des nouvelles caisses. On tente de résoudre le problème. 10 minutes pour permettre différents types de réduction selon la langue pour chaque article. 3 lots de « Apple » valent 2€ 2 lots de « Mele » valent 1€ Test d’acceptance : ➡ Mele, Apples, Apples, Pommes, Apples, Mele, Cerises, Cerises, Bananes ➡ 680
  17. 17. Livraison 5Vérification➡ Cerises, Apples➡ 175➡ Cerises➡ 230➡ Apples, Mele, Bananes➡ 580➡ Apples, Pommes➡ 680➡ Mele➡ 680➡ Pommes➡ 780
  18. 18. Itération 610 minutes pour fixer un bug et créer la super-réduction.Bug : supporter CSV et les articles un par un2 lots de « Mele » valent 1.50€4 Pommes achetés, 1€ de réduction sur la facture globale5 fruits achetés, 2€ de réductionTests d’acceptance :➡ Mele, Apples, Apples, Mele➡ 250➡ Bananes➡ 200➡ Mele, Apples, Apples, Pommes, Mele➡ 150
  19. 19. Livraison 6Vérification➡ Mele, Apples, Apples, Pommes, Mele➡ 150➡ Bananes➡ 350
  20. 20. Conclusions
  21. 21. Avez-vous utilisé un système de contrôle de versions ? Auriez-vous voulu retourner en arrière ? CTRL+Z ? Avez-vous utilisé des tests unitaires ? A partir de quelle itération ?Avez-vous écrit et maintenu tous les tests d’acceptance ? Vous êtes vous fiés uniquement aux spécifications ?Qu’avez-vous fait pour le support du CSV lorsqu’il n’était plus nécessaire ?
  22. 22. Plus sur le concept « Lean » En parler ? Paris Software Craftsmanship @swcraftparis Présentation adaptéehttp://chrismdp.github.com/2011/05/lean-code-slides-and-feedback/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×