My Monolith is Melting - PIPELINE CONF 2015

Preview:

Citation preview

Meri Williams, ChromeRose @Geek_Manager

MY MONOLITH IS MELTING

PIPELINE CONF

March 2015

Meri Williams, ChromeRose @Geek_Manager

http://www.flickr.com/photos/kodomut/3667608102/

Meri Williams, ChromeRose @Geek_Manager

GOV.UK FIRST TWO WEEKS = 100 RELEASES

https://gds.blog.gov.uk/2012/11/02/regular-releases-reduce-risk/

Meri Williams, ChromeRose @Geek_Manager

INSERT BADGER OF DEPLOY

Meri Williams, ChromeRose @Geek_Manager

WE DON’T ALL HAVE THE BENEFIT OF STARTING GREENFIELD

Meri Williams, ChromeRose @Geek_Manager

ALSO WORKED ON A LOT OF MASSIVE, MONOLITHIC, SYSTEMS

Meri Williams, ChromeRose @Geek_Manager

(IT’S NOT LEGACY IT’S VINTAGE)

Meri Williams, ChromeRose @Geek_Manager

Meri Williams, ChromeRose @Geek_Manager

HOW DO WE MOVE FROM SLOW-MOVING MONOLITHS TO CONTINUOUS

DELIVERY?

Meri Williams, ChromeRose @Geek_Manager

WELL, FIRSTLY A CONFESSION

Meri Williams, ChromeRose @Geek_Manager

I LIED

Meri Williams, ChromeRose @Geek_Manager

“You'll hear about the epic battles with thedreaded CAB (Change Approval Board), thefight to move architecture discussions fromWord documents to the whiteboards, and themyriad smaller skirmishes along the path”

Meri Williams, ChromeRose @Geek_Manager

I NEVER MEANT TO START A WAR,I JUST WANTED YOU TO LET ME IN

Meri Williams, ChromeRose @Geek_Manager

PUT DOWN YOUR SWORD.YOU ARE NOT A ROMAN GENERAL.

Meri Williams, ChromeRose @Geek_Manager

CHANGE IS NOT WAR.

YOU DON’T WIN IF YOU DEFEAT YOUR COLLEAGUES.

Meri Williams, ChromeRose @Geek_Manager

Meri Williams, ChromeRose @Geek_Manager

Meri Williams, ChromeRose @Geek_Manager

MELTING MONOLITHS TAKES CONCERTED EFFORT ON TECHNOLOGY, PROCESS

& CULTURE

Meri Williams, ChromeRose @Geek_Manager

LET’S START WITH

PROCESS

Meri Williams, ChromeRose @Geek_Manager

TYPICAL PROCESS ISSUES:

- SLOW RELEASES- CHANGE APPROVAL BOARDS

- LOTS OF MANUAL WORK (CONFIG, ENVS, TEST, RELEASE)

Meri Williams, ChromeRose @Geek_Manager

HOW DID WE END UP HERE?

Meri Williams, ChromeRose @Geek_Manager

http://flick-the-thief.deviantart.com/art/Troll-bridge-138722067

DEV VIEW OF CAB

Meri Williams, ChromeRose @Geek_Manager

CAB VIEW OF CAB

https://www.flickr.com/photos/kwl/4229954645/

Meri Williams, ChromeRose @Geek_Manager

https://twitter.com/tomgauld/status/571994690289061888

Meri Williams, ChromeRose @Geek_Manager

REALITY IS:

CHANGE APPROVAL BOARDS ARE REGRESSION TESTS EXPRESSED IN

PROCESS RATHER THAN CODE

Meri Williams, ChromeRose @Geek_Manager

OFTEN THEY ARE A REACTION TO OUR USERS HAVING TO DO OUR

TESTING FOR US – LIVE

Meri Williams, ChromeRose @Geek_Manager

Meri Williams, ChromeRose @Geek_Manager

HOW HAVE WE FAILED YOU? LET ME COUNT THE WAYS…

- USERS DOING OUR MONITORING & ALERTING - TESTING MANUAL & UNRELIABLE- DEPLOYMENT HARD & MANUAL & SLOW SO CHANGES “BUNDLED”- ENVIRONMENTS HARD TO SET UP & MAINTAIN; LOW FIDELITY

Meri Williams, ChromeRose @Geek_Manager

Meri Williams, ChromeRose @Geek_Manager

WE NEED TO STOP FIGHTING, AND START WINNING BACK TRUST

Meri Williams, ChromeRose @Geek_Manager

FIX TECHNOLOGY FIRST

KEEP RELEASE MGMT/CAB IN PLACE

IT’S YOUR ORG’S SAFETY BLANKET

Meri Williams, ChromeRose @Geek_Manager

AUTOMATE TESTING

AUTOMATE TESTING

AUTOMATE TESTING

AUTOMATE TESTING

Meri Williams, ChromeRose @Geek_Manager

PLEASE AUTOMATE

YOUR GORRAMTESTING

Meri Williams, ChromeRose @Geek_Manager

ATOMIC VERSION CONTROL

INFRA/CONFIG AS CODE

MAKE IT POSSIBLE TO STAND UP HIGH FIDELITY ENVIRONMENTS

Meri Williams, ChromeRose @Geek_Manager

