SlideShare a Scribd company logo
1 of 110
Download to read offline
Améliorer l’implémentation du
feature flipping pour réussir à
avoir du flow
Dorra Bartaguiz
Dorra Bartaguiz
• VP Tech (Direction Technique)
• Co-auteure & illustratrice
• Différents Rôles
• DEV/Archi
• Coach/ Formatrice
• Prof en école d’ingé
Formation
Sessions intra
et inter-entreprise,
sur site ou à distance
Coaching
Mentoring et
accompagnement
sur le terrain
Projet
Engagement de moyens et
engagement de qualité
Conseil
Diagnostic et études
sur mesure
NOS FORMATS D’INTERVENTION
Nos domaines d’expertise
Attitudes et pratiques craft
Tout a commencé sur
X/Twitter
Améliorer le feature
flipping pour réussir à
avoir du flow
Forums ouverts
trimestriels
Continuez à participer
https://forms.office.com/e/1CtupE6w2v
Un travail de
recherche
Merci
92%
connaissent le
feature flipping
Consensus sur la
définition
• Feature flippers
• Feature flags
• Feature toggles
• Feature switches
• Conditional feature
Feature Flipping
• Activer/désactiver une fonctionnalité
• En temps réel, sans livrer du code
Feature Flipping
temps
Besoin : Activation multiple
d’une même feature
Petite feature
Moyenne feature
Grande feature
Gigantesque feature
Plutôt Epic
Ce n’est clairement
pas une feature
dans ce cas !
Feature flipping en mission
Un flipper pour chaque feature
On a toujours fait ainsi !
Besoin pas clair
Est-ce la bonne
utilisation ?
Mettre le nez
dedans
Nb features actives/
inactives
Comparer les envs
Ménage des flippers
Le bazar
• Utilisation des flippers
non adaptée au besoin
Le bazar
• Flipper non supprimé
• Multitude de IF et conf
• Code moins lisible
• Coût supplémentaire
• Dépendances entre flippers
• Non-régression en on/off
Le bazar
Le bazar
function payOrder(bool askPaymentInInstallments)
{
if(featureIsEnabled("use-payment-in-installements")
&& askPaymentInInstallments)
{
payInInstallments();
}
else
{
payInOneLumpSum();
}
}
Des devs
tristes
Des devs
en colère
Beaucoup désertent
Pourquoi utiliser
le feature flipping ?
Cas d’utilisation
Livraison partielle Activation selon
contexte
Dépendance
externe
La feature ne tient
pas sur une
itération
29%
On active les
fonctionnalités par
segment (zone,
contexte,
environnement…)
27%
On est plusieurs à
développer en
parallèle
14%
On teste en
production
10%
Autre
20%
Pourquoi choisir le feature flipping ?
10% testent
en production
On livre en
désactivé
On active
Un bug !
On désactive
On corrige
Autres cas
d’utilisation
Autres cas d’utilisation
Trunk-based development
Produit en prod et refonte en parallèle
Demande explicite du client
Résumons !
• Livraison partielle
• Activation selon contexte
• Dépendance externe
• Deux versions en parallèle
• Demande explicite du client
• Aucun flipper supprimé
• Multitude de IF
• Code moins lisible
• Coût supplémentaire
• Non-régression en off
• Dépendances entre flippers
Cas d’utilisation
Inconvénients
Autre perspective
Voyons les
choses
autrement
Alternatives au
feature flipping
•Organisation
•Priorisation
•Design
Trunk-based
development
Vous connaissez
Trunk-based
development
• Contribuer directement
au tronc commun du
code
• Pas de branches
Trunk-based
development
• Avantages
• Collaboration continue
Trunk-based
development
• Avantages
• Collaboration continue
• Réduction des conflits
Trunk-based
development
• Avantages
• Collaboration continue
• Réduction des conflits
• Intégration continue
Trunk-based
development
• Avantages
• Collaboration continue
• Réduction des conflits
• Intégration continue
• Rapidité de
déploiement
Trunk-based
development
Branch-based
development
Branch-based development
• Une feature par branche
• Merge à la fin du développement
Trunk-based
development
Branch-based
development
Trunk-based development
Feature A
Feature C
Feature B
Release package
Feature B
Feature flipping
Feature B off
Trunk-based development
Activation unique d’une même feature
temps
Activation multiple d’une
même feature
Trunk-based
development
Feature
flipping
Branch-based
development
Livraison partielle
Vous connaissez
Livraison partielle
• Besoin de rassurer
• Eviter l’effet tunnel
• Réduction du life cycle des branches
• Merge plus souvent
• Intégration continue
Livraison partielle
Sprint 1 Sprint 2 Sprint 3
Feature n
US n1 US n2 US n3
Feature m
US m1 US m2
Ce lot n’est pas
livrable en l’état ?
INVEST in user stories
• Independent: sufficiently self-contained
• Negotiable: collaboration around the
details of what and how
• Valuable: increment of visible value
• Estimable: estimate how big it is
• Small: able to fit 6 to 10 into a sprint
• Testable: way to know we’re done
https://www.humanizingwork.com/the-humanizing-work-guide-to-splitting-user-stories/
INVEST in user stories
• Independent: sufficiently self-contained
• Negotiable: collaboration around the
details of what and how
• Valuable: increment of visible value
• Estimable: estimate how big it is
• Small: able to fit 6 to 10 into a sprint
• Testable: way to know we’re done
https://www.humanizingwork.com/the-humanizing-work-guide-to-splitting-user-stories/
https://www.humanizingwork.com/the-humanizing-work-guide-to-splitting-user-stories
Hamburger technique - Gojko Adzic
• Top Bun: starting point –
main goal
• Meat: core functionality –
main tasks to achieve goal
• Lettuce, cheese, etc:
specific aspects and details
• Bottom Bun: end point
Pas besoin de
feature flipping !
Activation selon
contexte
Vous connaissez
Activation selon contexte
• Exemples
• Activation par rapport à la période de Noël
• Activation pour la France et l’Espagne uniquement
• Activation pour l’environnement de développement uniquement
• Activation d’un AB testing pour un échantillon de users
Activation selon contexte
• Exemples
• Activation par rapport à la période de Noël
• Activation pour la France et l’Espagne uniquement
• Activation pour l’environnement de développement uniquement
• Activation d’un AB testing pour un échantillon
Besoin d’activation manuelle ?
Activation selon contexte
• Exemples
• Activation par rapport à la période de Noël
• Activation pour la France et l’Espagne uniquement
• Activation pour l’environnement de développement uniquement
• Activation d’un AB testing pour un échantillon
Critères métiers dynamiques ?
Activation selon contexte
Traitements
Condition
Traitements condition
satisfaite
Traitements condition
non satisfaite
Activation selon contexte
Implémentation Interface
Implémentation
Condition non satisfaite
Implémentation
Condition satisfaite
Remplacer les flippers
par le pattern Strategy
Activation selon contexte
• Gestion de campagnes
• On active la même fonctionnalité ou des différentes
• A la période des soldes, aux dates des soldes flottants
• A la période de Noël, au quotidien…
• Payement via des cartes cadeaux et/ou sur plusieurs
fois
“If it is so important,
make it a feature, not
just a flag.”
Cyrille Martraire
Activation selon
contexte
• Nouvelle feature ~ nouveau
(sous)domaine : Domain
Driven Design
• GoF design pattern :
Strategy ou Decorator
Un feature flipper
en moins !
Deux versions en
parallèle
Avez-vous
déjà eu besoin
Deal with legacy
• Réécriture partielle
• Réécriture complète : Big
Bang !
• Extraction partielle
• …
Strangler Application Pattern
Branch By Abstraction
…
Strangler Application Pattern
Strangler figs
Strangler Application
Pattern
New code
Legacy
Branch By Abstraction
“Technique for making a large-scale change to a software
system in gradual way that allows you to release the system
regularly while the change is still in-progress.”
Martin Fowler
Branch By Abstraction
Legacy need to
replace
Client
Client
Client
Branch By Abstraction
Legacy need to
replace
Client
Client
Client
Abstraction
Branch By Abstraction
Legacy need to
replace
Client
Client
Client
Abstraction
Branch By Abstraction
Legacy need to
replace
Client
Client
Client Abstraction
Branch By Abstraction
Legacy need to
replace
Client
Client
Client
Abstraction
Abstraction
New version
Branch By Abstraction
Legacy need to
replace
Client
Client
Client
Abstraction
Abstraction
New version
Branch By Abstraction
Legacy need to
replace
Client
Client
Client
Abstraction New version
Deux versions en parallèle
• Deal with legacy using patterns & techniques
• Strangler Application Pattern
• Branch By Abstraction
• …
Un feature flipper
en moins !
Dépendance
externe
Vous avez
déjà eu le cas
Dépendance externe
• Un service dont on a besoin mais qui n’est pas dans
notre périmètre
• Exemples
• Activation d’un service de payement différé
• Activation d’un service de publication d’actualité
Manque de
confiance en la
disponibilité du
service externe
Circuit Breaker
Circuit Breaker
=
Health check + Feature flipping
Plus d’inquiétude
Demande explicite
du client
Ça vous est
déjà arrivé
Est-ce qu’il/elle
a bien compris
l’usage des
flippers ?
Proposez lui/elle
cette présentation
Take away
Feature flipping : solution de facilité
• Code pas facile à maintenir
• Coût supplémentaire d’analyse
• Non-régression plus longue
• Turn-over plus important
Feature flipping : solution de facilité
• Alternatives au feature flipping
• Meilleur split
• GoF design patterns
• Domain Driven Design
• Strangler Application Pattern
• Branch By Abstraction
• Circuit breaker
Continuez à participer
https://forms.office.com/e/1CtupE6w2v
Merci

