SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
HOW TO TURN YOUR DEVELOPERS
IN LESS THAN 6 MONTHS
IN PERFECT SOFTWARE CRAFTSMEN?
Jean-Laurent de Morlhon
Programmeur Java
@morlhon
Bruno Boucard
Programmeur C#
@brunoboucard
10 Février 2015 -14h
FRUITSHOP.IO
WE SELL FRUITS!! YEAH!!
ITERATION 0
learn.tocraft.fr
• Trouver un binôme
• Une machine par binôme
• Langage au choix
• Programme qui lit/écrit depuis la entrée/sortie standard
• Projet disponible sur
http://github.com/jeanlaurent/basicloop
Formations pour programmeurs par des programmeurs
learn.tocraft.fr
Formations pour programmeurs par des programmeurs
learn.tocraft.fr
ITERATION 1
• Faire une caisse enregistreuse simple pour les clients en
magasin
• 3 produits:
Pommes ( 1€ ), Bananes ( 1,5€ ), Cerises ( 0,75€ ).
• 1 article par ligne & afficher le total du panier en
centimes à chaque fois.
Tests Vérifications
> Pommes -> 100
> Cerises -> 175
> Cerises -> 250
> Cerises -> 75
> Pommes -> 175
> Cerises -> 250
> Bananes -> 400
> Pommes -> 500
10 minutes
Formations pour programmeurs par des programmeurs
learn.tocraft.fr
ITERATION 2
• Même entrée et sortie que dans l’itération 1
• Prendre en compte des réductions
• Pour 2 lots de cerises achetés on applique 20 centimes de
réduction.
Tests Vérifications
> Pommes -> 100
> Cerises -> 175
> Cerises -> 230
> Cerises -> 75
> Pommes -> 175
> Cerises -> 230
> Bananes -> 380
> Cerises -> 455
> Cerises -> 510
> Pommes -> 610
10 minutes
Formations pour programmeurs par des programmeurs
learn.tocraft.fr
ITERATION 3
• Support du format CSV en entrée
• Les articles doivent être séparés par des virgules
• Même prix & réductions que pour l’itération 2
Tests
> Pommes, Cerises, Bananes -> 325
> Pommes -> 425
10 minutes
Formations pour programmeurs par des programmeurs
learn.tocraft.fr
Formations pour programmeurs par des programmeurs
learn.tocraft.fr
ITERATION 3’
• Support du format CSV repoussé à plus tard, Même deadline !!!
• On revient à une entrée par ligne.
• La réduction pour les cerises passe à 30 centimes.
• Un lot de bananes acheté, le second est offert.
Tests Vérifications
> Cerises -> 75
> Cerises -> 120
> Bananes -> 270
> Bananes -> 270
> Cerises -> 75
> Pommes -> 175
> Cerises -> 220
> Bananes -> 370
> Pommes -> 470
> Bananes -> 470
> Cerises -> 545
10 minutes
Formations pour programmeurs par des programmeurs
learn.tocraft.fr
ITERATION 4
• Support de la localisation
• La réduction pour les cerises repassent à 0,20 €
• On doit supporter les mots "Apples" et "Mele" pour "Pommes"
Tests
> Cerises -> 75
> Apples -> 175
> Cerises -> 230
> Bananes -> 380
> Bananes -> 380
10 minutes
Vérifications
> Cerises -> 75
> Apples -> 175
> Cerises -> 230
> Bananes -> 380
> Pommes -> 480
> Mele -> 580
Formations pour programmeurs par des programmeurs
learn.tocraft.fr
ITERATION 5
• Support de la localisation par article
• Le support du CSV est pour la prochaine itération
• 3 lots de "Apples" valent 2 €
• 2 lots de "Mele" valent 1,50 €
Tests
> Mele -> 100
> Apples -> 200
> Apples -> 300
> Pommes -> 400
> Apples -> 400
> Mele -> 450
> Cerises -> 525
> Cerises -> 580
10 minutes
Formations pour programmeurs par des programmeurs
learn.tocraft.fr
Formations pour programmeurs par des programmeurs
learn.tocraft.fr
ITERATION 5’
• On a déployé du nouveau Hardware, faut redeployer asap.
• Même deadline
• 3 lots de "Apples" valent 2 €
• 2 lots de "Mele" valent 1 €
Tests Vérifications
> Mele, Apples, Apples,
Pommes, Apples, Mele,
Cerises, Cerises,
Bananes -> 680
> Cerises, Apples -> 175
> Cerises -> 230
> Apples, Pommes, Bananes -> 580
> Apples, Pommes -> 680
> Mele -> 780
> Pommes -> 880
10 minutes
Formations pour programmeurs par des programmeurs
learn.tocraft.fr
ITERATION 6
• Fix Bug + Créer les super réductions
• Bug: Support du CSV ET d’une entrée par ligne
• 4 pommes achetées, 1 € de réduction
• 5 fruits achetés, 2 € de réduction
Tests
Vérifications
> Mele, Apples, Apples, Mele -> 200
> Bananes -> 150
> Mele, Apples, Apples, Pommes, Mele -> 150
> Mele, Apples, Apples, Pommes, Mele -> 100
> Bananes -> 250
10 minutes
Formations pour programmeurs par des programmeurs
learn.tocraft.fr
CONCLUSION
• Qui a utilisé un système de gestion de version ?
• Qui a utilisé des tests, a partir de quelle itération ?
• Qui a écrit et maintenu des tests d’acceptance ?
• Quid du code de CSV lorsqu’il n’était plus nécessaire
• Est-ce que votre code est propre ?
• Est-ce que votre code répond au besoin ?