REMEMBER ENVIRONMENTS ARE ABOUT MORE THAN JUST CONFIG

FIDELITY = HOW WELL IT REPRESENTS YOUR REAL SYSTEMS

HOW DO YOU REFRESH DATA TOO?

Meri Williams, ChromeRose @Geek_Manager

IMPROVE ARCHITECTURE WHENEVER YOU CAN

FREE YOUR DATA

FREE YOUR FUNCTIONALITY

Meri Williams, ChromeRose @Geek_Manager

BUILD, REFACTOR, LET PLATFORMS EMERGE

https://medium.com/@postenterprise/the-abuse-of-reuse-96b2e0af01a7

Meri Williams, ChromeRose @Geek_Manager

PUT AN EXPIRY DATE ON ANY (NECESSARY) DIRTY HACKS

Meri Williams, ChromeRose @Geek_Manager

DON’T WAIT FOR PERMISSION TO IMPROVE THINGS

ADOPT “BOYSCOUT” RULE

BUILD IMPROVEMENT IN

Meri Williams, ChromeRose @Geek_Manager

http://xprogramming.com/articles/refactoring-not-on-the-backlog/

Meri Williams, ChromeRose @Geek_Manager

REFACTOR YOUR MONOLITH

START CONSUMING APIS INTERNALLY TOO

EAT YOUR OWN DOGFOOD

Meri Williams, ChromeRose @Geek_Manager

Meri Williams, ChromeRose @Geek_Manager

LOOK FOR STRONGLY COUPLED BITS OF YOUR ARCHITECTURE

MAKE THEM MORE LOOSELY COUPLED (APIS, ETC)

Meri Williams, ChromeRose @Geek_Manager

Meri Williams, ChromeRose @Geek_Manager

EARN BACK TRUST

IT’S EASY TO MOVE TO RELEASING MORE FREQUENTLY WHEN YOU’VE

MADE RELEASING SAFER & LESS RISKY

Meri Williams, ChromeRose @Geek_Manager

BUILD A CULTURE THAT VALUES GETTING NEW FEATURES TO USERS

ANDENSURING THEY HAVE A RELIABLE,

QUALITY EXPERIENCE

Meri Williams, ChromeRose @Geek_Manager

WHICH BRINGS US TO CULTURE

Meri Williams, ChromeRose @Geek_Manager

SPACE TO BE AWESOME =

+ PURPOSE (Do I believe in WHY?)

+ AUTONOMY (Do I get a say in WHAT?)

+ MASTERY (Am I proud of HOW?)

+ INCLUSION (Do I BELONG HERE?)

- ANY NEGATIVE FACTORS THAT DETRACT

Meri Williams, ChromeRose @Geek_Manager

GET FOLKS FOCUSED AROUND THE SAME PURPOSE

HELP THEM HAVE A SAY IN HOW THEY WORK

Meri Williams, ChromeRose @Geek_Manager

ENABLE WAYS OF WORKING THAT PEOPLE ARE PROUD OF – BOTH THE

PROCESS & THE PRODUCT

CREATE SPACE WHERE PEOPLE CAN BE THEMSELVES AND

BE SUCCESSFUL

Meri Williams, ChromeRose @Geek_Manager

https://www.flickr.com/photos/psd/8451589322/in/set-72157633230231221

Meri Williams, ChromeRose @Geek_Manager

TEAMS ARE STRONGEST WHEN THEY HAVE A WIDE RANGE OF SKILLSETS & BACKGROUNDS &

EXPERIENCES

Meri Williams, ChromeRose @Geek_Manager

(ON THE OTHER HAND, STOCK PHOTOS ARE FUNNIEST WHEN YOU MAKE EVERYONE JUMP IN THE AIR AND LOOK

UNCOMFORTABLE AND/OR GLEEFULLY TERRIFIED)

Meri Williams, ChromeRose @Geek_Manager

CULTURAL CHANGE IS HARD

1) Create a sense of urgency.

2) Get a broad team to give a crap.

3) Paint a picture of the future.

4) Tell people, so they get excited.

5) Give everyone the opportunity

to help (de-centralise).

6) Show it works – quick wins.

7) Keep at it. Even when it’s hard.

8) Anchor change in your culture.

Meri Williams, ChromeRose @Geek_Manager

BUT IF WE BELIEVE WE CAN JUST REBUILD EVERYTHING EVERY TIME WE DISCOVER A BETTER WAY OF

DOING THINGS, WELL…

Meri Williams, ChromeRose @Geek_Manager

Meri Williams, ChromeRose @Geek_Manager

Meri Williams, ChromeRose @Geek_Manager

IF IT WORKS, IT’LL KEEP BEING USED.

SYSTEMS OFTEN LIVE LONGER THAN EXPECTED.

BUILD ROBUST SHIT THAT KEEPS GOING & IS MAINTAINABLE.

Meri Williams, ChromeRose @Geek_Manager

YOU CAN’T ALWAYS KNOW THE FUTURE USE OF WHAT YOU BUILD

Meri Williams, ChromeRose @Geek_Manager

BE A PRO EVERY DAY

Meri Williams, ChromeRose @Geek_Manager

Meri Williams, ChromeRose @Geek_Manager

Recommended