SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
1OCTO TECHNOLOGY > THERE IS A BETTER WAY
Développement artisanal d’un
logiciel en 20 itérations
@abel_ndre & @damienbeaufils
2OCTO TECHNOLOGY > THERE IS A BETTER WAY
QUI SOMMES-NOUS ?
@abel_ndre
Développeur
@damienbeaufils
Développeur
@abel_ndre & @damienbeaufils
3OCTO TECHNOLOGY > THERE IS A BETTER WAY
Savoir comment mieux aborder un
projet de développement
OBJECTIF
@abel_ndre & @damienbeaufils
4OCTO TECHNOLOGY > THERE IS A BETTER WAY
CONTEXTE
@abel_ndre & @damienbeaufils
☉ Refonte d’une billetterie sportive en ligne
☉ Enjeux principaux
> Expérience utilisateur
> Performance & disponibilité
> Maintenabilité & évolutivité
☉ Premier projet en agile pour le client
5OCTO TECHNOLOGY > THERE IS A BETTER WAY
ARCHITECTURE CIBLE
@abel_ndre & @damienbeaufils
6OCTO TECHNOLOGY > THERE IS A BETTER WAY
VÉLOCITÉ PAR ITÉRATION
@abel_ndre & @damienbeaufils
7OCTO TECHNOLOGY > THERE IS A BETTER WAY
4 GRANDES PHASES
@abel_ndre & @damienbeaufils
1
2
3
4
>01 DÉMARRAGE
9OCTO TECHNOLOGY > THERE IS A BETTER WAY
DÉMARRAGE
@abel_ndre & @damienbeaufils
1
10OCTO TECHNOLOGY > THERE IS A BETTER WAY
AU FAIT, QUELQU’UN CONNAIT LA TECHNO ?
@abel_ndre & @damienbeaufils
11OCTO TECHNOLOGY > THERE IS A BETTER WAY
STRATÉGIE DE TESTS AUTOMATISÉS
@abel_ndre & @damienbeaufils
(2009) Mike Cohn
12OCTO TECHNOLOGY > THERE IS A BETTER WAY
TEST DRIVEN DEVELOPMENT
@abel_ndre & @damienbeaufils
13OCTO TECHNOLOGY > THERE IS A BETTER WAY
PREMIER RESSENTI DU CLIENT
“J’ai l’impression que vous
faites de la sur-qualité”
@abel_ndre & @damienbeaufils
14OCTO TECHNOLOGY > THERE IS A BETTER WAY
SOLUTION : RÉPONDRE AUX INQUIÉTUDES
☉ Observer et mesurer
> Non-couverture de code
> Duplication de code
> Fiabilité des livraisons
☉ Présenter ces mesures à
chaque démonstration
@abel_ndre & @damienbeaufils
>02 DÉCOLLAGE… ET DÉCROCHAGE
16OCTO TECHNOLOGY > THERE IS A BETTER WAY
DÉCOLLAGE… ET DÉCROCHAGE
@abel_ndre & @damienbeaufils
2
17OCTO TECHNOLOGY > THERE IS A BETTER WAY
☉ Le cadrage dit ce qu’il faut
faire mais ne dit pas
comment le faire
☉ Le cadrage ne précise rien
sur le volume du code ni la
qualité de l’outillage
LES DANGERS DU CADRAGE
“Il y aura juste un peu de JavaScript pour
dynamiser l’UI et faire joli”
@abel_ndre & @damienbeaufils
18OCTO TECHNOLOGY > THERE IS A BETTER WAY
DES INDICATEURS MOROSES
☉ Points de fonctionnalité
réalisés dans les itérations 7 &
8 : le tiers de l’attendu
> Arrivée d’un nouveau
développeur dans l’équipe
> En fait, nous devons créer
une Single Page Application
pour le tunnel de vente
@abel_ndre & @damienbeaufils
19OCTO TECHNOLOGY > THERE IS A BETTER WAY
DETTE DU SYSTÈME D’INFORMATION
Les données fournies par le partenaire
sont incomplètes
@abel_ndre & @damienbeaufils
20OCTO TECHNOLOGY > THERE IS A BETTER WAY
SOLUTION : REPENSER L’APPROCHE TECHNIQUE
☉ Prendre du recul
> Penser en termes
d’architecture de Système
d’Information
> Remettre en question
l’architecture cible
> Atelier de conception du
modèle de données avec
le Métier
@abel_ndre & @damienbeaufils
>03 VITESSE FLUCTUANTE
22OCTO TECHNOLOGY > THERE IS A BETTER WAY
VITESSE FLUCTUANTE
@abel_ndre & @damienbeaufils
3
23OCTO TECHNOLOGY > THERE IS A BETTER WAY
NOUS SOMMES AUTONOMES
☉ Nous organisons nos
rituels
☉ Fix > Rollback
☉ Nous livrons de la valeur à
chaque itération
☉ Points de fonctionnalité
réalisés dans les itérations
11 & 12 : le double de
l’attendu
@abel_ndre & @damienbeaufils
24OCTO TECHNOLOGY > THERE IS A BETTER WAY
LES PROJECTIONS SONT CATASTROPHIQUES
Le planning initial est
impossible à tenir
@abel_ndre & @damienbeaufils
25OCTO TECHNOLOGY > THERE IS A BETTER WAY
SOLUTION : CHALLENGER LE METIER
☉ Prendre du recul sur le
métier pour prioriser
> Ne pas refondre à
l’identique
> Enlever ce qui n’est pas
vital au business
> Proposer d’autres
implémentations au
Métier
@abel_ndre & @damienbeaufils
26OCTO TECHNOLOGY > THERE IS A BETTER WAY
AUGMENTATION DE LA DETTE TECHNIQUE
Le code est trop complexe à
cause de l’accumulation
des fonctionnalités
@abel_ndre & @damienbeaufils
27OCTO TECHNOLOGY > THERE IS A BETTER WAY
SOLUTION : GÉRER LA DETTE AU QUOTIDIEN
☉ Dette tactique vs. Dette endémique
☉ Maintenir un backlog de dette
> Dépiler quotidiennement
☉ Itération de "remboursement" opportuniste
> Expérimentation du mob programming
@abel_ndre & @damienbeaufils
>04 VITESSE DE CROISIÈRE
29OCTO TECHNOLOGY > THERE IS A BETTER WAY
VITESSE DE CROISIÈRE
@abel_ndre & @damienbeaufils
4
30OCTO TECHNOLOGY > THERE IS A BETTER WAY
OUVERTURE AU PUBLIC : EN THÉORIE
“ Là on livre, et on ne touche plus
à rien pendant 3 mois ”
@abel_ndre & @damienbeaufils
31OCTO TECHNOLOGY > THERE IS A BETTER WAY
OUVERTURE AU PUBLIC : EN PRATIQUE
☉ Certains bugs n’apparaissent qu’en production
☉ Les feedbacks des utilisateurs sont cruciaux
☉ Il faut livrer jusqu’à 3 fois par semaine
@abel_ndre & @damienbeaufils
32OCTO TECHNOLOGY > THERE IS A BETTER WAY
OUVERTURE AU PUBLIC : OBJECTIF ATTEINT !
☉ Aucune interruption de service
☉ 6 fois moins de serveurs
☉ 2 fois plus de commandes que l’an passé
☉ C.A. liés aux ventes en hausse
@abel_ndre & @damienbeaufils
33OCTO TECHNOLOGY > THERE IS A BETTER WAY
RÉSILIENCE
@abel_ndre & @damienbeaufils
TECH LEAD
DEV 3
DEV 4
DEV 1
DEV 2
>05 TAKE AWAY
35OCTO TECHNOLOGY > THERE IS A BETTER WAY
EN TANT QU'ÉQUIPE DE DEV
☉ Mesurer la qualité et être transparent
☉ Définir une stratégie de tests automatisés
☉ Pratiquer la revue de code et le pair programming
☉ Concevoir le modèle de données avec le Métier
@abel_ndre & @damienbeaufils
36OCTO TECHNOLOGY > THERE IS A BETTER WAY
EN TANT QU'ÉQUIPE DE DEV
☉ Proposer des alternatives au Métier
☉ Maîtriser la dette technique au quotidien
☉ Rechercher le feedback des utilisateurs
☉ Se préparer à livrer le plus fréquemment possible
@abel_ndre & @damienbeaufils
37OCTO TECHNOLOGY > THERE IS A BETTER WAY
CONCLUSION
@abel_ndre
Un projet est en succès lorsque
l’équipe est résiliente.
Une équipe est résiliente
grâce à ses pratiques et sa
communication.
@damienbeaufils