More Related Content

What's hot

gRPC와 goroutine 톺아보기 - GDG Golang Korea 2019
gRPC와 goroutine 톺아보기 - GDG Golang Korea 2019gRPC와 goroutine 톺아보기 - GDG Golang Korea 2019
gRPC와 goroutine 톺아보기 - GDG Golang Korea 2019Kenneth Ceyer
 
Golang Project Layout and Practice
Golang Project Layout and PracticeGolang Project Layout and Practice
Golang Project Layout and PracticeBo-Yi Wu
 
Unit testing JavaScript: Jasmine & karma intro
Unit testing JavaScript: Jasmine & karma introUnit testing JavaScript: Jasmine & karma intro
Unit testing JavaScript: Jasmine & karma introMaurice De Beijer [MVP]
 
Py.test
Py.testPy.test
Py.testsoasme
 
Outside-in Test Driven Development - the London School of TDD
Outside-in Test Driven Development - the London School of TDDOutside-in Test Driven Development - the London School of TDD
Outside-in Test Driven Development - the London School of TDDPeter Kofler
 
OWASP SF - Reviewing Modern JavaScript Applications
OWASP SF - Reviewing Modern JavaScript ApplicationsOWASP SF - Reviewing Modern JavaScript Applications
OWASP SF - Reviewing Modern JavaScript ApplicationsLewis Ardern
 
