So You Want To Rewrite That Lessons from a successful - - PowerPoint PPT Presentation

so you want to rewrite that
SMART_READER_LITE
LIVE PREVIEW

So You Want To Rewrite That Lessons from a successful - - PowerPoint PPT Presentation

So You Want To Rewrite That Lessons from a successful rearchitec8ng Camille Fournier @skamille GOTO Chicago 2014 We were failing to support our


slide-1
SLIDE 1

So ¡You ¡Want ¡To ¡Rewrite ¡That… ¡

Lessons ¡from ¡a ¡successful ¡rearchitec8ng ¡ Camille ¡Fournier ¡ ¡ @skamille ¡ GOTO ¡Chicago ¡2014 ¡

slide-2
SLIDE 2

We ¡were ¡failing ¡to ¡support ¡our ¡ growth, ¡our ¡customers, ¡and ¡our ¡ technology ¡

slide-3
SLIDE 3

Everything’s not fine.

slide-4
SLIDE 4

A ¡rewrite ¡will ¡solve ¡all ¡my ¡problems! ¡

slide-5
SLIDE 5

There’s ¡no ¡such ¡thing ¡as ¡a ¡ successful ¡rewrite ¡ ¡

The ¡sustainable ¡rewrite ¡looks ¡like ¡firefigh8ng ¡

Cliff ¡Moon, ¡Boundary ¡

¡

slide-6
SLIDE 6

THE ¡PATH ¡TO ¡REWRITING ¡IS ¡ FRAUGHT ¡WITH ¡DANGER ¡

slide-7
SLIDE 7

You’re ¡failing ¡now. ¡

slide-8
SLIDE 8

You ¡can’t ¡scale. ¡

slide-9
SLIDE 9

You ¡can’t ¡meet ¡customer ¡demand. ¡

slide-10
SLIDE 10

You’re ¡crushed ¡ under ¡the ¡ weight ¡of ¡your ¡ technical ¡debt. ¡

slide-11
SLIDE 11

It ¡is ¡easy ¡to ¡fail ¡on ¡the ¡unknown ¡ unknowns ¡

slide-12
SLIDE 12

This ¡doesn’t ¡look ¡THAT ¡big… ¡

How ¡well ¡do ¡you ¡know ¡what ¡the ¡code ¡is ¡doing ¡now? ¡

slide-13
SLIDE 13

What ¡about ¡the ¡data? ¡

slide-14
SLIDE 14

How ¡does ¡the ¡team ¡need ¡to ¡change ¡to ¡ make ¡this ¡successful? ¡

slide-15
SLIDE 15

The ¡sirens ¡will ¡tempt ¡you ¡off ¡

  • course. ¡
slide-16
SLIDE 16
slide-17
SLIDE 17

Coun8ng ¡on ¡a ¡ “big ¡bang” ¡

  • release. ¡
slide-18
SLIDE 18

Choosing ¡the ¡wrong ¡soWware. ¡

slide-19
SLIDE 19

Choosing ¡the ¡wrong ¡soWware. ¡

slide-20
SLIDE 20

WHAT ¡ARE ¡THE ¡PRINCIPLES ¡TO ¡ MAKE ¡THIS ¡SUCCESSFUL? ¡

slide-21
SLIDE 21

Change ¡as ¡liXle ¡as ¡possible. ¡

slide-22
SLIDE 22
slide-23
SLIDE 23

Rewrite ¡but ¡keep ¡the ¡language ¡the ¡

  • same. ¡
slide-24
SLIDE 24

Change ¡only ¡one ¡thing ¡at ¡once ¡(salami ¡ slicing) ¡

slide-25
SLIDE 25

You ¡need ¡to ¡sell ¡this. ¡

slide-26
SLIDE 26

Sell ¡it ¡to ¡yourself ¡first. ¡

slide-27
SLIDE 27

Sell ¡it ¡to ¡the ¡business ¡with ¡Big ¡Scary ¡

  • Graphs. ¡
slide-28
SLIDE 28

Sell ¡it ¡to ¡your ¡team. ¡

slide-29
SLIDE 29

You ¡need ¡a ¡detailed ¡defini8on ¡of ¡

  • done. ¡
slide-30
SLIDE 30

A ¡test ¡ suite ¡that ¡ acts ¡as ¡a ¡ safety ¡

  • harness. ¡
slide-31
SLIDE 31

What ¡is ¡the ¡quality ¡we’re ¡measuring ¡to ¡ improve? ¡

slide-32
SLIDE 32

What ¡is ¡our ¡data ¡migra8on ¡plan? ¡

slide-33
SLIDE 33

WHAT ¡DOES ¡THE ¡OUTCOME ¡LOOK ¡ LIKE? ¡