Mais conteúdo relacionado

Mais procurados

A New Perspective on Resource-Level Cloud Forensics
A New Perspective on Resource-Level Cloud ForensicsA New Perspective on Resource-Level Cloud Forensics
A New Perspective on Resource-Level Cloud Forensics
Christopher Doman
 
Adversary Emulation and the C2 Matrix
Adversary Emulation and the C2 MatrixAdversary Emulation and the C2 Matrix
Adversary Emulation and the C2 Matrix
Jorge Orchilles
 
Digital forensic principles and procedure
Digital forensic principles and procedureDigital forensic principles and procedure
Digital forensic principles and procedure
newbie2019
 
Threat Hunting with Splunk
Threat Hunting with SplunkThreat Hunting with Splunk
Threat Hunting with Splunk
Splunk
 

Mais procurados (20)

Hunting for Credentials Dumping in Windows Environment
Hunting for Credentials Dumping in Windows EnvironmentHunting for Credentials Dumping in Windows Environment
Hunting for Credentials Dumping in Windows Environment
 
A New Perspective on Resource-Level Cloud Forensics
A New Perspective on Resource-Level Cloud ForensicsA New Perspective on Resource-Level Cloud Forensics
A New Perspective on Resource-Level Cloud Forensics
 
How fun of privilege escalation Red Pill2017
How fun of privilege escalation  Red Pill2017How fun of privilege escalation  Red Pill2017
How fun of privilege escalation Red Pill2017
 
Adversary Emulation and the C2 Matrix
Adversary Emulation and the C2 MatrixAdversary Emulation and the C2 Matrix
Adversary Emulation and the C2 Matrix
 
8.8 Las Vegas - Adversary Emulation con C2 Matrix
8.8 Las Vegas - Adversary Emulation con C2 Matrix8.8 Las Vegas - Adversary Emulation con C2 Matrix
8.8 Las Vegas - Adversary Emulation con C2 Matrix
 
Insight into SOAR
Insight into SOARInsight into SOAR
Insight into SOAR
 
DAT302_Deep Dive on Amazon Relational Database Service (RDS)
DAT302_Deep Dive on Amazon Relational Database Service (RDS)DAT302_Deep Dive on Amazon Relational Database Service (RDS)
DAT302_Deep Dive on Amazon Relational Database Service (RDS)
 
Extracting and Decoding Smartphone and Tablet Evidence with the UFED Series: ...
Extracting and Decoding Smartphone and Tablet Evidence with the UFED Series: ...Extracting and Decoding Smartphone and Tablet Evidence with the UFED Series: ...
Extracting and Decoding Smartphone and Tablet Evidence with the UFED Series: ...
 
Kapil Thangavelu - Cloud Custodian
Kapil Thangavelu - Cloud CustodianKapil Thangavelu - Cloud Custodian
Kapil Thangavelu - Cloud Custodian
 
Open Source Intelligence (OSINT)
Open Source Intelligence (OSINT)Open Source Intelligence (OSINT)
Open Source Intelligence (OSINT)
 
Cyber security in power sector
Cyber security in power sectorCyber security in power sector
Cyber security in power sector
 
Digital forensic principles and procedure
Digital forensic principles and procedureDigital forensic principles and procedure
Digital forensic principles and procedure
 
SOCstock 2021 The Cloud-native SOC
SOCstock 2021 The Cloud-native SOC SOCstock 2021 The Cloud-native SOC
SOCstock 2021 The Cloud-native SOC
 
