SlideShare a Scribd company logo
1 of 88
Real Options: quand et comment
(ne pas) prendre des décisions
Pascal Van Cauwenberghe
11:40h – 12:40h Salle Belvédère
#AgileFrance
Donne des conseils
Gère des projets
Programme
Crée des Jeux
Organise des Conférences
@pascalvc
http://blog.nayima.be
http:/www.xpday.net
http:/www.atbru.be
http://www.cafepress.com/+true-story+mugs
Il était une fois...
http://www.flickr.com/photos/seandreilinger/2187892869
http://www.flickr.com/photos/rohdesign/3307874546
Jeu Video
Site Social
Le projet (1)
http://www.flickr.com/photos/rohdesign/3307874546
Le site
NOUVEAU DESIGN !!
L'analyse par les Options Réelles est
une technique qui permet de prendre
des décisions sur les décisions. C'est
cool, c'est meta.
Mais quel est l'intéret pour l'équipe au
quotidien ?
Vous prenez plein de décisions
chaque jour comme développeur ou
architecte. Des décisions qui peuvent
couter cher.
Les Options Réelles ne sont pas très
compliquées, cela s'explique en
quelques minutes. Mais en appliquant
les Options Réelles sur les projets
informatiques et sur l'architecture des
logiciels j'ai découvert que plein de
choses que je croyais vraies ou qui
me semblaient intuitivement
correctes étaient fausses.
J'illustre chaque technique avec des
exemples qui viennent de projets
auxquels j'ai participé les dernières
années, ou bien de la vie de tous les
jours.
Découvrez une autre façon de voir les
décisions, des techniques simples
pour gérer des projets ou définir une
architecture de logiciel. Vous
découvrirez peut-être que vous aussi
croyez des choses qui sont fausses.
Au minimum vous entendrez
quelques histoires belges... :-)
CELEBRITY NEWS AND GOSSIP WORLD EXCLUSIVES
LE NIOUZE
Redesign
de tous les
sites!
Le “vieux” design jaune
sera remplacé par un
design bleu cool, fresh et
clair
Template:
www.presentationmagazine.com
Le Redesign
http://www.flickr.com/photos/rohdesign/3307874546
La réaction
Chiffre de vente (estimé)
t
#
http://en.wikipedia.org/wiki/File:Sinterklaas_2007.jpg
http://commons.wikimedia.org/wiki/File:Jonathan_G_Meath_portrays_Santa_Claus.jpg
1. Cost of Delay
t
€
Les redesigns précédents
Creative Process
Problème
Générer des
options
Tester et choisir
des options
Implémenter
MOA
Maitrise d’ouvrage
MOE
Maitrise d’oeuvre
Creative Process
Creative Process chez nous
N’essayez pas de décider
trop vite!
2. The Creative Process
http://www.flickr.com/photos/miagant/5203621384
Real Options Team to the
Rescue!
“Donnez nous un jour et on vous dira quand et comment décider”
Olav Chris Chris
Quel est le problème?
• Cost of Delay: un retard (même d’un jour) peut nous
coûter 50% des ventes
Real Options
Les Real Options
Ont un coût (= le prix de l’option)
Ont une valeur
Ont un prix (“strike price”) quand on exerce l’option
Ont une date/condition d’expiration
~ “Call Option”
Une option n’est pas une obligation
Ceci est une métaphore
Quelles sont nos options?
1. Aller en production avec le design bleu
• Oui mais, on risque d’être en retard s’il faut attendre que
le design bleu soit stabilisé
• Oui mais, entre temps il y aura plein de changements
dans le design
2. Aller en production avec le design jaune, puis
retravailler avec le design bleu
• Oui mais, ce ne sera pas consistent
• Oui mais, le retravail va augmenter le budget
Comparons les options
Option Coût Prix Valeur Expiration
Bleu ??? / Design
consistent
???
Jaune +
Bleu
??? Redesign
en bleu
Cost of
Delay == 0
???
Quand est-ce qu’il faut
décider?
Option jaune + bleu ???
Option bleu ???
DecNov
Stockage
Magasin
Oct
Production
DVD
Serveurs
????Mars
On est ici!
Quelques questions aux
développeurs
• Est-ce qu’il faut appliquer le design immédiatement?
• “On l’a toujours fait dès le début, mais on pourrait le faire
plus tard”
• Combien de temps est-ce qu’il faut pour appliquer le
design jaune?
• “A peu près un mois”
• Combien de temps pour un design vraiment
compliqué?
• “Moins de 2 mois”
• Imaginez le pire design que les créatifs peuvent
inventer
• Rire. “Deux mois. On a de l’expérience avec ce type de
design” 
Quand est-ce qu’il faut
décider?
Option jaune + bleu ???
Option bleu ???
DecNov
Stockage
Magasin
Oct
Production
DVD
Serveurs
AoûtMars
On est ici!
Design et
test
(2M)
Comment est-ce qu’on va
décider?
• SI le nouveau design bleu est complètement stable
• ET si l’estimation de la charge de travail du design
bleu est moins que deux mois
• ALORS on applique le design bleu
• SINON on applique l’ancien design jaune et on
planifiera le redesign bleu quand il sera stable
• Rendez vous: 1er Août
Et entre temps...
• On développe le site en “noir et blanc”
• Un membre de l’équipe participe aux réunions de suivi
du redesign (2h toutes les 2 semaines) et tient l’équipe
au courant de la situation.
La journée n’est pas encore
finie
• On a encore quelques questions:
• Développeurs, qu’est-ce qu’il faut changer quand
le design change?
• Développeurs montrent l’architecture et le code
• Et s’il y avait moins à changer?
• Petit spike architectural: séparation, déduplication...
• Ca coûte combien pour améliorer l’architecture?
• “On peut faire cela en quelques jours”
• “Après, un redesign ne coûtera jamais plus qu’un
mois”
Quand est-ce qu’il faut
décider?
Option jaune + bleu ???
Option bleu ???
DecNov
Stockage
Magasin
Oct
Production
DVD
Serveurs
AoûtMars
On est ici!
Design et
test
(2M)
Quand est-ce qu’il faut
décider?
Option jaune + bleu ???
Option bleu ???
DecNov
Stockage
Magasin
Oct
Production
DVD
Serveurs
SeptMars
On est ici!
Design
et test
(1M)
L’avantage de réduire le
temps de cycle
• On peut décider encore un mois plus tard
• On a un mois de plus pour implémenter la
fonctionnalité
• Un redesign jaune -> bleu ne coûte plus qu’un mois au
lieu de deux
• Rendez-vous pour la décision: 1er septembre
Comparons les options
Option Coût Prix Valeur Expiration
Jaune +
Bleu
1 semaine de
refactoring
+ 2h de suivi /
2 semaines
Redesign
en bleu (1
mois)
Cost of
Delay == 0
01/09/20XX
Bleu 1 semaine de
refactoring
+ 2h de suivi /
2 semaines
/ Design
consistent
01/09/20XX
3. Real Options
Optimal Decision Process
Option Implement
er
Option
Option
Décisions Deadline
http://commitment-thebook.com/
Retro
• 1 septembre: le design bleu n’est pas stable (ce n’était
pas une surprise). On utilise le design jaune
• Projet livré à temps
• “Ce projet était beaucoup moins stressant que les
précédents”
• Fonctionnalité:
• Design:
Et ils vécurent heureux
à tout jamais
Encore une petite histoire?
Le projet (2)
http://www.flickr.com/photos/seeminglee/8276505285
p.s. La banque n’est pas HSBC
http://en.wikipedia.org/wiki/File:Rack001.jpg
Internet Banking Internet Banking servers
Votre mission, si vous
l’acceptez...
• On lance notre service online banking le
DD/MM/YYYY
• Société X va développer l’application web
• Vous devez livrer l’application serveur à temps
• Petits détails...
• On est en train de décider sur quelle plateforme
• On est en train de la documenter la DB que vous
devez utiliser
• On est en train de rédiger le cahier des charges
• “Mais commencez déjà à développer, car on n’a pas
beaucoup de temps!”
• Accepteriez vous cette mission?
Notre problème
Plateforme A
Implementer
Plateforme B
Decision
On est ici!
Pas assez de
temps
Notre solution
• Si on n’a pas assez de temps pour implémenter
plateforme A OU plateforme B
• On va implémenter plateforme A ET B
• C’est logique... En Belgique 
Notre solution
Implémenter
Plateforme A
Finir
implementation
de la plateforme
choisie
Implémenter
Plateforme B
Decision
On est ici!
Set-based development
APP
API
A
Server
B
Server
Test
Server
3 implementations en parallèle :
•Plateforme A
•Plateforme B
•Environnement de développement et test
Retro
• Décision: plateforme A
• Implémentation A est allée en production à temps
• Implémentation dev/test continue à être utilisée
pendant le développement
• Implémentation B na servi à rien
• A suivre...
Et ils vécurent...
Ce n’est pas encore fini
EDITEUR B BOUFFE EDITEUR A
L'analyse par les Options Réelles est
une technique qui permet de prendre
des décisions sur les décisions. C'est
cool, c'est meta.
Mais quel est l'intérêt pour l'équipe au
quotidien ?
Vous prenez plein de décisions
chaque jour comme développeur ou
architecte. Des décisions qui peuvent
couter cher.
Les Options Réelles ne sont pas très
compliquées, cela s'explique en
quelques minutes. Mais en appliquant
les Options Réelles sur les projets
informatiques et sur l'architecture des
logiciels j'ai découvert que plein de
choses que je croyais vraies ou qui
me semblaient intuitivement
correctes étaient fausses.
J'illustre chaque technique avec des
exemples qui viennent de projets
auxquels j'ai participé les dernières
années, ou bien de la vie de tous les
jours.
Découvrez une autre façon de voir les
décisions, des techniques simples
pour gérer des projets ou définir une
architecture de logiciel. Vous
découvrirez peut-être que vous aussi
croyez des choses qui sont fausses.
Au minimum vous entendrez
quelques histoires belges... :-)
CELEBRITY NEWS AND GOSSIP WORLD EXCLUSIVES
LE NIOUZE
Redesign
de tous les
sites!
Le “vieux” design jaune
sera remplacé par un
design bleu cool, fresh et
clair
Template:
www.presentationmagazine.com
Un peu plus tard
• Editeur de plateforme B envoit une lettre à la banque:
“Bonne nouvelle! Nous venons d’acquérir la plateforme A.
Tout développement sur cette plateforme est arrêté. Le
support sera arrêté bientôt.
Veuillez migrer vers la plateforme B.”
• Facile!
A B
B
C
Et ils vécurent heureux
4. Set-based development
Option
A
Option
B
Option
C
Mais c’est logique, capitaine!
Ce n’est que du bon sens!
Irrationnel, mais prévisible
Sunk Cost(*) fallacy
(*) coûts irrécupérables, coûts échoués
• Tout ce qui est déjà investi est perdu
• On ne devrait pas en tenir compte pour décider si on
continue
• Mais on accorde beaucoup de valeur à l’argent (et le
temps) déjà investi
• Solution: regarder les “deltas” de valeur et coût
• “Marginal Economics” (Reinertsen, Flow)
• Aussi: “Emotional Sunk Cost”
On ne sait pas estimer
• On a du mal avec des chiffres absolus
• On utilise des estimations relatives pour
prendre des décisions
• On surestime les coûts vs. bénéfice
• Une fois qu’on a décidé on a peur de perdre ce
qu’on a
• On surestime la valeur de ce qu’on a
• Pour confirmer qu’on a fait un bon choix
• On surestime la valeur dans le présent vs le futur
• => Décisions qui favorisent le court terme
L’embarras du choix
• Quand il y a beaucoup de choix on bloque
• Plus de choix, plus de chance de se
tromper
• Quand on a beaucoup d’options on perd de
vue le but
• On passe tout son temps à la “chasse aux
options”
• Ne créez pas des solutions « génériques »
Et surtout...
On n’aime pas l’incertitude
• Surtout en moments de stress
• Ces outils m’aident à rester calme
• Au lieu de décider on établit un plan pour décider:
• Quand on prend quelles décisions
• Comment on va prendre les décisions
• Sur base de quelles données
• Qui est impliqué
• => On prend ces décisions rapidement et surement
• Mon outil préféré pour gérer mes Real Options: mon
calendrier
Comment est-ce vous avez
survécu aussi longtemps?
6. On n’est pas rationnels,
mais on peut faire
semblant
Encore une histoire
Le projet (3)
http://www.flickr.com/photos/caseorganic/3216853440 http://www.flickr.com/photos/danielfoster/4725849931
EDI
Vendeurs Fabricants
La situation (avant)
EDI
Vendeurs
IMPL
Fabricants
IMPL
Les problèmes de nos clients
• Ceux qui veulent utiliser la plateforme doivent
connecter leurs systèmes et implémenter 1 API
• Et puis nous configurons/customisons la plateforme
• Pour les vendeurs et fabricants de cette industrie c’est
un “grand projet”
• Les vendeurs et fabricants ne tiennent pas leur
planning
• Donc notre planning de customisation ne sert à rien
• Une intégration dure longtemps, donc retour sur
investissement tardif
Et si c’était notre problème?
• Si chaque flux est indépendant, chaque intégration est
un petit projet
• Si on peut customiser rapidement un flux pour un
client, on n’a plus besoin du planning du client
• Si on peut mettre les customisations rapidement en
production, le client a un retour sur investissement
rapide et incrémental
La situation (avant)
EDI
Vendeurs
IMPL
Fabricants
IMPL
La situation (après) -
Technique
EDI
Vendeurs
IMPL
Fabricants
IMPL
IMPL
IMPL
IMPL
IMPL
IMPL
IMPL
IMPL
La situation (après)
• Chaque flux est un composant indépendant.
Mais si le client en a implémenté plus qu’un ils
coopèrent.
• Par exemple: il y a un flux pour les données catalogue et
un flux pour les commandes qui sont indépendants. Si on a
les deux, le composant “catalogue” peut faire des
validations et augmentations pendant la commande
• On est passé d’une architecture “pipe et filter”
vers “blackboard”
• On avait déjà un système continuous delivery
La situation (après) - clients
• Le client a l’option de faire une intégration
incrémentale
• Dans l’ordre qu’il veut
• Le client ne doit plus nous donner de planning, ils
annoncent quand un flux est prêt
• On customise, test et met en production immédiatement
• Le client reçoit de la valeur avec chaque flux
• => La plateforme devient plus facile à vendre
C’est quoi l’architecture?
“L’architecture c’est les décisions qui sont difficiles à
changer et qu’il faut prendre au début du projet”
Pour des décisions difficiles à changer
• Ou bien on rend la décision facile à changer
• Ou bien on retarde le point de décision
Je suis prêt à payer pour des options qui ont de la
valeur
• “Oui mais... Il y a des choses qu’on ne peut pas
changer”
Hola Hop, Barbatruc
EDIVendeurs Fabricants
“Et si on changait de plateforme et langage?
Sans arreter le système, bien sur!”
“Impossible!”
Gestion
Changer de plateforme et de
langage
• D’abord des prototypes pour apprendre
• Puis on aborde la partie avec le moins de risque client
• On garde et maintient l’ancien composant pendant la
transition
• On peut toujours revenir un (petit) pas en arrière
• Déploiement continu et développement incrémental
réduisent la complexité et le risque
Oui mais... L’option
coûte trop cher
Le projet (4)
• Projet avec deadline dur: loi change le 01/01/YYYY
• Le système actuel n’est pas compatible
• On développe un nouveau système compatible
• Qu’est-ce qui se passe si on livre en retard?
• On n’a pas voulu dépenser < 1000€ pour créer une
option “backup”
• “Combien ça coûte pour adapter le système actuel?”
• “Failure is not an option”
• Le système est livré en retard
• Chaque mois d’indisponibilité: X00,000€ par mois
Faites attention aux
fausses économies
Quelle est la valeur
ajoutée pour le client
de votre architecture et
votre processus?
Techniques utiles (1)
• Cost of Delay:
• Quel est l’effet d’une livraison retardée ou avancée?
• Creative Process:
• Générer des options, puis sélectionner les options
• Options:
• Cout, valeur, prix, date/condition d’expiration
• Optimal Decision Process:
• Moment de décision = deadline – temps d’implémentation
Techniques utiles (2)
• Variation Separation:
• Séparez les éléments qui varient à des vitesses différentes
• Set-based design:
• Faire la même chose de 3 façons peut être moins cher
qu’une
• Sunk Cost Fallacy:
• Oubliez combien vous avez déjà investi
• Créez des options pour vos clients
Décisions
architecturales
Principe du bon moment
Décision facile à changer: décidez tôt
Décision difficile à changer:
• Rendez la plus facile à changer
• Décidez le plus tard possible
Principe de l’effort minimal
Ne faites pas le travail de demain
aujourd’hui (YAGNI)
ET
Ne faites rien aujourd’hui qui entrave le
travail de demain
“Le principe du fainéant”
Une bonne architecture...
Une bonne architecture crée des options
pour votre équipe, votre organisation et
vos clients
Créer et maintenir les options ce fait tous
les jours, à petits pas
Sinon, vous créez des systèmes legacy
qui ont de moins en moins options
“Dans chaque mauvaise
décision, il se cache une
bonne décision”
Donald Reinertsen
MERCI !
• Si vous voulez en savoir plus...
pascal@nayima.be
http://blog.nayima.be
Questions
#AgileFrance
Real Options - Agile France 2013

