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

A CTO always pays his Debts - Tech Rocks 2017

A CTO always pays his Debts - Tech Rocks 2017

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 Station F , Paris for the "Tech Rocks 2017" conference.

Avatar for Hervé LOURDIN

Hervé LOURDIN

December 22, 2017
Tweet

More Decks by Hervé LOURDIN

Other Decks in Programming

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 — Tech Rocks - Videdressing © - 2017
  3. A CTO always pays his debts. — T. Lanister 3

    — Tech Rocks - Videdressing © - 2017
  4. 1 - WHO WE ARE? 4 — Tech Rocks -

    Videdressing © - 2017
  5. 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 7 — Tech Rocks - Videdressing © - 2017
  6. A SIMPLE PLUG N' PLAY PROJECT ABOUT A NEW MEAN

    OF PAYMENT 9 — Tech Rocks - Videdressing © - 2017
  7. THE WAY WE LIKE TO SEE OUR PLATFORM 10 —

    Tech Rocks - Videdressing © - 2017
  8. ... BUT THE plug n' Play PROJECT ...TURNED OUT TO

    BE A COMPLETE FAILURE 12 — Tech Rocks - Videdressing © - 2017
  9. 3 - HOW TO COMMUNICATE ABOUT A REFOACTORING PROJECT? 19

    — Tech Rocks - Videdressing © - 2017
  10. HOW TO TELL TO A BOARD OF INVESTORS? (AND EXPLAIN)

    20 — Tech Rocks - Videdressing © - 2017
  11. HOW TO TELL ABOUT TECHNICAL DEBT? ▸ Show the effects

    (the 4 horsemen will help) 21 — Tech Rocks - Videdressing © - 2017
  12. HOW TO TELL ABOUT TECHNICAL DEBT? ▸ Show the effects

    (the 4 horsemen will help) ▸ Calculate and communicate the financial impact 21 — Tech Rocks - Videdressing © - 2017
  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 21 — Tech Rocks - Videdressing © - 2017
  14. 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 21 — Tech Rocks - Videdressing © - 2017
  15. 4 - HOW TO PRIORITIZE SUCH PROJECT? 22 — Tech

    Rocks - Videdressing © - 2017
  16. ▸ Trying to (re)understand how the machine is working 24

    — Tech Rocks - Videdressing © - 2017
  17. FAILED AT TRYING TO GET THE TRUTH FROM THE CODE

    26 — Tech Rocks - Videdressing © - 2017
  18. THIS PROCESS MAP WAS THE real first “release” OF THE

    PROJECT ... AND KILL SOME GOOD OLD MYTHS ABOUT HOW IT WAS MEANT TO WORK 30 — Tech Rocks - Videdressing © - 2017
  19. 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 31 — Tech Rocks - Videdressing © - 2017
  20. THE HARD DECISIONS ▸ Stop or postpone other projects 32

    — Tech Rocks - Videdressing © - 2017
  21. THE HARD DECISIONS ▸ Stop or postpone other projects ▸

    Dedicated TaskForce for next 9 months 32 — Tech Rocks - Videdressing © - 2017
  22. THE HARD DECISIONS ▸ Stop or postpone other projects ▸

    Dedicated TaskForce for next 9 months ▸ No bug fixes on legacy anymore 32 — Tech Rocks - Videdressing © - 2017
  23. 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 32 — Tech Rocks - Videdressing © - 2017
  24. EXPLAIN EXECUTIVE TEAM & STAKEHOLDERS WE WILL NOT RELEASE BIG

    FEATURE FOR THE NEXT 9 MONTHS 33 — Tech Rocks - Videdressing © - 2017
  25. THE IDEA: PROGRESSIVE REPLACEMENT OF MEANS OF PAYMENT (MOP) FROM

    THE OLD PLATFORM TO THE NEW ONE 35 — Tech Rocks - Videdressing © - 2017
  26. THE PLAN: DEPENDING ON THE BUSINESS IMPACT AND THE POTENTIAL

    RISK, WE PRIORITIZED THE MOP DEPLOYMENT BY PLATFORM 36 — Tech Rocks - Videdressing © - 2017
  27. 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) 37 — Tech Rocks - Videdressing © - 2017
  28. THINK ABOUT FEATURE FLIPPING & “FEATURE CAPPING” AT THE BEGINNING

    OF THE PROJECT 39 — Tech Rocks - Videdressing © - 2017
  29. 5 - MEANWHILE WITH THE TECH & PRODUCT TEAM 41

    — Tech Rocks - Videdressing © - 2017
  30. CODE REVIEW, CODE REVIEW, NEVER SKIP CODE REVIEW 43 —

    Tech Rocks - Videdressing © - 2017
  31. DEVOPS SUPPORT ▸ Fully Dockerized dev environment ▸ Fresh dataset

    automation ▸ Keep syncing with master branch whenever you can ▸ Deploy on a testable feature branch 44 — Tech Rocks - Videdressing © - 2017
  32. THE LEGACY ROOMATE ▸ Do not feed the monster 45

    — Tech Rocks - Videdressing © - 2017
  33. THE LEGACY ROOMATE ▸ Do not feed the monster ▸

    Starve the monster whenever it's possible 45 — Tech Rocks - Videdressing © - 2017
  34. THE LEGACY ROOMATE ▸ Do not feed the monster ▸

    Starve the monster whenever it's possible ▸ Separate bundles in the new platform 45 — Tech Rocks - Videdressing © - 2017
  35. 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 45 — Tech Rocks - Videdressing © - 2017
  36. RESULTS ▸ 97% of orders are now processed on the

    new system ▸ bug (almost) free ▸ easy to track/reconciliate ▸ -20% on Customer Care contact rate 47 — Tech Rocks - Videdressing © - 2017
  37. 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 48 — Tech Rocks - Videdressing © - 2017
  38. MISTAKES ▸ Postponing information to board/exec team on platform state

    ▸ Took too much time to decide the refactoring 49 — Tech Rocks - Videdressing © - 2017
  39. 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 49 — Tech Rocks - Videdressing © - 2017
  40. 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 49 — Tech Rocks - Videdressing © - 2017
  41. 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 49 — Tech Rocks - Videdressing © - 2017
  42. OTHER LEARNINGS ▸ The monster will not die before long

    50 — Tech Rocks - Videdressing © - 2017
  43. OTHER LEARNINGS ▸ The monster will not die before long

    ▸ But you can "contain" it 50 — Tech Rocks - Videdressing © - 2017
  44. OTHER LEARNINGS ▸ The monster will not die before long

    ▸ But you can "contain" it ▸ Mob(ish) programming is cool for tricky design phase 50 — Tech Rocks - Videdressing © - 2017
  45. 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 50 — Tech Rocks - Videdressing © - 2017
  46. Q&A ( AU CAFÉ ;-) ) 52 — Tech Rocks

    - Videdressing © - 2017
  47. 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 55 — Tech Rocks - Videdressing © - 2017