Super Easy Memory Forensics
Super Easy Memory ForensicsSuper Easy Memory Forensics
Super Easy Memory Forensics
 
Threat Hunting with Splunk
Threat Hunting with SplunkThreat Hunting with Splunk
Threat Hunting with Splunk
 
User Behavior Analytics Using Machine Learning
User Behavior Analytics Using Machine LearningUser Behavior Analytics Using Machine Learning
User Behavior Analytics Using Machine Learning
 
You can detect PowerShell attacks
You can detect PowerShell attacksYou can detect PowerShell attacks
You can detect PowerShell attacks
 
Owasp osint presentation - by adam nurudini
Owasp osint presentation - by adam nurudiniOwasp osint presentation - by adam nurudini
Owasp osint presentation - by adam nurudini
 
Leveraging Splunk Enterprise Security with the MITRE’s ATT&CK Framework
Leveraging Splunk Enterprise Security with the MITRE’s ATT&CK FrameworkLeveraging Splunk Enterprise Security with the MITRE’s ATT&CK Framework
Leveraging Splunk Enterprise Security with the MITRE’s ATT&CK Framework
 
ATTACKers Think in Graphs: Building Graphs for Threat Intelligence
ATTACKers Think in Graphs: Building Graphs for Threat IntelligenceATTACKers Think in Graphs: Building Graphs for Threat Intelligence
ATTACKers Think in Graphs: Building Graphs for Threat Intelligence
 

Destaque

Get Soaked - An In Depth Look At PHP Streams
Get Soaked - An In Depth Look At PHP StreamsGet Soaked - An In Depth Look At PHP Streams
Get Soaked - An In Depth Look At PHP Streams
Davey Shafik
 

Destaque (20)

How to turn your developers in less than 6 months in perfect software craftsmen
How to turn your developers in less than 6 months in perfect software craftsmenHow to turn your developers in less than 6 months in perfect software craftsmen
How to turn your developers in less than 6 months in perfect software craftsmen
 
Coding dojo fruit shop
Coding dojo fruit shopCoding dojo fruit shop
Coding dojo fruit shop
 
Si le tdd est mort alors pratiquons une autopsie mix-it 2015
Si le tdd est mort alors pratiquons une autopsie mix-it 2015Si le tdd est mort alors pratiquons une autopsie mix-it 2015
Si le tdd est mort alors pratiquons une autopsie mix-it 2015
 
Java 8, Streams & Collectors, patterns, performances and parallelization
Java 8, Streams & Collectors, patterns, performances and parallelizationJava 8, Streams & Collectors, patterns, performances and parallelization
Java 8, Streams & Collectors, patterns, performances and parallelization
 
Event storming recipes
Event storming recipesEvent storming recipes
Event storming recipes
 
Devoxx 2016 - L'odyssée du Continuous Delivery
Devoxx 2016 - L'odyssée du Continuous DeliveryDevoxx 2016 - L'odyssée du Continuous Delivery
Devoxx 2016 - L'odyssée du Continuous Delivery
 
Conding Dojo Fruit Shop
Conding Dojo Fruit ShopConding Dojo Fruit Shop
Conding Dojo Fruit Shop
 
Diamond kata agile tour lille
Diamond kata agile tour lilleDiamond kata agile tour lille
Diamond kata agile tour lille
 
How to test untestable code
How to test untestable codeHow to test untestable code
How to test untestable code
 
How to test untestable code at apidays Paris 2017
How to test untestable code at apidays Paris 2017 How to test untestable code at apidays Paris 2017
How to test untestable code at apidays Paris 2017
 
CQRS without event sourcing
CQRS without event sourcingCQRS without event sourcing
CQRS without event sourcing
 
Coder sans peur du changement avec la meme pas mal hexagonal architecture
Coder sans peur du changement avec la meme pas mal hexagonal architectureCoder sans peur du changement avec la meme pas mal hexagonal architecture
Coder sans peur du changement avec la meme pas mal hexagonal architecture
 
Les nouveautés de C# 7
Les nouveautés de C# 7Les nouveautés de C# 7
Les nouveautés de C# 7
 
Confoo - Javascript Server Side : How to start
Confoo - Javascript Server Side : How to startConfoo - Javascript Server Side : How to start
Confoo - Javascript Server Side : How to start
 
Amongst models
Amongst modelsAmongst models
Amongst models
 
Electrify your code with PHP Generators
Electrify your code with PHP GeneratorsElectrify your code with PHP Generators
Electrify your code with PHP Generators
 
Get Soaked - An In Depth Look At PHP Streams
Get Soaked - An In Depth Look At PHP StreamsGet Soaked - An In Depth Look At PHP Streams
Get Soaked - An In Depth Look At PHP Streams
 