More Related Content

Viewers also liked

Présentation Bug Busters
Présentation Bug BustersPrésentation Bug Busters
Présentation Bug BustersBug Busters
 
Bug, un "objet" du numérique
Bug, un "objet" du numériqueBug, un "objet" du numérique
Bug, un "objet" du numériqueRégis Chatellier
 
Chouette! Encore un bug!
Chouette! Encore un bug!Chouette! Encore un bug!
Chouette! Encore un bug!AgileCoach.net
 
Agile 2010 Estimation Games
Agile 2010 Estimation  GamesAgile 2010 Estimation  Games
Agile 2010 Estimation GamesAgileCoach.net
 
Business value by systems thinking
Business value by systems thinkingBusiness value by systems thinking
Business value by systems thinkingAgileCoach.net
 
The Top Skills That Can Get You Hired in 2017
The Top Skills That Can Get You Hired in 2017The Top Skills That Can Get You Hired in 2017
The Top Skills That Can Get You Hired in 2017LinkedIn
 

Viewers also liked (8)

Présentation Bug Busters
Présentation Bug BustersPrésentation Bug Busters
Présentation Bug Busters
 
Bug, un "objet" du numérique
Bug, un "objet" du numériqueBug, un "objet" du numérique
Bug, un "objet" du numérique
 
