Pro Yearly is on sale from $80 to $50! »

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.

4d1993f91aa4f2efccf08051205e3bad?s=128

Sabrina Leandro

April 19, 2018
Tweet

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/