How to go about testing in React?
How to go about testing in React? How to go about testing in React?
How to go about testing in React? Lisa Gagarina
 
Web Components and Security
Web Components and SecurityWeb Components and Security
Web Components and SecurityTyler Peterson
 
A Scala Corrections Library
A Scala Corrections LibraryA Scala Corrections Library
A Scala Corrections LibraryPaul Phillips
 
Unit testing best practices
Unit testing best practicesUnit testing best practices
Unit testing best practicesnickokiss
 
Dependency injection - the right way
Dependency injection - the right wayDependency injection - the right way
Dependency injection - the right wayThibaud Desodt
 
Designing Effective Tests with React Testing Library - React Day Berlin 2022
Designing Effective Tests with React Testing Library - React Day Berlin 2022Designing Effective Tests with React Testing Library - React Day Berlin 2022
Designing Effective Tests with React Testing Library - React Day Berlin 2022Josh Justice
 
Event Sourcing from the Trenches (DDD Europe 2020)
Event Sourcing from the Trenches (DDD Europe 2020)Event Sourcing from the Trenches (DDD Europe 2020)
Event Sourcing from the Trenches (DDD Europe 2020)Dennis Doomen
 
Go Friday 傑作選
Go Friday 傑作選Go Friday 傑作選
Go Friday 傑作選Takuya Ueda
 