Chouette! Encore un bug!
Chouette! Encore un bug!Chouette! Encore un bug!
Chouette! Encore un bug!
 
Python debugger
Python debuggerPython debugger
Python debugger
 
Agile 2010 Estimation Games
Agile 2010 Estimation  GamesAgile 2010 Estimation  Games
Agile 2010 Estimation Games
 
Business value by systems thinking
Business value by systems thinkingBusiness value by systems thinking
Business value by systems thinking
 
Great! another bug
Great! another bugGreat! another bug
Great! another bug
 
The Top Skills That Can Get You Hired in 2017
The Top Skills That Can Get You Hired in 2017The Top Skills That Can Get You Hired in 2017
The Top Skills That Can Get You Hired in 2017
 

Similar to Real Options - Agile France 2013

Les Bases des Méthodes Lean/Agile
Les Bases des Méthodes Lean/AgileLes Bases des Méthodes Lean/Agile
Les Bases des Méthodes Lean/AgileAgileCoach.net
 
cipe jeu gestion de projet.pdf
cipe jeu gestion de projet.pdfcipe jeu gestion de projet.pdf
cipe jeu gestion de projet.pdfCIPE
 
Lean & Agile UX - afterwork Axance
Lean & Agile UX - afterwork AxanceLean & Agile UX - afterwork Axance
Lean & Agile UX - afterwork AxanceAlexandre Jubien
 
