Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
1OCTO TECHNOLOGY > THERE IS A BETTER WAY
Développement artisanal d’un
logiciel en 20 itérations
@abel_ndre & @damienbeaufi...
2OCTO TECHNOLOGY > THERE IS A BETTER WAY
QUI SOMMES-NOUS ?
@abel_ndre
Développeur
@damienbeaufils
Développeur
@abel_ndre &...
3OCTO TECHNOLOGY > THERE IS A BETTER WAY
Savoir comment mieux aborder un
projet de développement
OBJECTIF
@abel_ndre & @da...
4OCTO TECHNOLOGY > THERE IS A BETTER WAY
CONTEXTE
@abel_ndre & @damienbeaufils
☉ Refonte d’une billetterie sportive en lig...
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é”...
14OCTO TECHNOLOGY > THERE IS A BETTER WAY
SOLUTION : RÉPONDRE AUX INQUIÉTUDES
☉ Observer et mesurer
> Non-couverture de co...
>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 cadra...
18OCTO TECHNOLOGY > THERE IS A BETTER WAY
DES INDICATEURS MOROSES
☉ Points de fonctionnalité
réalisés dans les itérations ...
19OCTO TECHNOLOGY > THERE IS A BETTER WAY
DETTE DU SYSTÈME D’INFORMATION
Les données fournies par le partenaire
sont incom...
20OCTO TECHNOLOGY > THERE IS A BETTER WAY
SOLUTION : REPENSER L’APPROCHE TECHNIQUE
☉ Prendre du recul
> Penser en termes
d...
>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 livr...
24OCTO TECHNOLOGY > THERE IS A BETTER WAY
LES PROJECTIONS SONT CATASTROPHIQUES
Le planning initial est
impossible à tenir
...
25OCTO TECHNOLOGY > THERE IS A BETTER WAY
SOLUTION : CHALLENGER LE METIER
☉ Prendre du recul sur le
métier pour prioriser
...
26OCTO TECHNOLOGY > THERE IS A BETTER WAY
AUGMENTATION DE LA DETTE TECHNIQUE
Le code est trop complexe à
cause de l’accumu...
27OCTO TECHNOLOGY > THERE IS A BETTER WAY
SOLUTION : GÉRER LA DETTE AU QUOTIDIEN
☉ Dette tactique vs. Dette endémique
☉ Ma...
>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 pend...
31OCTO TECHNOLOGY > THERE IS A BETTER WAY
OUVERTURE AU PUBLIC : EN PRATIQUE
☉ Certains bugs n’apparaissent qu’en productio...
32OCTO TECHNOLOGY > THERE IS A BETTER WAY
OUVERTURE AU PUBLIC : OBJECTIF ATTEINT !
☉ Aucune interruption de service
☉ 6 fo...
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 ...
36OCTO TECHNOLOGY > THERE IS A BETTER WAY
EN TANT QU'ÉQUIPE DE DEV
☉ Proposer des alternatives au Métier
☉ Maîtriser la de...
37OCTO TECHNOLOGY > THERE IS A BETTER WAY
CONCLUSION
@abel_ndre
Un projet est en succès lorsque
l’équipe est résiliente.
U...
Prochain SlideShare
Chargement dans…5
×

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

430 vues

Publié le

Retour d'expérience d'un projet de refonte d'une billetterie en ligne sur dix mois.
L'enjeu attendu était les performances du back-end pour tenir la charge lors de l'ouverture des ventes.
L'enjeu réel a été de maintenir la base de code aussi bien back-end que front-end au fil des itérations.

Une équipe composée d'un Tech Lead et de quatre développeurs a réussi à livrer un produit maintenable en plus d'être bien conçu.

Après une brève présentation de l'architecture et des technologies utilisées, nous vous présenterons la méthodologie mise en place de l'itération 0 à l'itération 20. Nous vous expliquerons en quoi Software Craftsmanship est une extension naturelle des méthodologies agiles, et ce que les pratiques ont apporté à l'équipe de développement, au métier et à la DSI.

Publié dans : Logiciels
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

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

  1. 1. 1OCTO TECHNOLOGY > THERE IS A BETTER WAY Développement artisanal d’un logiciel en 20 itérations @abel_ndre & @damienbeaufils
  2. 2. 2OCTO TECHNOLOGY > THERE IS A BETTER WAY QUI SOMMES-NOUS ? @abel_ndre Développeur @damienbeaufils Développeur @abel_ndre & @damienbeaufils
  3. 3. 3OCTO TECHNOLOGY > THERE IS A BETTER WAY Savoir comment mieux aborder un projet de développement OBJECTIF @abel_ndre & @damienbeaufils
  4. 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. 5. 5OCTO TECHNOLOGY > THERE IS A BETTER WAY ARCHITECTURE CIBLE @abel_ndre & @damienbeaufils
  6. 6. 6OCTO TECHNOLOGY > THERE IS A BETTER WAY VÉLOCITÉ PAR ITÉRATION @abel_ndre & @damienbeaufils
  7. 7. 7OCTO TECHNOLOGY > THERE IS A BETTER WAY 4 GRANDES PHASES @abel_ndre & @damienbeaufils 1 2 3 4
  8. 8. >01 DÉMARRAGE
  9. 9. 9OCTO TECHNOLOGY > THERE IS A BETTER WAY DÉMARRAGE @abel_ndre & @damienbeaufils 1
  10. 10. 10OCTO TECHNOLOGY > THERE IS A BETTER WAY AU FAIT, QUELQU’UN CONNAIT LA TECHNO ? @abel_ndre & @damienbeaufils
  11. 11. 11OCTO TECHNOLOGY > THERE IS A BETTER WAY STRATÉGIE DE TESTS AUTOMATISÉS @abel_ndre & @damienbeaufils (2009) Mike Cohn
  12. 12. 12OCTO TECHNOLOGY > THERE IS A BETTER WAY TEST DRIVEN DEVELOPMENT @abel_ndre & @damienbeaufils
  13. 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. 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. 15. >02 DÉCOLLAGE… ET DÉCROCHAGE
  16. 16. 16OCTO TECHNOLOGY > THERE IS A BETTER WAY DÉCOLLAGE… ET DÉCROCHAGE @abel_ndre & @damienbeaufils 2
  17. 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. 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. 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. 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
  21. 21. >03 VITESSE FLUCTUANTE
  22. 22. 22OCTO TECHNOLOGY > THERE IS A BETTER WAY VITESSE FLUCTUANTE @abel_ndre & @damienbeaufils 3
  23. 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. 24. 24OCTO TECHNOLOGY > THERE IS A BETTER WAY LES PROJECTIONS SONT CATASTROPHIQUES Le planning initial est impossible à tenir @abel_ndre & @damienbeaufils
  25. 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. 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. 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. 28. >04 VITESSE DE CROISIÈRE
  29. 29. 29OCTO TECHNOLOGY > THERE IS A BETTER WAY VITESSE DE CROISIÈRE @abel_ndre & @damienbeaufils 4
  30. 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. 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. 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. 33. 33OCTO TECHNOLOGY > THERE IS A BETTER WAY RÉSILIENCE @abel_ndre & @damienbeaufils TECH LEAD DEV 3 DEV 4 DEV 1 DEV 2
  34. 34. >05 TAKE AWAY
  35. 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. 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. 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

×