Unit Tests And Automated Testing
Unit Tests And Automated TestingUnit Tests And Automated Testing
Unit Tests And Automated TestingLee Englestone
 

What's hot (20)

gRPC와 goroutine 톺아보기 - GDG Golang Korea 2019
gRPC와 goroutine 톺아보기 - GDG Golang Korea 2019gRPC와 goroutine 톺아보기 - GDG Golang Korea 2019
gRPC와 goroutine 톺아보기 - GDG Golang Korea 2019
 
Robot framework
Robot frameworkRobot framework
Robot framework
 
TeraSort
TeraSortTeraSort
TeraSort
 
Golang Project Layout and Practice
Golang Project Layout and PracticeGolang Project Layout and Practice
Golang Project Layout and Practice
 
Unit testing JavaScript: Jasmine & karma intro
Unit testing JavaScript: Jasmine & karma introUnit testing JavaScript: Jasmine & karma intro
Unit testing JavaScript: Jasmine & karma intro
 
Py.test
Py.testPy.test
Py.test
 
Outside-in Test Driven Development - the London School of TDD
Outside-in Test Driven Development - the London School of TDDOutside-in Test Driven Development - the London School of TDD
Outside-in Test Driven Development - the London School of TDD
 
Javascript Design Patterns
Javascript Design PatternsJavascript Design Patterns
Javascript Design Patterns
 
OWASP SF - Reviewing Modern JavaScript Applications
OWASP SF - Reviewing Modern JavaScript ApplicationsOWASP SF - Reviewing Modern JavaScript Applications
OWASP SF - Reviewing Modern JavaScript Applications
 
How to go about testing in React?
How to go about testing in React? How to go about testing in React?
How to go about testing in React?
 
Robot Framework
Robot FrameworkRobot Framework
Robot Framework
 
Web Components and Security
Web Components and SecurityWeb Components and Security
Web Components and Security
 
Unit Testing in Java
Unit Testing in JavaUnit Testing in Java
Unit Testing in Java
 
A Scala Corrections Library
A Scala Corrections LibraryA Scala Corrections Library
A Scala Corrections Library
 
Unit testing best practices
Unit testing best practicesUnit testing best practices
Unit testing best practices
 
Dependency injection - the right way
Dependency injection - the right wayDependency injection - the right way
Dependency injection - the right way
 
Designing Effective Tests with React Testing Library - React Day Berlin 2022
Designing Effective Tests with React Testing Library - React Day Berlin 2022Designing Effective Tests with React Testing Library - React Day Berlin 2022
Designing Effective Tests with React Testing Library - React Day Berlin 2022
 
Event Sourcing from the Trenches (DDD Europe 2020)
Event Sourcing from the Trenches (DDD Europe 2020)Event Sourcing from the Trenches (DDD Europe 2020)
Event Sourcing from the Trenches (DDD Europe 2020)
 
Go Friday 傑作選
Go Friday 傑作選Go Friday 傑作選
Go Friday 傑作選
 
Unit Tests And Automated Testing
Unit Tests And Automated TestingUnit Tests And Automated Testing
Unit Tests And Automated Testing
 

Similar to Améliorer l'implémentation du feature flipping

Definition of Done - Agile Pays Basque - 23/09/2016
Definition of Done - Agile Pays Basque - 23/09/2016Definition of Done - Agile Pays Basque - 23/09/2016
Definition of Done - Agile Pays Basque - 23/09/2016ffaure32
 
Comment nous avons amélioré notre produit avec ScrumBan
Comment nous avons amélioré notre produit avec ScrumBanComment nous avons amélioré notre produit avec ScrumBan
Comment nous avons amélioré notre produit avec ScrumBanJulien Rairat
 
Insuffler la culture client dans une équipe de dev
Insuffler la culture client dans une équipe de devInsuffler la culture client dans une équipe de dev
Insuffler la culture client dans une équipe de devXavier Gorse
 