Le Rapid Prototyping, ça marche !
Le Rapid Prototyping, ça marche !Le Rapid Prototyping, ça marche !
Le Rapid Prototyping, ça marche !Catherine Verfaillie
 
Afterworkshop #4 : Appréhender son premier design sprint
Afterworkshop #4 : Appréhender son premier design sprintAfterworkshop #4 : Appréhender son premier design sprint
Afterworkshop #4 : Appréhender son premier design sprintNewflux UX/UI News
 
Conférence Paris Web 2015 - Vers une bonne pratique du Pair Design
Conférence Paris Web 2015 - Vers une bonne pratique du Pair DesignConférence Paris Web 2015 - Vers une bonne pratique du Pair Design
Conférence Paris Web 2015 - Vers une bonne pratique du Pair DesignCatherine Verfaillie
 
XebiConFr 15 - À la recherche du temps (perdu) entre le use case metier et s...
XebiConFr 15 - À la recherche du temps (perdu) entre le use case metier et s...XebiConFr 15 - À la recherche du temps (perdu) entre le use case metier et s...
XebiConFr 15 - À la recherche du temps (perdu) entre le use case metier et s...Publicis Sapient Engineering
 
Développer en mode kick-ass à Devoxx France
Développer en mode kick-ass à Devoxx FranceDévelopper en mode kick-ass à Devoxx France
Développer en mode kick-ass à Devoxx FranceSamuel Le Berrigaud
 
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
 
