SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
@johan_alps
DU 

LEGACY
AUTDD
Johan Martinsson
Coach dev
@johan_alps
COMBIEN PENSENT QUE
C’EST BIEN DE FAIRE DUTDD?
Pourquoi cette différence?
COMBIEN EN FONT?
@johan_alps
FAUT-IL ÊTRE BON DEV POUR
FAIRE DUTDD?
Bien qu'on devient un meilleur développeur en faisant duTDD
NON
@johan_alps
FAUT-IL DU BON CODE POUR
FAIRE DUTDD?
Si on attend une base de code en bon état on peut attendre
longtemps
NON
@johan_alps
CERCLE VICIEUX
@johan_alps
FAUT-IL DUTEMPS?
Temps d’entraînement, oui. 

OUI, ET NON
LeTDD fait gagner du temps au global en éliminant le gaspillage des retours.

@johan_alps
NOUS AVONSTROP DE
CODE!
@johan_alps
Reference: Your Code as a Crime Scene, ISBN:1680500384
Une fraction de l’effort
@johan_alps
3P
Protéger
Préparer
Produire
@johan_alps
PROTÉGER - PRÉPARER - PRODUIRE
3P
1. Protéger l’actuel
2. Préparer
1. Pour rendre facile la fonctionnalité
2. Pour rendre (unit-)testable
3. Améliorer le coût sw maintenance des tests
3. Produire la fonctionnalité enTDD
@johan_alps
REFACTORING PRÉPARATOIRE
@johan_alps
CERCLE VICIEUXCERCLE VERTUEUX
@johan_alps
@johan_alps
DEMO
@johan_alps
NOUVEAUX BESOIN
Prix de plusieurs forfaits
@johan_alps
call
Inject
lift pass pricingRestTest
A quoi faut-il allouer plus de temps pour faire du
TDD?
Dans l'effort de transition, pourquoi faut-il
mesurer le manque de retours au lieu du temps
consacré en dev?
@johan_alps
PriceCalculatorPriceDao
Price
prices
(rest)
http domain infra
@johan_alps
OUI, LES T-U ONT UN SENS
Lorsque le code est bien conçu
HARD!
PEUT-ONVRAIMENTTESTER
EN BAS-NIVEAU?
@johan_alps
3P
Protéger
Préparer
Produire
• C'est parfois un peu long au début, mais
pourquoi est-ce que cela s'améliore
rapidement?
Reference: Your Code as a Crime Scene, ISBN:1680500384
Une fraction
@johan_alps
DU 

LEGACY
AUTDD
Johan Martinsson
Coach dev

Contenu connexe

Plus de martinsson

Testing strategies visualized
Testing strategies visualizedTesting strategies visualized
Testing strategies visualizedmartinsson
 
Split my monolith! Workshop
Split my monolith! Workshop Split my monolith! Workshop
Split my monolith! Workshop martinsson
 
No Agility without Continuous Delivery
No Agility without Continuous DeliveryNo Agility without Continuous Delivery
No Agility without Continuous Deliverymartinsson
 
No agility without continuous delivery frugagile
No agility without continuous delivery   frugagileNo agility without continuous delivery   frugagile
No agility without continuous delivery frugagilemartinsson
 
Usable software design ncraft
Usable software design ncraftUsable software design ncraft
Usable software design ncraftmartinsson
 
Usable software design - code utilisable
Usable software design - code utilisableUsable software design - code utilisable
Usable software design - code utilisablemartinsson
 
Une architecture agile et testable
Une architecture agile et testableUne architecture agile et testable
Une architecture agile et testablemartinsson
 
Pyramide des tests
Pyramide des testsPyramide des tests
Pyramide des testsmartinsson
 
Changer Pour Mieux Coder
Changer Pour Mieux CoderChanger Pour Mieux Coder
Changer Pour Mieux Codermartinsson
 

Plus de martinsson (11)

Testing strategies visualized
Testing strategies visualizedTesting strategies visualized
Testing strategies visualized
 
Split my monolith! Workshop
Split my monolith! Workshop Split my monolith! Workshop
Split my monolith! Workshop
 
No Agility without Continuous Delivery
No Agility without Continuous DeliveryNo Agility without Continuous Delivery
No Agility without Continuous Delivery
 
No agility without continuous delivery frugagile
No agility without continuous delivery   frugagileNo agility without continuous delivery   frugagile
No agility without continuous delivery frugagile
 
Usable software design ncraft
Usable software design ncraftUsable software design ncraft
Usable software design ncraft
 
Usable software design - code utilisable
Usable software design - code utilisableUsable software design - code utilisable
Usable software design - code utilisable
 
Une architecture agile et testable
Une architecture agile et testableUne architecture agile et testable
Une architecture agile et testable
 
Pyramide des tests
Pyramide des testsPyramide des tests
Pyramide des tests
 
Changer Pour Mieux Coder
Changer Pour Mieux CoderChanger Pour Mieux Coder
Changer Pour Mieux Coder
 
Mikado
MikadoMikado
Mikado
 
Mikado
MikadoMikado
Mikado
 

De legacy au tdd agilegrenoble