Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A CTO Always pays his debts - Devoxx France 2018

A CTO Always pays his debts - Devoxx France 2018

Presentation about technical debt at www.videdressing.com and how we prioritized our tech refactoring project jointly with product management team using business criteria.
Presentation held at Paris for the "Devoxx France" 2018 conference.

Hervé LOURDIN

April 20, 2018
Tweet

More Decks by Hervé LOURDIN

Other Decks in Technology

Transcript

  1. "UN CTO PAIE TOUJOURS SES DETTES." A Story of a

    Technical Refactoring led the Lean way with Product Mangement ! : @HERVELOURDIN - [email protected]
  2. ▸ CTO & Co-CEO chez Videdressing ▸ Adepte et praticien

    Lean, Agiliste pragmatique ▸ Team Builder ▸ Ex Lean & Agile Partner chez @OCTOTechnology ▸ Co-founder of @AppaloosaStore 2 — Devoxx - Videdressing © - 2018
  3. SAY HI TO JÉRÔME ! SENIOR PRODUCT MANAGER AT VIDEDRESSING

    3 — Devoxx - Videdressing © - 2018
  4. A Product Manager always pays his debts. — T. Lanister

    4 — Devoxx - Videdressing © - 2018
  5. A Product Manager CTO always pays his debts. — T.

    Lanister 5 — Devoxx - Videdressing © - 2018
  6. DISCLAMER: THIS TALK IS NOT A TROLL ABOUT TECH. DEBT

    However, I do recommend to read about tech. debt, accidental compexity & software entropy. 6 — Devoxx - Videdressing © - 2018
  7. LEAN / AGILE ORGANIZATION ▸ Product & Tech teams working

    on the same floor, 1 common spirit ▸ cross-functional team: PO, front & back developers, Designers ▸ iterative & incremental development: test fast, learn fast, improve ▸ 2 weeks scrumban iterations ▸ Release on the flow ▸ Stakeholders are integrated into projects 10 — Devoxx - Videdressing © - 2018
  8. A SIMPLE PLUG N' PLAY PROJECT ABOUT A NEW MEAN

    OF PAYMENT 12 — Devoxx - Videdressing © - 2018
  9. THE WAY WE LIKE TO SEE OUR PLATFORM 13 —

    Devoxx - Videdressing © - 2018
  10. ... BUT THE plug n' Play PROJECT ...TURNED OUT TO

    BE A COMPLETE FAILURE 15 — Devoxx - Videdressing © - 2018
  11. 3 - HOW TO COMMUNICATE ABOUT A REFACTORING PROJECT? 22

    — Devoxx - Videdressing © - 2018
  12. HOW TO TELL TO A BOARD OF INVESTORS? (AND EXPLAIN)

    23 — Devoxx - Videdressing © - 2018
  13. HOW TO TELL ABOUT TECHNICAL DEBT? ▸ Show the effects

    (the 4 horsemen will help) ▸ Calculate and communicate the financial impact ▸ Come with a plan ▸ Design a business oriented plan 24 — Devoxx - Videdressing © - 2018
  14. FAILED AT TRYING TO GET THE TRUTH FROM THE CODE

    29 — Devoxx - Videdressing © - 2018
  15. THIS PROCESS MAP WAS THE real first “release” OF THE

    PROJECT ... AND KILL SOME GOOD OLD MYTHS ABOUT HOW IT WAS MEANT TO WORK 33 — Devoxx - Videdressing © - 2018
  16. ANALYSIS CONCLUSIONS Payment & Order system is our spine. Having

    a seamless customer experience from online to offline is a physiological need. We must address it in priority. AtoZ rebuild of our payment system & order lifecycle 34 — Devoxx - Videdressing © - 2018
  17. THE HARD DECISIONS ▸ Stop or postpone other projects ▸

    Dedicated TaskForce for next 9 months ▸ No bug fixes on legacy anymore ▸ Accept to decrease the quality of service to improve it afterwards 35 — Devoxx - Videdressing © - 2018
  18. EXPLAIN EXECUTIVE TEAM & STAKEHOLDERS WE WILL NOT RELEASE BIG

    FEATURE FOR THE NEXT 9 MONTHS 36 — Devoxx - Videdressing © - 2018
  19. THE IDEA: PROGRESSIVE REPLACEMENT OF MEANS OF PAYMENT (MOP) FROM

    THE OLD PLATFORM TO THE NEW ONE 38 — Devoxx - Videdressing © - 2018
  20. THE PLAN: DEPENDING ON THE BUSINESS IMPACT AND THE POTENTIAL

    RISK, WE PRIORITIZED THE MOP DEPLOYMENT BY PLATFORM 39 — Devoxx - Videdressing © - 2018
  21. RELEASE THE LEAN WAY ▸ Slice for the fastest way

    in production ▸ Mitigate risks with Feature Toggles ▸ ... and Rollback ▸ Do not create all the tools day one (simple spreadsheet is ok) 40 — Devoxx - Videdressing © - 2018
  22. THINK ABOUT FEATURE FLIPPING & “FEATURE CAPPING” AT THE BEGINNING

    OF THE PROJECT 42 — Devoxx - Videdressing © - 2018
  23. 5 - MEANWHILE WITH THE TECH & PRODUCT TEAM 44

    — Devoxx - Videdressing © - 2018
  24. DEVOPS SUPPORT ▸ Fully Dockerized dev environment ▸ Fresh dataset

    automation ▸ Keep syncing with master branch whenever you can ▸ Deploy on a testable feature branch 47 — Devoxx - Videdressing © - 2018
  25. THE LEGACY ROOMATE ▸ Do not feed the monster ▸

    Starve the monster whenever it's possible ▸ Separate bundles in the new platform ▸ Make the new services more desireable than the easy (dark) one 48 — Devoxx - Videdressing © - 2018
  26. RESULTS ▸ 99,9% of orders are now processed on the

    new system ▸ bug (almost) free ▸ easy to track/reconciliate ▸ -20% on Customer Care contact rate 50 — Devoxx - Videdressing © - 2018
  27. RESULTS ▸ Enabler for Mobile platforms better performance ▸ From

    40% to 55% of mobile contribution in sales ▸ The user/order lifecyle is now readable, not only by developers 51 — Devoxx - Videdressing © - 2018
  28. MISTAKES ▸ Postponing information to board/exec team on platform state

    ▸ Took too much time to decide the refactoring ▸ Spent too much energy to solve bugs instead rebuilding ▸ No unified & shared documentation on business process ▸ Stakeholders not enough involved & informed once the project was launched 52 — Devoxx - Videdressing © - 2018
  29. OTHER LEARNINGS ▸ The monster will not die before long

    ▸ But you can "contain" it ▸ Mob(ish) programming is cool for tricky design phase ▸ Never skip code reviews 53 — Devoxx - Videdressing © - 2018
  30. Q&A ( AU CAFÉ ;-) ) 55 — Devoxx -

    Videdressing © - 2018
  31. SOURCES : - http://s1.lprs1.fr/images/2017/03/27/6800478_606918fc-12e9-11e7-9021-d8ba8fcbd319-1_1000x625.jpg - http://static.mensup.fr/photo_article/138906/17843/1200-L-game-of-thrones-saison-7.jpg - https://lh4.ggpht.com/eEAf4qsZ--nWq3LY1r9JcwgHfdmErHaXdhCFn7DCIGwiprJQzMiXX57GW2I0nKdyZQ=h900 - https://vignette4.wikia.nocookie.net/gameofthrones/images/f/f5/The_Wall.jpg/revision/latest?cb=20150323200738

    - http://thenewlywedchefs.com/wp-content/uploads/2013/10/DSC_0828.jpg - http://68.media.tumblr.com/4834121a36513822f42beffd94c92c17/tumblr_inline_nhjdn9vP6l1t0ktpa.gif - https://images.fineartamerica.com/images/artworkimages/mediumlarge/1/four-horsemen-of-the-apocalypse-victor-vasnetsov.jpg - http://www.stanstedpark.co.uk/public/images/Grounds/Maze_from_above.jpg - https://s11.stc.all.kpcdn.net/share/i/12/9742620/inx960x640.jpg - https://thedayintech.files.wordpress.com/2013/03/ibm_pc_xt_01_full.jpg - https://images-na.ssl-images-amazon.com/images/S/cmx-images-prod/Item/366144/Previews/1330222e9a6df3b80d8c21ecffc0c600._SX1280_QL80_TTD_.jpg - http://vignette2.wikia.nocookie.net/gameofthrones/images/8/8c/4x06_%D0%92_%D0%96%D0%B5%D0%BB%D0%B5%D0%B7%D0%BD%D0%BE%D0%BC_%D0%B1%D0%B0%D0%BD%D0%BA%D0%B5.png/revision/latest?cb=20140512154058&path-prefix=ru - https://www.newstatesman.com/sites/default/files/styles/nodeimage/public/blogs_2015/06/sean-bean.jpg?itok=zDluvo7Y - http://overloadr.com.br/wp-content/uploads/2015/01/the-incredible-machine.gif - https://pbs.twimg.com/media/C7r6lDQW0AAfA4r.jpg - https://pbs.twimg.com/media/Cm3lYrSWYAAAMC8.jpg - https://img.haikudeck.com/mi/43CDFF6B-975A-4F2B-A3F1-9F47A8B91104.jpg - https://www.newstatesman.com/sites/default/files/styles/nodeimage/public/blogs_2015/06/sean-bean.jpg?itok=zDluvo7Y - http://www.sportys.com/media/catalog/product/9/2/9238_4.jpg - https://www.visual-music.org/wp-content/uploads/2016/05/wpid-cymera_20141008_194731.jpg - https://spzone-simpleprogrammer.netdna-ssl.com/wp-content/uploads/2010/06/wtfs_per_minute_thumb.jpg - http://thoimoi.vn/stores/news_dataimages/huyenkun/092017/11/06/5648_CONTAINER_STUCKING.jpg - http://ll-c.ooyala.com/e1/hvMXJxYzE6OKFOE-FzgjyIBjt2cm4e0b/promo330138657 - http://www.thinkgeek.com/images/products/additional/large/1c9e_got_map_marker_set_with_map.jpg - https://images.dailykos.com/images/324505/story_image/2736667-doh.gif?1478647814 - https://vigilantcitizen.com/wp-content/uploads/2016/08/stranger20.png 58 — Devoxx - Videdressing © - 2018