Contenu connexe

Similaire à Développement artisanal d'un logiciel en 20 itérations - Paris Web 2016

XebiCon'18 - Data Science Done Wrong
XebiCon'18 - Data Science Done WrongXebiCon'18 - Data Science Done Wrong
XebiCon'18 - Data Science Done Wrong
Publicis Sapient Engineering
 

Similaire à Développement artisanal d'un logiciel en 20 itérations - Paris Web 2016 (20)

Chatbots buzzword ou nouvel eldorado
Chatbots   buzzword ou nouvel eldoradoChatbots   buzzword ou nouvel eldorado
Chatbots buzzword ou nouvel eldorado
 
La Duck Conf - Les fakes news du low-code
La Duck Conf - Les fakes news du low-code La Duck Conf - Les fakes news du low-code
La Duck Conf - Les fakes news du low-code
 
Afterwork OCTO Delivery - L'ADN d'un développement produit réussi
Afterwork OCTO Delivery - L'ADN d'un développement produit réussiAfterwork OCTO Delivery - L'ADN d'un développement produit réussi
Afterwork OCTO Delivery - L'ADN d'un développement produit réussi
 
L'ADN d'un développement produit réussi
L'ADN d'un développement produit réussiL'ADN d'un développement produit réussi
L'ADN d'un développement produit réussi
 