Agile Wake Up #3 : Lean UX
Agile Wake Up #3 : Lean UXAgile Wake Up #3 : Lean UX
Agile Wake Up #3 : Lean UXZenika
 
Appréhender et s'adapter aux mutations de l'économie numérique.
Appréhender et s'adapter aux mutations de l'économie numérique. Appréhender et s'adapter aux mutations de l'économie numérique.
Appréhender et s'adapter aux mutations de l'économie numérique. Thibaut Brousse
 
Sans développeur ni CTO dans l'équipe, comment assurer soi-même ?
Sans développeur ni CTO dans l'équipe, comment assurer soi-même ?Sans développeur ni CTO dans l'équipe, comment assurer soi-même ?
Sans développeur ni CTO dans l'équipe, comment assurer soi-même ?Damien Dabernat
 
UX Days 2019 by Flupa - Conférence : Pauline Thomas
UX Days 2019 by Flupa - Conférence : Pauline ThomasUX Days 2019 by Flupa - Conférence : Pauline Thomas
UX Days 2019 by Flupa - Conférence : Pauline ThomasFlupa
 
Le développement logiciel expliqué à votre patron en 24 slides
Le développement logiciel expliqué à votre patron en 24 slidesLe développement logiciel expliqué à votre patron en 24 slides
Le développement logiciel expliqué à votre patron en 24 slidesYassine CHAOUCHE
 

Similar to Real Options - Agile France 2013 (20)

Les Bases des Méthodes Lean/Agile
Les Bases des Méthodes Lean/AgileLes Bases des Méthodes Lean/Agile
Les Bases des Méthodes Lean/Agile
 
cipe jeu gestion de projet.pdf
cipe jeu gestion de projet.pdfcipe jeu gestion de projet.pdf
cipe jeu gestion de projet.pdf
 
Lean & Agile UX - afterwork Axance
Lean & Agile UX - afterwork AxanceLean & Agile UX - afterwork Axance
Lean & Agile UX - afterwork Axance
 
Formation créativité
Formation créativitéFormation créativité
Formation créativité
 
Le Rapid Prototyping, ça marche !
Le Rapid Prototyping, ça marche !Le Rapid Prototyping, ça marche !
Le Rapid Prototyping, ça marche !
 
Afterworkshop #4 : Appréhender son premier design sprint
Afterworkshop #4 : Appréhender son premier design sprintAfterworkshop #4 : Appréhender son premier design sprint
Afterworkshop #4 : Appréhender son premier design sprint
 
Conférence Paris Web 2015 - Vers une bonne pratique du Pair Design
Conférence Paris Web 2015 - Vers une bonne pratique du Pair DesignConférence Paris Web 2015 - Vers une bonne pratique du Pair Design
Conférence Paris Web 2015 - Vers une bonne pratique du Pair Design
 
HETIC Projet d'une nuit 3D UX
HETIC Projet d'une nuit 3D UXHETIC Projet d'une nuit 3D UX
HETIC Projet d'une nuit 3D UX
 
Nuit Charette HETIC 3D UX
Nuit Charette HETIC 3D UXNuit Charette HETIC 3D UX
Nuit Charette HETIC 3D UX
 
XebiConFr 15 - À la recherche du temps (perdu) entre le use case metier et s...
XebiConFr 15 - À la recherche du temps (perdu) entre le use case metier et s...XebiConFr 15 - À la recherche du temps (perdu) entre le use case metier et s...
XebiConFr 15 - À la recherche du temps (perdu) entre le use case metier et s...
 
Développer en mode kick-ass à Devoxx France
Développer en mode kick-ass à Devoxx FranceDévelopper en mode kick-ass à Devoxx France
Développer en mode kick-ass à Devoxx France
 
Une expérience agile
Une expérience agileUne expérience agile
Une expérience agile
 
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
 
Agile Wake Up #3 : Lean UX
Agile Wake Up #3 : Lean UXAgile Wake Up #3 : Lean UX
Agile Wake Up #3 : Lean UX
 
Appréhender et s'adapter aux mutations de l'économie numérique.
Appréhender et s'adapter aux mutations de l'économie numérique. Appréhender et s'adapter aux mutations de l'économie numérique.
Appréhender et s'adapter aux mutations de l'économie numérique.
 
Logbook Opus Design
Logbook Opus DesignLogbook Opus Design
Logbook Opus Design
 
Sans développeur ni CTO dans l'équipe, comment assurer soi-même ?
Sans développeur ni CTO dans l'équipe, comment assurer soi-même ?Sans développeur ni CTO dans l'équipe, comment assurer soi-même ?
Sans développeur ni CTO dans l'équipe, comment assurer soi-même ?
 
UX Days 2019 by Flupa - Conférence : Pauline Thomas
UX Days 2019 by Flupa - Conférence : Pauline ThomasUX Days 2019 by Flupa - Conférence : Pauline Thomas
UX Days 2019 by Flupa - Conférence : Pauline Thomas
 
Le développement logiciel expliqué à votre patron en 24 slides
Le développement logiciel expliqué à votre patron en 24 slidesLe développement logiciel expliqué à votre patron en 24 slides
Le développement logiciel expliqué à votre patron en 24 slides
 

