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

Do Repeat Yourself

Do Repeat Yourself

How do you communicate with the rest of the team when you're engaged in a long-running technical project like a rewrite or migration? Communication can often become stale and irrelevant to everyone else. This talk will provide tactics for keeping your team in the loop.

Sabrina Leandro

April 19, 2018
Tweet

More Decks by Sabrina Leandro

Other Decks in Technology

Transcript

  1. DO REPEAT YOURSELF CUKENFEST 2018 SABRINA LEANDRO @saleandro

  2. CUKENFEST 2018 @saleandro EXAMPLES OF TECHNICAL PROJECTS ▸ Automation improvements,

    e.g. migrating to continuous deployment ▸ Upgrades of languages or frameworks, e.g. migrating an older Rails version to the newest ▸ Infrastructure changes, e.g. move to the cloud ▸ Decommissioning features or products ▸ Rewriting application to pay off tech debt

  3. THIS IS NOT AN EXERCISE IN TECHNOLOGY

  4. CUKENFEST 2018 @saleandro As a developer running a long-term technical

    project In order get my project prioritised and running I want to tie my project to business goals and opportunities
  5. CUKENFEST 2018 @saleandro As a developer running a long-term technical

    project In order to make sure the project gets finished I want to communicate progress to the wider company
  6. CUKENFEST 2018 @saleandro As a developer running a long-term technical

    project In order to keep my team happy and motivated I want to celebrate success as we progress
  7. CUKENFEST 2018 @saleandro BEFORE YOU START, YOU NEED:

  8. CUKENFEST 2018 @saleandro BEFORE YOU START, YOU NEED: ▸ Clear

    business goal
  9. CUKENFEST 2018 @saleandro BEFORE YOU START, YOU NEED: ▸ Clear

    business goal ▸ Incremental steps
  10. CUKENFEST 2018 @saleandro BEFORE YOU START, YOU NEED: ▸ Clear

    business goal ▸ Incremental steps ▸ Milestones for each step
  11. CUKENFEST 2018 @saleandro BEFORE YOU START, YOU NEED: ▸ Clear

    business goal ▸ Incremental steps ▸ Milestones for each step ▸ A cool project name #branding ;)
  12. DO REPEAT YOURSELF

  13. EXAMPLES

  14. CUKENFEST 2018 @saleandro BEFORE THE PROJECT STARTS

  15. CUKENFEST 2018 @saleandro BEFORE THE PROJECT STARTS Metaphors Hoarders house,

    gardening, urban planning, personal hygiene…
  16. @saleandro CUKENFEST 2018 BEFORE THE PROJECT STARTS Red and Green

    Diagram
  17. @saleandro CUKENFEST 2018 BEFORE THE PROJECT STARTS Magic Wand Diagram

  18. CUKENFEST 2018 @saleandro BEFORE THE PROJECT STARTS Application inventory ▸

    List of all applications ▸ For each application, define its level of maintenance
  19. CUKENFEST 2018 @saleandro BEFORE THE PROJECT STARTS Bones Muscle Fat

    (BMF) ▸ Framework to evaluate features using the product’s main proposition
  20. If we were starting over, what would we build today,

    knowing what we know now?
  21. CUKENFEST 2018 @saleandro DURING THE PROJECT

  22. CUKENFEST 2018 @saleandro DURING THE PROJECT Audiences ▸ Wider company

    ▸ Your tech team
  23. @saleandro CUKENFEST 2018 It always takes longer than you expect,

    even when you take into account Hofstadter's Law Hofstadter's Law
  24. CUKENFEST 2018 @saleandro DURING THE PROJECT ▸ Update Red and

    Green Diagram
  25. CUKENFEST 2018 @saleandro DURING THE PROJECT ▸ Update Red and

    Green Diagram ▸ Track progress removing code
  26. CUKENFEST 2018 @saleandro DURING THE PROJECT ▸ Update Red and

    Green Diagram ▸ Track progress removing code ▸ Gamify goals and metrics
  27. None
  28. None
  29. None
  30. CUKENFEST 2018 @saleandro WHEN IT’S FINISHED Celebrate completely decommissioning applications

  31. CUKENFEST 2018 @saleandro WHEN IT’S FINISHED

  32. @saleandro CUKENFEST 2018 A refactor a day keeps the rewrite

    away! Sabrina Leandro
  33. DO REPEAT YOURSELF AGAIN

  34. CUKENFEST 2018 @saleandro SUMMARY ▸ Have a clear business goal,

    incremental steps with milestones, and a cool project name
  35. CUKENFEST 2018 @saleandro SUMMARY ▸ Have a clear business goal,

    incremental steps with milestones, and a cool project name ▸ Before: red and green diagrams + magic wand, application inventory, Bones Muscle Fat framework
  36. CUKENFEST 2018 @saleandro SUMMARY ▸ Have a clear business goal,

    incremental steps with milestones, and a cool project name ▸ Before: red and green diagrams + magic wand, application inventory, Bones Muscle Fat framework ▸ During: celebrate all wins, big and small, gamify your progress
  37. CUKENFEST 2018 @saleandro SUMMARY ▸ Have a clear business goal,

    incremental steps with milestones, and a cool project name ▸ Before: red and green diagrams + magic wand, application inventory, Bones Muscle Fat framework ▸ During: celebrate all wins, big and small, gamify your progress ▸ After: instil a culture of continuous improvement!
  38. THANKS! @saleandro SABRINA LEANDRO

  39. CUKENFEST 2018 @saleandro REFERENCES Frontend and services architecture: ▸ https://devblog.songkick.com/our-object-based-rails-frontend-3e2ddc048d12

    ▸ https://devblog.songkick.com/the-path-to-soa-d986a18d4a8b Rewriting Code And Culture: https://www.youtube.com/watch?v=-VEf8j6aGMk Strangler pattern: https://www.martinfowler.com/bliki/StranglerApplication.html Gamify your progress: https://medium.com/@Songkick/gamify-your-product-team-to-power- level-9000-261e9fceaa22 Hoarders metaphor: https://brightonruby.com/2017/livable-code-sarah-mei/ Hofstadter’s Law: https://en.wikipedia.org/wiki/Hofstadter%27s_law A little bit and often: ▸ https://martinfowler.com/bliki/OpportunisticRefactoring.html ▸ http://ronjeffries.com/xprog/articles/refactoring-not-on-the-backlog/