slide-34
SLIDE 34

Your ¡culture ¡will ¡change ¡in ¡the ¡

  • process. ¡
slide-35
SLIDE 35

Long-­‑8me ¡employees ¡may ¡feel ¡

  • threatened. ¡
slide-36
SLIDE 36

Workflows ¡will ¡have ¡to ¡change. ¡

slide-37
SLIDE 37

The ¡structure ¡of ¡your ¡team ¡changes. ¡

CTO ¡ Dev ¡ Dev ¡ Dev ¡ Dev ¡ Dev ¡ Dev ¡ Architect ¡

slide-38
SLIDE 38

The ¡structure ¡of ¡your ¡team ¡changes. ¡

CTO ¡ Director ¡ FrontEnd ¡ Dev ¡ Dev ¡ QA ¡ BackEnd ¡ Dev ¡ Dev ¡ Director ¡ Frontend ¡ QA ¡ Backend ¡ VP ¡Ops ¡ DevOps ¡ DevOps ¡ DevOps ¡ Syseng ¡

slide-39
SLIDE 39

A ¡new ¡architecture ¡brings ¡new ¡

  • challenges. ¡
slide-40
SLIDE 40

Temp8ng ¡to ¡make ¡v2 ¡everything ¡you ¡ ever ¡wanted! ¡

slide-41
SLIDE 41

Overengineering ¡can ¡happen ¡to ¡ process, ¡too. ¡

slide-42
SLIDE 42

User ¡ Checkout ¡ Sta8c ¡Asset ¡CDN ¡Origin ¡ Drupal ¡ Our ¡Runway ¡ Home ¡ Grid ¡ Product ¡Detail ¡ sta8c ¡assets ¡ sinatra ¡views ¡/ ¡erbs ¡ < ¡Sinatra::Base ¡ RtR ¡API ¡clients ¡ Heroku ¡ Rackspace ¡ Engine ¡Yard ¡

slide-43
SLIDE 43

You’re ¡never ¡really ¡done. ¡

slide-44
SLIDE 44

You ¡create ¡a ¡system ¡that ¡will ¡last ¡ longer ¡than ¡its ¡predecessor. ¡

slide-45
SLIDE 45

You ¡have ¡the ¡flexibility ¡to ¡build ¡the ¡ things ¡you ¡will ¡need. ¡

slide-46
SLIDE 46

You ¡have ¡standards ¡around ¡that ¡ flexibility ¡to ¡mi8gate ¡complexity. ¡

slide-47
SLIDE 47

Build ¡with ¡the ¡needs ¡of ¡a ¡larger ¡or ¡ smaller ¡team ¡in ¡mind. ¡

slide-48
SLIDE 48

Everything ¡isn’t ¡fine. ¡

slide-49
SLIDE 49

It’s ¡8me ¡to ¡rewrite. ¡

slide-50
SLIDE 50

Sell ¡it, ¡change ¡as ¡liXle ¡as ¡possible, ¡ and ¡know ¡what ¡done ¡looks ¡like. ¡

slide-51
SLIDE 51

Prepare ¡for ¡a ¡brave ¡new ¡world. ¡

slide-52
SLIDE 52

Create ¡a ¡sustainable ¡future. ¡

slide-53
SLIDE 53

Thanks! ¡

  • @skamille ¡
  • Rent ¡the ¡Runway ¡is ¡hiring! ¡

renXherunway.com/careers ¡

  • My ¡blog: ¡whilefalse.blogspot.com ¡
slide-54
SLIDE 54

credits ¡

  • www.mccord-­‑museum.qc.ca/fr/collec8on/artefacts/MP-­‑0000.2265 ¡
  • Zombie ¡mob: ¡hXps://www.flickr.com/photos/aheram/219515706/ ¡
  • ¡Fail ¡whale: ¡Rob ¡Friedman ¡/ ¡playerx ¡/ ¡@px ¡
  • Na8onal ¡Ocean ¡Service ¡Image ¡Gallery ¡
  • hXps://www.flickr.com/photos/maX_gibson/3281131319 ¡
  • hXps://www.flickr.com/photos/philliecasablanca/3344142642 ¡
  • hXps://www.flickr.com/photos/johnragai/12601518074 ¡
  • hXps://www.flickr.com/photos/thomashawk/2369472195 ¡
  • hXps://www.flickr.com/photos/richigrafik/4912808572 ¡
  • hXps://www.flickr.com/photos/ka8ew/311380970 ¡
  • hXps://www.flickr.com/photos/lucianvenu8an/1279760885 ¡
  • hXps://www.flickr.com/photos/kaptainkobold/390454090 ¡
  • hXps://www.flickr.com/photos/nihonbunka/3353532166 ¡