+ All Categories
Home > Engineering > So You Want to Rewrite That...

So You Want to Rewrite That...

Date post: 30-Jun-2015
Category:
Upload: camille-fournier
View: 271 times
Download: 2 times
Share this document with a friend
Description:
Lessons learned on rewriting a large technology stack from Drupal to Java + Ruby Video here: http://www.youtube.com/watch?v=PhYUvtifJXk
54
So You Want To Rewrite That… Lessons from a successful rearchitecting Camille Fournier @skamille GOTO Chicago 2014
Transcript
Page 1: So You Want to Rewrite That...

So You Want To Rewrite That…

Lessons from a successful rearchitectingCamille Fournier

@skamilleGOTO Chicago 2014

Page 2: So You Want to Rewrite That...

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

technology

Page 3: So You Want to Rewrite That...

Everything’s not fine.

Page 4: So You Want to Rewrite That...

A rewrite will solve all my problems!

Page 5: So You Want to Rewrite That...

There’s no such thing as a successful rewrite

The sustainable rewrite looks like firefightingCliff Moon, Boundary

Page 6: So You Want to Rewrite That...

THE PATH TO REWRITING IS FRAUGHT WITH DANGER

Page 7: So You Want to Rewrite That...

You’re failing now.

Page 8: So You Want to Rewrite That...

You can’t scale.

Page 9: So You Want to Rewrite That...

You can’t meet customer demand.

Page 10: So You Want to Rewrite That...

You’re crushed under the

weight of your technical debt.

Page 11: So You Want to Rewrite That...

It is easy to fail on the unknown unknowns

Page 12: So You Want to Rewrite That...

This doesn’t look THAT big…

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

Page 13: So You Want to Rewrite That...

What about the data?

Page 14: So You Want to Rewrite That...

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

Page 15: So You Want to Rewrite That...

The sirens will tempt you off course.

Page 16: So You Want to Rewrite That...

Trying to do too much.

Page 17: So You Want to Rewrite That...

Counting on a “big bang”

release.

Page 18: So You Want to Rewrite That...

Choosing the wrong software.

Page 19: So You Want to Rewrite That...

Choosing the wrong software.

Page 20: So You Want to Rewrite That...

WHAT ARE THE PRINCIPLES TO MAKE THIS SUCCESSFUL?

Page 21: So You Want to Rewrite That...

Change as little as possible.

Page 22: So You Want to Rewrite That...

Don’t rewrite at all, modify in place!

Page 23: So You Want to Rewrite That...

Rewrite but keep the language the same.

Page 24: So You Want to Rewrite That...

Change only one thing at once (salami slicing)

Page 25: So You Want to Rewrite That...

You need to sell this.

Page 26: So You Want to Rewrite That...

Sell it to yourself first.

Page 27: So You Want to Rewrite That...

Sell it to the business with Big Scary Graphs.

Page 28: So You Want to Rewrite That...

Sell it to your team.

Page 29: So You Want to Rewrite That...

You need a detailed definition of done.

Page 30: So You Want to Rewrite That...

A test suite that acts as a

safety harness.

Page 31: So You Want to Rewrite That...

What is the quality we’re measuring to improve?

Page 32: So You Want to Rewrite That...

What is our data migration plan?

Page 33: So You Want to Rewrite That...

WHAT DOES THE OUTCOME LOOK LIKE?

Page 34: So You Want to Rewrite That...

Your culture will change in the process.

Page 35: So You Want to Rewrite That...

Long-time employees may feel threatened.

Page 36: So You Want to Rewrite That...

Workflows will have to change.

Page 37: So You Want to Rewrite That...

The structure of your team changes.

CTO

Dev Dev Dev Dev Dev Dev

Architect

Page 38: So You Want to Rewrite That...

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

Page 39: So You Want to Rewrite That...

A new architecture brings new challenges.

Page 40: So You Want to Rewrite That...

Tempting to make v2 everything you ever wanted!

Page 41: So You Want to Rewrite That...

Overengineering can happen to process, too.

Page 42: So You Want to Rewrite That...

User

Checkout

Static Asset CDN Origin

Drupal

Our Runway

Home

Grid

Product Detail

static assets

sinatra views / erbs

< Sinatra::Base

RtR API clients

Heroku

Rackspace

Engine Yard

Page 43: So You Want to Rewrite That...

You’re never really done.

Page 44: So You Want to Rewrite That...

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

Page 45: So You Want to Rewrite That...

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

Page 46: So You Want to Rewrite That...

You have standards around that flexibility to mitigate complexity.

Page 47: So You Want to Rewrite That...

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

Page 48: So You Want to Rewrite That...

Everything isn’t fine.

Page 49: So You Want to Rewrite That...

It’s time to rewrite.

Page 50: So You Want to Rewrite That...

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

Page 51: So You Want to Rewrite That...

Prepare for a brave new world.

Page 52: So You Want to Rewrite That...

Create a sustainable future.

Page 53: So You Want to Rewrite That...

Thanks!

• @skamille• Rent the Runway is hiring!

renttherunway.com/careers• My blog: whilefalse.blogspot.com

Page 54: So You Want to Rewrite That...

credits• www.mccord-museum.qc.ca/fr/collection/artefacts/MP-0000.2265• Zombie mob: https://www.flickr.com/photos/aheram/219515706/• Fail whale: Rob Friedman / playerx / @px• National Ocean Service Image Gallery• https://www.flickr.com/photos/matt_gibson/3281131319

• https://www.flickr.com/photos/philliecasablanca/3344142642• https://www.flickr.com/photos/johnragai/12601518074• https://www.flickr.com/photos/thomashawk/2369472195• https://www.flickr.com/photos/richigrafik/4912808572• https://www.flickr.com/photos/katiew/311380970• https://www.flickr.com/photos/lucianvenutian/1279760885• https://www.flickr.com/photos/kaptainkobold/390454090• https://www.flickr.com/photos/nihonbunka/3353532166


Recommended