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

Scaling your app's release process

Scaling your app's release process

We’ll discuss some strategies to iterate on your app release process, some software tools that can help you, and how to reorient your organization for a mobile-first world.

Neil Kimmett

June 07, 2022
Tweet

More Decks by Neil Kimmett

Other Decks in Programming

Transcript

  1. June 2022 Scaling your app’s release process Neil Kimmett

  2. Scaling your app’s release process Neil Kimmett June 2022

  3. 3 @neilkimmett 👋 hello 🇬🇧 from Southampton 🗽 live in

    NYC 📱 Director of Eng @ ClassPass
  4. 4 Write code Ship code

  5. 5 Write code Ship code Vecteezy.com

  6. 6

  7. 7

  8. 8

  9. 9

  10. 10

  11. 11

  12. 12

  13. 12

  14. 13

  15. 14

  16. 15 What it means to ship an app

  17. 16 How ClassPass has evolved our process

  18. 17 How you can design your process

  19. 18 What it means to ship an app

  20. 19 Deploying web code

  21. 19 Deploying web code

  22. 19 Deploying web code

  23. 19 Deploying web code

  24. 19 Deploying web code

  25. 19 Deploying web code

  26. 19 Deploying web code

  27. 20 Deploying app code

  28. 20 Deploying app code

  29. 20 Deploying app code

  30. 20 Deploying app code

  31. 20 Deploying app code

  32. 20 Deploying app code

  33. 21

  34. 22

  35. 23 What can we do about it?

  36. 24 Start small

  37. 25 1.0.0

  38. 26 1.0.0

  39. 26 1.0.0 major

  40. 26 1.0.0 major minor

  41. 26 1.0.0 major minor patch

  42. 27

  43. 27

  44. 27

  45. 27

  46. 28 Versioning strategy

  47. 28 Versioning strategy

  48. 28 Versioning strategy

  49. 29 Branching strategy

  50. 30 Branching strategy GitFlow

  51. 31 Branching strategy Trunk

  52. 32 Automate some stuff

  53. 33 fastlane.tools

  54. 34 Introduce process as you go

  55. 35 Create a release checklist ✅

  56. 36 Create a release checklist ✅

  57. 37 Create a planning sheet 📄

  58. 38 Create a planning sheet 📄

  59. 39 Run regular retrospectives 🔄

  60. 40 Run regular retrospectives 🔄 • Talk about your feelings

    • Discuss what’s working and what isn’t • Continuously improve your process • Check out retrospectivewiki.org for format ideas
  61. 41 Release strategies 🚢

  62. 42 Release strategies 🚢

  63. 42 Release strategies 🚢 • Feature based releases ✨ •

    Keep developing features, release when ready
  64. 42 Release strategies 🚢 • Release train 🚂 • Regular

    release cadence • If feature isn’t ready in time, it misses the train and catches the next one • Feature based releases ✨ • Keep developing features, release when ready
  65. 43 Tools to join the big leagues 🛠💪

  66. 44 Feature flags 🚩

  67. 45 Feature flags 🚩

  68. 46 Feature flags 🚩

  69. 47 Server driven UI ☁

  70. 48 Server driven UI

  71. 49 ClassPass cancel flow

  72. 50 Build an internal tool 🛠

  73. 51 Build an internal tool

  74. 52 Build an internal tool

  75. 53 Buy a tool 💸

  76. 54 Buy a tool runway.team

  77. 55 Buy a tool runway.team

  78. 56 Buy a tool runway.team

  79. 57 Start small Introduce process as you go Add tooling

    where needed