Mener à bien un projet Drupal (Drupagora 2013)
Mener à bien un projet Drupal (Drupagora 2013)Mener à bien un projet Drupal (Drupagora 2013)
Mener à bien un projet Drupal (Drupagora 2013)LaNetscouade
 
La vitesse d’un site web : un levier de croissance peu exploité
La vitesse d’un site web : un levier de croissance peu exploitéLa vitesse d’un site web : un levier de croissance peu exploité
La vitesse d’un site web : un levier de croissance peu exploitéFasterize
 
Agile Tour 2010 - Mise en place d'un projet agile
Agile Tour 2010 - Mise en place d'un projet agileAgile Tour 2010 - Mise en place d'un projet agile
Agile Tour 2010 - Mise en place d'un projet agileLaurent Deséchalliers
 
AT2010 Mise place d'un projet Agile
AT2010 Mise place d'un projet AgileAT2010 Mise place d'un projet Agile
AT2010 Mise place d'un projet AgileNormandy JUG
 
CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?
CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?
CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?Smile I.T is open
 
Lean & Agile UX - afterwork Axance
Lean & Agile UX - afterwork AxanceLean & Agile UX - afterwork Axance
Lean & Agile UX - afterwork AxanceAlexandre Jubien
 
2015 art du maniement des exigences agiles
2015   art du maniement des exigences agiles2015   art du maniement des exigences agiles
2015 art du maniement des exigences agilesAlexandre Boutin
 
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday...
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday...Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday...
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday...serge luca
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...ENSIBS
 
Agile tour2015
Agile tour2015Agile tour2015
Agile tour2015ffaure32
 
Retour d’expérience sur le business model d’un intégrateur os
Retour d’expérience sur le business model d’un intégrateur osRetour d’expérience sur le business model d’un intégrateur os
Retour d’expérience sur le business model d’un intégrateur osgtll_systematic
 
Mise en place de bonnes pratiques (Scrum et php) au sein de projets existants
Mise en place de bonnes pratiques (Scrum et php) au sein de projets existantsMise en place de bonnes pratiques (Scrum et php) au sein de projets existants
Mise en place de bonnes pratiques (Scrum et php) au sein de projets existantsNicolas De Boose
 
Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Ippon
 
meetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetes
meetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetesmeetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetes
meetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetesFrederic Leger
 

Similar to Améliorer l'implémentation du feature flipping (20)

Definition of Done - Agile Pays Basque - 23/09/2016
Definition of Done - Agile Pays Basque - 23/09/2016Definition of Done - Agile Pays Basque - 23/09/2016
Definition of Done - Agile Pays Basque - 23/09/2016
 
L'Agilité chez GEE Montréal
L'Agilité chez GEE MontréalL'Agilité chez GEE Montréal
L'Agilité chez GEE Montréal
 
Comment nous avons amélioré notre produit avec ScrumBan
Comment nous avons amélioré notre produit avec ScrumBanComment nous avons amélioré notre produit avec ScrumBan
Comment nous avons amélioré notre produit avec ScrumBan
 
Insuffler la culture client dans une équipe de dev
Insuffler la culture client dans une équipe de devInsuffler la culture client dans une équipe de dev
Insuffler la culture client dans une équipe de dev
 
Objectif fluid<fab />
Objectif fluid<fab />Objectif fluid<fab />
Objectif fluid<fab />
 
Mener à bien un projet Drupal (Drupagora 2013)
Mener à bien un projet Drupal (Drupagora 2013)Mener à bien un projet Drupal (Drupagora 2013)
Mener à bien un projet Drupal (Drupagora 2013)
 
La vitesse d’un site web : un levier de croissance peu exploité
La vitesse d’un site web : un levier de croissance peu exploitéLa vitesse d’un site web : un levier de croissance peu exploité
La vitesse d’un site web : un levier de croissance peu exploité
 
Agile Tour 2010 - Mise en place d'un projet agile
Agile Tour 2010 - Mise en place d'un projet agileAgile Tour 2010 - Mise en place d'un projet agile
Agile Tour 2010 - Mise en place d'un projet agile
 