Elastic Searching With PHP
Elastic Searching With PHPElastic Searching With PHP
Elastic Searching With PHP
 
Techniques d'accélération des pages web
Techniques d'accélération des pages webTechniques d'accélération des pages web
Techniques d'accélération des pages web
 
Diving deep into twig
Diving deep into twigDiving deep into twig
Diving deep into twig
 

Semelhante a Fruit shop techdays 2015

D8 lxp1fr formation-introduction-au-developpement-ibm-domino-xpages
D8 lxp1fr formation-introduction-au-developpement-ibm-domino-xpagesD8 lxp1fr formation-introduction-au-developpement-ibm-domino-xpages
D8 lxp1fr formation-introduction-au-developpement-ibm-domino-xpages
CERTyou Formation
 
Dw522 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...
Dw522 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...Dw522 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...
Dw522 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...
CERTyou Formation
 
10 s00005k formation-ip-office-9-technical-basic-implementation-workshop
10 s00005k formation-ip-office-9-technical-basic-implementation-workshop10 s00005k formation-ip-office-9-technical-basic-implementation-workshop
10 s00005k formation-ip-office-9-technical-basic-implementation-workshop
CERTyou Formation
 

Semelhante a Fruit shop techdays 2015 (10)

Lean code
Lean codeLean code
Lean code
 
D8 lxp1fr formation-introduction-au-developpement-ibm-domino-xpages
D8 lxp1fr formation-introduction-au-developpement-ibm-domino-xpagesD8 lxp1fr formation-introduction-au-developpement-ibm-domino-xpages
D8 lxp1fr formation-introduction-au-developpement-ibm-domino-xpages
 
Proposez le WIFI à vos clients, comment faire ? - Destination Brocéliande
Proposez le WIFI à vos clients, comment faire ? - Destination BrocéliandeProposez le WIFI à vos clients, comment faire ? - Destination Brocéliande
Proposez le WIFI à vos clients, comment faire ? - Destination Brocéliande
 
Dw522 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...
Dw522 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...Dw522 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...
Dw522 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...
 
Devoxx france 2015 livrer chaque jour ce qui est prêt
Devoxx france 2015   livrer chaque jour ce qui est prêtDevoxx france 2015   livrer chaque jour ce qui est prêt
Devoxx france 2015 livrer chaque jour ce qui est prêt
 
Techdays 2013 : ALM et eCommerce, des challenges en continu
Techdays 2013 : ALM et eCommerce, des challenges en continuTechdays 2013 : ALM et eCommerce, des challenges en continu
Techdays 2013 : ALM et eCommerce, des challenges en continu
 
La qualité au meilleur prix grâce aux tests unitaires
La qualité au meilleur prix grâce aux tests unitairesLa qualité au meilleur prix grâce aux tests unitaires
La qualité au meilleur prix grâce aux tests unitaires
 
10 s00005k formation-ip-office-9-technical-basic-implementation-workshop
10 s00005k formation-ip-office-9-technical-basic-implementation-workshop10 s00005k formation-ip-office-9-technical-basic-implementation-workshop
10 s00005k formation-ip-office-9-technical-basic-implementation-workshop
 
Université de la performance
Université de la performanceUniversité de la performance
Université de la performance
 
Télécom - Web-Media : Un changement de référentiel
Télécom - Web-Media :  Un changement de référentielTélécom - Web-Media :  Un changement de référentiel
Télécom - Web-Media : Un changement de référentiel
 