Êtes-vous API dans votre organisation ?
Êtes-vous API dans votre organisation ?Êtes-vous API dans votre organisation ?
Êtes-vous API dans votre organisation ?
 
Meetup sdn paris #4
Meetup sdn paris #4Meetup sdn paris #4
Meetup sdn paris #4
 
Culture flow pour l'IT
Culture flow pour l'ITCulture flow pour l'IT
Culture flow pour l'IT
 
Crash Test Your Idea Meetup Valtech 13/09/2016
Crash Test Your Idea Meetup Valtech 13/09/2016Crash Test Your Idea Meetup Valtech 13/09/2016
Crash Test Your Idea Meetup Valtech 13/09/2016
 
La Duck Conf - CovidTracker, la data au service de tous
La Duck Conf - CovidTracker, la data au service de tousLa Duck Conf - CovidTracker, la data au service de tous
La Duck Conf - CovidTracker, la data au service de tous
 
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolutionLA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
 
SPA avec SignalR et Angular Js
SPA avec SignalR et Angular JsSPA avec SignalR et Angular Js
SPA avec SignalR et Angular Js
 
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 ?
 
Oeil user story_bonnes_pratiques_Martial_SEGURA oeildecoach.com
Oeil user story_bonnes_pratiques_Martial_SEGURA oeildecoach.comOeil user story_bonnes_pratiques_Martial_SEGURA oeildecoach.com
Oeil user story_bonnes_pratiques_Martial_SEGURA oeildecoach.com
 
Radical Quality From Toyota to Tech - Devoxx France.pptx
Radical Quality From Toyota to Tech - Devoxx France.pptxRadical Quality From Toyota to Tech - Devoxx France.pptx
Radical Quality From Toyota to Tech - Devoxx France.pptx
 
Du craft chez les OPS
Du craft chez les OPSDu craft chez les OPS
Du craft chez les OPS
 
Happy dev ... & ops
Happy dev ... & opsHappy dev ... & ops
Happy dev ... & ops
 
Le Bootstrapping : Ou comment monter un MVP fonctionnel en quelques heures - ...
Le Bootstrapping : Ou comment monter un MVP fonctionnel en quelques heures - ...Le Bootstrapping : Ou comment monter un MVP fonctionnel en quelques heures - ...
Le Bootstrapping : Ou comment monter un MVP fonctionnel en quelques heures - ...
 
Développer ou debugger ?
Développer ou debugger ? Développer ou debugger ?
Développer ou debugger ?
 
Le DevOps : La clé de la transformation digitale ?
Le DevOps : La clé de la transformation digitale ?Le DevOps : La clé de la transformation digitale ?
Le DevOps : La clé de la transformation digitale ?
 
XebiCon'18 - Data Science Done Wrong
XebiCon'18 - Data Science Done WrongXebiCon'18 - Data Science Done Wrong
XebiCon'18 - Data Science Done Wrong
 