Real Options - Agile France 2013

  • 1. Real Options: quand et comment (ne pas) prendre des décisions Pascal Van Cauwenberghe 11:40h – 12:40h Salle Belvédère #AgileFrance
  • 2. Donne des conseils Gère des projets Programme Crée des Jeux Organise des Conférences @pascalvc http://blog.nayima.be http:/www.xpday.net http:/www.atbru.be
  • 4. Il était une fois...
  • 7. NOUVEAU DESIGN !! L'analyse par les Options Réelles est une technique qui permet de prendre des décisions sur les décisions. C'est cool, c'est meta. Mais quel est l'intéret pour l'équipe au quotidien ? Vous prenez plein de décisions chaque jour comme développeur ou architecte. Des décisions qui peuvent couter cher. Les Options Réelles ne sont pas très compliquées, cela s'explique en quelques minutes. Mais en appliquant les Options Réelles sur les projets informatiques et sur l'architecture des logiciels j'ai découvert que plein de choses que je croyais vraies ou qui me semblaient intuitivement correctes étaient fausses. J'illustre chaque technique avec des exemples qui viennent de projets auxquels j'ai participé les dernières années, ou bien de la vie de tous les jours. Découvrez une autre façon de voir les décisions, des techniques simples pour gérer des projets ou définir une architecture de logiciel. Vous découvrirez peut-être que vous aussi croyez des choses qui sont fausses. Au minimum vous entendrez quelques histoires belges... :-) CELEBRITY NEWS AND GOSSIP WORLD EXCLUSIVES LE NIOUZE Redesign de tous les sites! Le “vieux” design jaune sera remplacé par un design bleu cool, fresh et clair Template: www.presentationmagazine.com
  • 10. Chiffre de vente (estimé) t # http://en.wikipedia.org/wiki/File:Sinterklaas_2007.jpg http://commons.wikimedia.org/wiki/File:Jonathan_G_Meath_portrays_Santa_Claus.jpg
  • 11. 1. Cost of Delay t €
  • 13. Creative Process Problème Générer des options Tester et choisir des options Implémenter MOA Maitrise d’ouvrage MOE Maitrise d’oeuvre
  • 16. N’essayez pas de décider trop vite!
  • 17. 2. The Creative Process
  • 18.
  • 20. Real Options Team to the Rescue! “Donnez nous un jour et on vous dira quand et comment décider” Olav Chris Chris
  • 21. Quel est le problème? • Cost of Delay: un retard (même d’un jour) peut nous coûter 50% des ventes
  • 22. Real Options Les Real Options Ont un coût (= le prix de l’option) Ont une valeur Ont un prix (“strike price”) quand on exerce l’option Ont une date/condition d’expiration ~ “Call Option” Une option n’est pas une obligation Ceci est une métaphore
  • 23. Quelles sont nos options? 1. Aller en production avec le design bleu • Oui mais, on risque d’être en retard s’il faut attendre que le design bleu soit stabilisé • Oui mais, entre temps il y aura plein de changements dans le design 2. Aller en production avec le design jaune, puis retravailler avec le design bleu • Oui mais, ce ne sera pas consistent • Oui mais, le retravail va augmenter le budget
  • 24. Comparons les options Option Coût Prix Valeur Expiration Bleu ??? / Design consistent ??? Jaune + Bleu ??? Redesign en bleu Cost of Delay == 0 ???
  • 25. Quand est-ce qu’il faut décider? Option jaune + bleu ??? Option bleu ??? DecNov Stockage Magasin Oct Production DVD Serveurs ????Mars On est ici!
  • 26. Quelques questions aux développeurs • Est-ce qu’il faut appliquer le design immédiatement? • “On l’a toujours fait dès le début, mais on pourrait le faire plus tard” • Combien de temps est-ce qu’il faut pour appliquer le design jaune? • “A peu près un mois” • Combien de temps pour un design vraiment compliqué? • “Moins de 2 mois” • Imaginez le pire design que les créatifs peuvent inventer • Rire. “Deux mois. On a de l’expérience avec ce type de design” 
  • 27. Quand est-ce qu’il faut décider? Option jaune + bleu ??? Option bleu ??? DecNov Stockage Magasin Oct Production DVD Serveurs AoûtMars On est ici! Design et test (2M)
  • 28. Comment est-ce qu’on va décider? • SI le nouveau design bleu est complètement stable • ET si l’estimation de la charge de travail du design bleu est moins que deux mois • ALORS on applique le design bleu • SINON on applique l’ancien design jaune et on planifiera le redesign bleu quand il sera stable • Rendez vous: 1er Août
  • 29. Et entre temps... • On développe le site en “noir et blanc” • Un membre de l’équipe participe aux réunions de suivi du redesign (2h toutes les 2 semaines) et tient l’équipe au courant de la situation.
  • 30. La journée n’est pas encore finie • On a encore quelques questions: • Développeurs, qu’est-ce qu’il faut changer quand le design change? • Développeurs montrent l’architecture et le code • Et s’il y avait moins à changer? • Petit spike architectural: séparation, déduplication... • Ca coûte combien pour améliorer l’architecture? • “On peut faire cela en quelques jours” • “Après, un redesign ne coûtera jamais plus qu’un mois”
  • 31. Quand est-ce qu’il faut décider? Option jaune + bleu ??? Option bleu ??? DecNov Stockage Magasin Oct Production DVD Serveurs AoûtMars On est ici! Design et test (2M)
  • 32. Quand est-ce qu’il faut décider? Option jaune + bleu ??? Option bleu ??? DecNov Stockage Magasin Oct Production DVD Serveurs SeptMars On est ici! Design et test (1M)
  • 33. L’avantage de réduire le temps de cycle • On peut décider encore un mois plus tard • On a un mois de plus pour implémenter la fonctionnalité • Un redesign jaune -> bleu ne coûte plus qu’un mois au lieu de deux • Rendez-vous pour la décision: 1er septembre
  • 34. Comparons les options Option Coût Prix Valeur Expiration Jaune + Bleu 1 semaine de refactoring + 2h de suivi / 2 semaines Redesign en bleu (1 mois) Cost of Delay == 0 01/09/20XX Bleu 1 semaine de refactoring + 2h de suivi / 2 semaines / Design consistent 01/09/20XX
  • 35. 3. Real Options Optimal Decision Process Option Implement er Option Option Décisions Deadline http://commitment-thebook.com/
  • 36. Retro • 1 septembre: le design bleu n’est pas stable (ce n’était pas une surprise). On utilise le design jaune • Projet livré à temps • “Ce projet était beaucoup moins stressant que les précédents” • Fonctionnalité: • Design:
  • 37. Et ils vécurent heureux à tout jamais
  • 38. Encore une petite histoire?
  • 39. Le projet (2) http://www.flickr.com/photos/seeminglee/8276505285 p.s. La banque n’est pas HSBC http://en.wikipedia.org/wiki/File:Rack001.jpg Internet Banking Internet Banking servers
  • 40. Votre mission, si vous l’acceptez... • On lance notre service online banking le DD/MM/YYYY • Société X va développer l’application web • Vous devez livrer l’application serveur à temps • Petits détails... • On est en train de décider sur quelle plateforme • On est en train de la documenter la DB que vous devez utiliser • On est en train de rédiger le cahier des charges • “Mais commencez déjà à développer, car on n’a pas beaucoup de temps!” • Accepteriez vous cette mission?
  • 41. Notre problème Plateforme A Implementer Plateforme B Decision On est ici! Pas assez de temps
  • 42. Notre solution • Si on n’a pas assez de temps pour implémenter plateforme A OU plateforme B • On va implémenter plateforme A ET B • C’est logique... En Belgique 
  • 43. Notre solution Implémenter Plateforme A Finir implementation de la plateforme choisie Implémenter Plateforme B Decision On est ici!
  • 44. Set-based development APP API A Server B Server Test Server 3 implementations en parallèle : •Plateforme A •Plateforme B •Environnement de développement et test
  • 45. Retro • Décision: plateforme A • Implémentation A est allée en production à temps • Implémentation dev/test continue à être utilisée pendant le développement • Implémentation B na servi à rien • A suivre...
  • 46. Et ils vécurent... Ce n’est pas encore fini
  • 47. EDITEUR B BOUFFE EDITEUR A L'analyse par les Options Réelles est une technique qui permet de prendre des décisions sur les décisions. C'est cool, c'est meta. Mais quel est l'intérêt pour l'équipe au quotidien ? Vous prenez plein de décisions chaque jour comme développeur ou architecte. Des décisions qui peuvent couter cher. Les Options Réelles ne sont pas très compliquées, cela s'explique en quelques minutes. Mais en appliquant les Options Réelles sur les projets informatiques et sur l'architecture des logiciels j'ai découvert que plein de choses que je croyais vraies ou qui me semblaient intuitivement correctes étaient fausses. J'illustre chaque technique avec des exemples qui viennent de projets auxquels j'ai participé les dernières années, ou bien de la vie de tous les jours. Découvrez une autre façon de voir les décisions, des techniques simples pour gérer des projets ou définir une architecture de logiciel. Vous découvrirez peut-être que vous aussi croyez des choses qui sont fausses. Au minimum vous entendrez quelques histoires belges... :-) CELEBRITY NEWS AND GOSSIP WORLD EXCLUSIVES LE NIOUZE Redesign de tous les sites! Le “vieux” design jaune sera remplacé par un design bleu cool, fresh et clair Template: www.presentationmagazine.com
  • 48. Un peu plus tard • Editeur de plateforme B envoit une lettre à la banque: “Bonne nouvelle! Nous venons d’acquérir la plateforme A. Tout développement sur cette plateforme est arrêté. Le support sera arrêté bientôt. Veuillez migrer vers la plateforme B.” • Facile! A B B C
  • 49. Et ils vécurent heureux
  • 51. Mais c’est logique, capitaine!
  • 52. Ce n’est que du bon sens!
  • 53.
  • 55. Sunk Cost(*) fallacy (*) coûts irrécupérables, coûts échoués • Tout ce qui est déjà investi est perdu • On ne devrait pas en tenir compte pour décider si on continue • Mais on accorde beaucoup de valeur à l’argent (et le temps) déjà investi • Solution: regarder les “deltas” de valeur et coût • “Marginal Economics” (Reinertsen, Flow) • Aussi: “Emotional Sunk Cost”
  • 56. On ne sait pas estimer • On a du mal avec des chiffres absolus • On utilise des estimations relatives pour prendre des décisions • On surestime les coûts vs. bénéfice • Une fois qu’on a décidé on a peur de perdre ce qu’on a • On surestime la valeur de ce qu’on a • Pour confirmer qu’on a fait un bon choix • On surestime la valeur dans le présent vs le futur • => Décisions qui favorisent le court terme
  • 57. L’embarras du choix • Quand il y a beaucoup de choix on bloque • Plus de choix, plus de chance de se tromper • Quand on a beaucoup d’options on perd de vue le but • On passe tout son temps à la “chasse aux options” • Ne créez pas des solutions « génériques »
  • 59. On n’aime pas l’incertitude • Surtout en moments de stress • Ces outils m’aident à rester calme • Au lieu de décider on établit un plan pour décider: • Quand on prend quelles décisions • Comment on va prendre les décisions • Sur base de quelles données • Qui est impliqué • => On prend ces décisions rapidement et surement • Mon outil préféré pour gérer mes Real Options: mon calendrier
  • 60. Comment est-ce vous avez survécu aussi longtemps?
  • 61. 6. On n’est pas rationnels, mais on peut faire semblant
  • 63. Le projet (3) http://www.flickr.com/photos/caseorganic/3216853440 http://www.flickr.com/photos/danielfoster/4725849931 EDI Vendeurs Fabricants
  • 65. Les problèmes de nos clients • Ceux qui veulent utiliser la plateforme doivent connecter leurs systèmes et implémenter 1 API • Et puis nous configurons/customisons la plateforme • Pour les vendeurs et fabricants de cette industrie c’est un “grand projet” • Les vendeurs et fabricants ne tiennent pas leur planning • Donc notre planning de customisation ne sert à rien • Une intégration dure longtemps, donc retour sur investissement tardif
  • 66. Et si c’était notre problème? • Si chaque flux est indépendant, chaque intégration est un petit projet • Si on peut customiser rapidement un flux pour un client, on n’a plus besoin du planning du client • Si on peut mettre les customisations rapidement en production, le client a un retour sur investissement rapide et incrémental
  • 68. La situation (après) - Technique EDI Vendeurs IMPL Fabricants IMPL IMPL IMPL IMPL IMPL IMPL IMPL IMPL
  • 69. La situation (après) • Chaque flux est un composant indépendant. Mais si le client en a implémenté plus qu’un ils coopèrent. • Par exemple: il y a un flux pour les données catalogue et un flux pour les commandes qui sont indépendants. Si on a les deux, le composant “catalogue” peut faire des validations et augmentations pendant la commande • On est passé d’une architecture “pipe et filter” vers “blackboard” • On avait déjà un système continuous delivery
  • 70. La situation (après) - clients • Le client a l’option de faire une intégration incrémentale • Dans l’ordre qu’il veut • Le client ne doit plus nous donner de planning, ils annoncent quand un flux est prêt • On customise, test et met en production immédiatement • Le client reçoit de la valeur avec chaque flux • => La plateforme devient plus facile à vendre
  • 71. C’est quoi l’architecture? “L’architecture c’est les décisions qui sont difficiles à changer et qu’il faut prendre au début du projet” Pour des décisions difficiles à changer • Ou bien on rend la décision facile à changer • Ou bien on retarde le point de décision Je suis prêt à payer pour des options qui ont de la valeur • “Oui mais... Il y a des choses qu’on ne peut pas changer”
  • 72. Hola Hop, Barbatruc EDIVendeurs Fabricants “Et si on changait de plateforme et langage? Sans arreter le système, bien sur!” “Impossible!” Gestion
  • 73. Changer de plateforme et de langage • D’abord des prototypes pour apprendre • Puis on aborde la partie avec le moins de risque client • On garde et maintient l’ancien composant pendant la transition • On peut toujours revenir un (petit) pas en arrière • Déploiement continu et développement incrémental réduisent la complexité et le risque
  • 75. Le projet (4) • Projet avec deadline dur: loi change le 01/01/YYYY • Le système actuel n’est pas compatible • On développe un nouveau système compatible • Qu’est-ce qui se passe si on livre en retard? • On n’a pas voulu dépenser < 1000€ pour créer une option “backup” • “Combien ça coûte pour adapter le système actuel?” • “Failure is not an option” • Le système est livré en retard • Chaque mois d’indisponibilité: X00,000€ par mois
  • 77. Quelle est la valeur ajoutée pour le client de votre architecture et votre processus?
  • 78. Techniques utiles (1) • Cost of Delay: • Quel est l’effet d’une livraison retardée ou avancée? • Creative Process: • Générer des options, puis sélectionner les options • Options: • Cout, valeur, prix, date/condition d’expiration • Optimal Decision Process: • Moment de décision = deadline – temps d’implémentation
  • 79. Techniques utiles (2) • Variation Separation: • Séparez les éléments qui varient à des vitesses différentes • Set-based design: • Faire la même chose de 3 façons peut être moins cher qu’une • Sunk Cost Fallacy: • Oubliez combien vous avez déjà investi • Créez des options pour vos clients
  • 81. Principe du bon moment Décision facile à changer: décidez tôt Décision difficile à changer: • Rendez la plus facile à changer • Décidez le plus tard possible
  • 82. Principe de l’effort minimal Ne faites pas le travail de demain aujourd’hui (YAGNI) ET Ne faites rien aujourd’hui qui entrave le travail de demain “Le principe du fainéant”
  • 83. Une bonne architecture... Une bonne architecture crée des options pour votre équipe, votre organisation et vos clients Créer et maintenir les options ce fait tous les jours, à petits pas Sinon, vous créez des systèmes legacy qui ont de moins en moins options
  • 84. “Dans chaque mauvaise décision, il se cache une bonne décision” Donald Reinertsen
  • 85. MERCI ! • Si vous voulez en savoir plus... pascal@nayima.be http://blog.nayima.be
  • 86.