AT2010 Mise place d'un projet Agile
AT2010 Mise place d'un projet AgileAT2010 Mise place d'un projet Agile
AT2010 Mise place d'un projet Agile
 
CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?
CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?
CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?
 
Lean & Agile UX - afterwork Axance
Lean & Agile UX - afterwork AxanceLean & Agile UX - afterwork Axance
Lean & Agile UX - afterwork Axance
 
2015 art du maniement des exigences agiles
2015   art du maniement des exigences agiles2015   art du maniement des exigences agiles
2015 art du maniement des exigences agiles
 
Dev opsday case study
Dev opsday   case studyDev opsday   case study
Dev opsday case study
 
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday...
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday...Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday...
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday...
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
 
Agile tour2015
Agile tour2015Agile tour2015
Agile tour2015
 
Retour d’expérience sur le business model d’un intégrateur os
Retour d’expérience sur le business model d’un intégrateur osRetour d’expérience sur le business model d’un intégrateur os
Retour d’expérience sur le business model d’un intégrateur os
 
Mise en place de bonnes pratiques (Scrum et php) au sein de projets existants
Mise en place de bonnes pratiques (Scrum et php) au sein de projets existantsMise en place de bonnes pratiques (Scrum et php) au sein de projets existants
Mise en place de bonnes pratiques (Scrum et php) au sein de projets existants
 
Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Présentation Rex GWT 2.0
Présentation Rex GWT 2.0
 
meetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetes
meetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetesmeetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetes
meetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetes
 

More from Dorra BARTAGUIZ

Sortons de la pyramide pour construire une stratégie de test
Sortons de la pyramide pour construire une stratégie de testSortons de la pyramide pour construire une stratégie de test
Sortons de la pyramide pour construire une stratégie de testDorra BARTAGUIZ
 
Living documentation au service de l'agilité
Living documentation au service de l'agilitéLiving documentation au service de l'agilité
Living documentation au service de l'agilitéDorra BARTAGUIZ
 
Devs, let's reclaim DDD!
Devs, let's reclaim DDD!Devs, let's reclaim DDD!
Devs, let's reclaim DDD!Dorra BARTAGUIZ
 
S'améliorer sans s'épuiser
S'améliorer sans s'épuiserS'améliorer sans s'épuiser
S'améliorer sans s'épuiserDorra BARTAGUIZ
 
Les classes abstraites c’est fini (et c’est la faute à TDD)
Les classes abstraites c’est fini (et c’est la faute à TDD)Les classes abstraites c’est fini (et c’est la faute à TDD)
Les classes abstraites c’est fini (et c’est la faute à TDD)Dorra BARTAGUIZ
 

More from Dorra BARTAGUIZ (9)

Sortons de la pyramide pour construire une stratégie de test
Sortons de la pyramide pour construire une stratégie de testSortons de la pyramide pour construire une stratégie de test
Sortons de la pyramide pour construire une stratégie de test
 
Living documentation au service de l'agilité
Living documentation au service de l'agilitéLiving documentation au service de l'agilité
Living documentation au service de l'agilité
 
Devs, let's reclaim DDD!
Devs, let's reclaim DDD!Devs, let's reclaim DDD!
Devs, let's reclaim DDD!
 
Rendons le DDD aux devs
Rendons le DDD aux devsRendons le DDD aux devs
Rendons le DDD aux devs
 
S'améliorer sans s'épuiser
S'améliorer sans s'épuiserS'améliorer sans s'épuiser
S'améliorer sans s'épuiser
 
Les classes abstraites c’est fini (et c’est la faute à TDD)
Les classes abstraites c’est fini (et c’est la faute à TDD)Les classes abstraites c’est fini (et c’est la faute à TDD)
Les classes abstraites c’est fini (et c’est la faute à TDD)
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Slim down diet and tdd
Slim down diet and tddSlim down diet and tdd
Slim down diet and tdd
 
Slim down diet_ and tdd
Slim down diet_ and tddSlim down diet_ and tdd
Slim down diet_ and tdd
 

Améliorer l'implémentation du feature flipping