Fruit shop techdays 2015

  • 1. HOW TO TURN YOUR DEVELOPERS IN LESS THAN 6 MONTHS IN PERFECT SOFTWARE CRAFTSMEN? Jean-Laurent de Morlhon Programmeur Java @morlhon Bruno Boucard Programmeur C# @brunoboucard 10 Février 2015 -14h FRUITSHOP.IO WE SELL FRUITS!! YEAH!!
  • 2.
  • 3. ITERATION 0 learn.tocraft.fr • Trouver un binôme • Une machine par binôme • Langage au choix • Programme qui lit/écrit depuis la entrée/sortie standard • Projet disponible sur http://github.com/jeanlaurent/basicloop Formations pour programmeurs par des programmeurs learn.tocraft.fr
  • 4. Formations pour programmeurs par des programmeurs learn.tocraft.fr ITERATION 1 • Faire une caisse enregistreuse simple pour les clients en magasin • 3 produits: Pommes ( 1€ ), Bananes ( 1,5€ ), Cerises ( 0,75€ ). • 1 article par ligne & afficher le total du panier en centimes à chaque fois. Tests Vérifications > Pommes -> 100 > Cerises -> 175 > Cerises -> 250 > Cerises -> 75 > Pommes -> 175 > Cerises -> 250 > Bananes -> 400 > Pommes -> 500 10 minutes
  • 5. Formations pour programmeurs par des programmeurs learn.tocraft.fr ITERATION 2 • Même entrée et sortie que dans l’itération 1 • Prendre en compte des réductions • Pour 2 lots de cerises achetés on applique 20 centimes de réduction. Tests Vérifications > Pommes -> 100 > Cerises -> 175 > Cerises -> 230 > Cerises -> 75 > Pommes -> 175 > Cerises -> 230 > Bananes -> 380 > Cerises -> 455 > Cerises -> 510 > Pommes -> 610 10 minutes
  • 6. Formations pour programmeurs par des programmeurs learn.tocraft.fr ITERATION 3 • Support du format CSV en entrée • Les articles doivent être séparés par des virgules • Même prix & réductions que pour l’itération 2 Tests > Pommes, Cerises, Bananes -> 325 > Pommes -> 425 10 minutes
  • 7. Formations pour programmeurs par des programmeurs learn.tocraft.fr
  • 8. Formations pour programmeurs par des programmeurs learn.tocraft.fr ITERATION 3’ • Support du format CSV repoussé à plus tard, Même deadline !!! • On revient à une entrée par ligne. • La réduction pour les cerises passe à 30 centimes. • Un lot de bananes acheté, le second est offert. Tests Vérifications > Cerises -> 75 > Cerises -> 120 > Bananes -> 270 > Bananes -> 270 > Cerises -> 75 > Pommes -> 175 > Cerises -> 220 > Bananes -> 370 > Pommes -> 470 > Bananes -> 470 > Cerises -> 545 10 minutes
  • 9. Formations pour programmeurs par des programmeurs learn.tocraft.fr ITERATION 4 • Support de la localisation • La réduction pour les cerises repassent à 0,20 € • On doit supporter les mots "Apples" et "Mele" pour "Pommes" Tests > Cerises -> 75 > Apples -> 175 > Cerises -> 230 > Bananes -> 380 > Bananes -> 380 10 minutes Vérifications > Cerises -> 75 > Apples -> 175 > Cerises -> 230 > Bananes -> 380 > Pommes -> 480 > Mele -> 580
  • 10. Formations pour programmeurs par des programmeurs learn.tocraft.fr ITERATION 5 • Support de la localisation par article • Le support du CSV est pour la prochaine itération • 3 lots de "Apples" valent 2 € • 2 lots de "Mele" valent 1,50 € Tests > Mele -> 100 > Apples -> 200 > Apples -> 300 > Pommes -> 400 > Apples -> 400 > Mele -> 450 > Cerises -> 525 > Cerises -> 580 10 minutes
  • 11. Formations pour programmeurs par des programmeurs learn.tocraft.fr
  • 12. Formations pour programmeurs par des programmeurs learn.tocraft.fr ITERATION 5’ • On a déployé du nouveau Hardware, faut redeployer asap. • Même deadline • 3 lots de "Apples" valent 2 € • 2 lots de "Mele" valent 1 € Tests Vérifications > Mele, Apples, Apples, Pommes, Apples, Mele, Cerises, Cerises, Bananes -> 680 > Cerises, Apples -> 175 > Cerises -> 230 > Apples, Pommes, Bananes -> 580 > Apples, Pommes -> 680 > Mele -> 780 > Pommes -> 880 10 minutes
  • 13. Formations pour programmeurs par des programmeurs learn.tocraft.fr ITERATION 6 • Fix Bug + Créer les super réductions • Bug: Support du CSV ET d’une entrée par ligne • 4 pommes achetées, 1 € de réduction • 5 fruits achetés, 2 € de réduction Tests Vérifications > Mele, Apples, Apples, Mele -> 200 > Bananes -> 150 > Mele, Apples, Apples, Pommes, Mele -> 150 > Mele, Apples, Apples, Pommes, Mele -> 100 > Bananes -> 250 10 minutes
  • 14. Formations pour programmeurs par des programmeurs learn.tocraft.fr CONCLUSION • Qui a utilisé un système de gestion de version ? • Qui a utilisé des tests, a partir de quelle itération ? • Qui a écrit et maintenu des tests d’acceptance ? • Quid du code de CSV lorsqu’il n’était plus nécessaire • Est-ce que votre code est propre ? • Est-ce que votre code répond au besoin ?