Développement artisanal d'un logiciel en 20 itérations - Paris Web 2016

  • 1. 1OCTO TECHNOLOGY > THERE IS A BETTER WAY Développement artisanal d’un logiciel en 20 itérations @abel_ndre & @damienbeaufils
  • 2. 2OCTO TECHNOLOGY > THERE IS A BETTER WAY QUI SOMMES-NOUS ? @abel_ndre Développeur @damienbeaufils Développeur @abel_ndre & @damienbeaufils
  • 3. 3OCTO TECHNOLOGY > THERE IS A BETTER WAY Savoir comment mieux aborder un projet de développement OBJECTIF @abel_ndre & @damienbeaufils
  • 4. 4OCTO TECHNOLOGY > THERE IS A BETTER WAY CONTEXTE @abel_ndre & @damienbeaufils ☉ Refonte d’une billetterie sportive en ligne ☉ Enjeux principaux > Expérience utilisateur > Performance & disponibilité > Maintenabilité & évolutivité ☉ Premier projet en agile pour le client
  • 5. 5OCTO TECHNOLOGY > THERE IS A BETTER WAY ARCHITECTURE CIBLE @abel_ndre & @damienbeaufils
  • 6. 6OCTO TECHNOLOGY > THERE IS A BETTER WAY VÉLOCITÉ PAR ITÉRATION @abel_ndre & @damienbeaufils
  • 7. 7OCTO TECHNOLOGY > THERE IS A BETTER WAY 4 GRANDES PHASES @abel_ndre & @damienbeaufils 1 2 3 4
  • 9. 9OCTO TECHNOLOGY > THERE IS A BETTER WAY DÉMARRAGE @abel_ndre & @damienbeaufils 1
  • 10. 10OCTO TECHNOLOGY > THERE IS A BETTER WAY AU FAIT, QUELQU’UN CONNAIT LA TECHNO ? @abel_ndre & @damienbeaufils
  • 11. 11OCTO TECHNOLOGY > THERE IS A BETTER WAY STRATÉGIE DE TESTS AUTOMATISÉS @abel_ndre & @damienbeaufils (2009) Mike Cohn
  • 12. 12OCTO TECHNOLOGY > THERE IS A BETTER WAY TEST DRIVEN DEVELOPMENT @abel_ndre & @damienbeaufils
  • 13. 13OCTO TECHNOLOGY > THERE IS A BETTER WAY PREMIER RESSENTI DU CLIENT “J’ai l’impression que vous faites de la sur-qualité” @abel_ndre & @damienbeaufils
  • 14. 14OCTO TECHNOLOGY > THERE IS A BETTER WAY SOLUTION : RÉPONDRE AUX INQUIÉTUDES ☉ Observer et mesurer > Non-couverture de code > Duplication de code > Fiabilité des livraisons ☉ Présenter ces mesures à chaque démonstration @abel_ndre & @damienbeaufils
  • 15. >02 DÉCOLLAGE… ET DÉCROCHAGE
  • 16. 16OCTO TECHNOLOGY > THERE IS A BETTER WAY DÉCOLLAGE… ET DÉCROCHAGE @abel_ndre & @damienbeaufils 2
  • 17. 17OCTO TECHNOLOGY > THERE IS A BETTER WAY ☉ Le cadrage dit ce qu’il faut faire mais ne dit pas comment le faire ☉ Le cadrage ne précise rien sur le volume du code ni la qualité de l’outillage LES DANGERS DU CADRAGE “Il y aura juste un peu de JavaScript pour dynamiser l’UI et faire joli” @abel_ndre & @damienbeaufils
  • 18. 18OCTO TECHNOLOGY > THERE IS A BETTER WAY DES INDICATEURS MOROSES ☉ Points de fonctionnalité réalisés dans les itérations 7 & 8 : le tiers de l’attendu > Arrivée d’un nouveau développeur dans l’équipe > En fait, nous devons créer une Single Page Application pour le tunnel de vente @abel_ndre & @damienbeaufils
  • 19. 19OCTO TECHNOLOGY > THERE IS A BETTER WAY DETTE DU SYSTÈME D’INFORMATION Les données fournies par le partenaire sont incomplètes @abel_ndre & @damienbeaufils
  • 20. 20OCTO TECHNOLOGY > THERE IS A BETTER WAY SOLUTION : REPENSER L’APPROCHE TECHNIQUE ☉ Prendre du recul > Penser en termes d’architecture de Système d’Information > Remettre en question l’architecture cible > Atelier de conception du modèle de données avec le Métier @abel_ndre & @damienbeaufils
  • 22. 22OCTO TECHNOLOGY > THERE IS A BETTER WAY VITESSE FLUCTUANTE @abel_ndre & @damienbeaufils 3
  • 23. 23OCTO TECHNOLOGY > THERE IS A BETTER WAY NOUS SOMMES AUTONOMES ☉ Nous organisons nos rituels ☉ Fix > Rollback ☉ Nous livrons de la valeur à chaque itération ☉ Points de fonctionnalité réalisés dans les itérations 11 & 12 : le double de l’attendu @abel_ndre & @damienbeaufils
  • 24. 24OCTO TECHNOLOGY > THERE IS A BETTER WAY LES PROJECTIONS SONT CATASTROPHIQUES Le planning initial est impossible à tenir @abel_ndre & @damienbeaufils
  • 25. 25OCTO TECHNOLOGY > THERE IS A BETTER WAY SOLUTION : CHALLENGER LE METIER ☉ Prendre du recul sur le métier pour prioriser > Ne pas refondre à l’identique > Enlever ce qui n’est pas vital au business > Proposer d’autres implémentations au Métier @abel_ndre & @damienbeaufils
  • 26. 26OCTO TECHNOLOGY > THERE IS A BETTER WAY AUGMENTATION DE LA DETTE TECHNIQUE Le code est trop complexe à cause de l’accumulation des fonctionnalités @abel_ndre & @damienbeaufils
  • 27. 27OCTO TECHNOLOGY > THERE IS A BETTER WAY SOLUTION : GÉRER LA DETTE AU QUOTIDIEN ☉ Dette tactique vs. Dette endémique ☉ Maintenir un backlog de dette > Dépiler quotidiennement ☉ Itération de "remboursement" opportuniste > Expérimentation du mob programming @abel_ndre & @damienbeaufils
  • 28. >04 VITESSE DE CROISIÈRE
  • 29. 29OCTO TECHNOLOGY > THERE IS A BETTER WAY VITESSE DE CROISIÈRE @abel_ndre & @damienbeaufils 4
  • 30. 30OCTO TECHNOLOGY > THERE IS A BETTER WAY OUVERTURE AU PUBLIC : EN THÉORIE “ Là on livre, et on ne touche plus à rien pendant 3 mois ” @abel_ndre & @damienbeaufils
  • 31. 31OCTO TECHNOLOGY > THERE IS A BETTER WAY OUVERTURE AU PUBLIC : EN PRATIQUE ☉ Certains bugs n’apparaissent qu’en production ☉ Les feedbacks des utilisateurs sont cruciaux ☉ Il faut livrer jusqu’à 3 fois par semaine @abel_ndre & @damienbeaufils
  • 32. 32OCTO TECHNOLOGY > THERE IS A BETTER WAY OUVERTURE AU PUBLIC : OBJECTIF ATTEINT ! ☉ Aucune interruption de service ☉ 6 fois moins de serveurs ☉ 2 fois plus de commandes que l’an passé ☉ C.A. liés aux ventes en hausse @abel_ndre & @damienbeaufils
  • 33. 33OCTO TECHNOLOGY > THERE IS A BETTER WAY RÉSILIENCE @abel_ndre & @damienbeaufils TECH LEAD DEV 3 DEV 4 DEV 1 DEV 2
  • 35. 35OCTO TECHNOLOGY > THERE IS A BETTER WAY EN TANT QU'ÉQUIPE DE DEV ☉ Mesurer la qualité et être transparent ☉ Définir une stratégie de tests automatisés ☉ Pratiquer la revue de code et le pair programming ☉ Concevoir le modèle de données avec le Métier @abel_ndre & @damienbeaufils
  • 36. 36OCTO TECHNOLOGY > THERE IS A BETTER WAY EN TANT QU'ÉQUIPE DE DEV ☉ Proposer des alternatives au Métier ☉ Maîtriser la dette technique au quotidien ☉ Rechercher le feedback des utilisateurs ☉ Se préparer à livrer le plus fréquemment possible @abel_ndre & @damienbeaufils
  • 37. 37OCTO TECHNOLOGY > THERE IS A BETTER WAY CONCLUSION @abel_ndre Un projet est en succès lorsque l’équipe est résiliente. Une équipe est résiliente grâce à ses pratiques et sa communication. @damienbeaufils