42
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Eben Hewitt, Chief Technology Officer, Choice Hotels International October 2015 SPOT205 5 Lessons for Managing Massive IT Transformation Projects

(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

Embed Size (px)

Citation preview

Page 1: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Eben Hewitt, Chief Technology Officer, Choice Hotels International

October 2015

SPOT205

5 Lessons for Managing

Massive IT Transformation Projects

Page 2: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

What to Expect from the Session

• Target audience:

• Technical leaders & decision makers

• Managers, project managers, & architects

• Five fantastic, original practices

• Guidance on how to structure, manage, and optimize a

major IT transformation project

• Show how system design and project design can support

each other to maximize throughput

• 20 concrete, actionable takeaways, noted as TODO

Page 3: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

Who Am I?

• Chief Technology Officer at Choice Hotels International

• 6,500 hotels in 35 countries

• We represent 12% of all hotel rooms in the US

• $7B per year transacted through our software

• We’re actually kind of a technology company

• 500 people in my organization with $75M budget

• Prior: CIO at O’Reilly Media

• 16 years as developer, architect, leader

• Author of 7 books on software development, architecture

Page 4: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
Page 5: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

We’re Hiring!

To: [email protected]

Subject: AWS We’re Hiring

Page 6: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

Thesis

The Project itself IS a system.

Therefore, you can design the project according to system

design principles for maximum results.

Page 7: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

The Project: choiceEDGE

Page 8: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

What is choiceEDGE?

• 3 Year, $20M transformation project to replace

our 25-year-old central reservation system

and related ecosystem of applications

• CRS written in C, monolithic Solaris app, 7-bit ASCII,

proprietary protocol (the web didn’t exist)

• 40 partner integrations

• Retire 13 applications

• Move 3M lines of code and dozens of mission critical systems

to AWS

• Largest project in our 75-year history

Page 9: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

Project Goals

• Reduce risks of legacy systems

• Speed time to market, rules-based

• Cloud-based global distribution for massive scalability

• Inventory anything based on perishable duration & warehouse

• US West, US East, Ireland, then Australia

• Support 50M messages per day

• Fully internationalized

• Accessible anywhere, on any device

• Secure PCI Level 1 certification, fully tokenized

• Enable alternate growth as SaaS

Page 10: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

AWS Components We’re Using

AWS components we are using:

• Amazon Route 53, Amazon VPC, Elastic Load

Balancing

• Auto Scaling groups

• Amazon EC2, Amazon S3

• Amazon SQS, Amazon SNS, Amazon SWF, IAM,

Amazon RDS (MySQL)

• Our systems transact $8B per year—and we’re putting

our core business engine on it.

Page 11: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

AWS Enables…

• Better focus on our business capabilities (and not on datacenter

management)

• Faster delivery of business features

• Global customer reach

• Near infinite capacity

• Near infinite scale

• Better resource planning (time frames)

• Ability to perform infrastructure cost optimizations (CapEx/OpEx)

• Automated recovery (we’re shutting down DR)

• Environmental consistency (dev > qa > sit >prod)

Page 12: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

The Problem

• All we knew was “retire the CRS”

• How do we start?

• How do we manage it?

• We know our competitors have spent nearly $100M with

3000 pages of requirements to show

• But we’re going to beta with real software used by real

people

Page 13: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

All models are wrong; some models are useful.

--George Box, statistician

Page 14: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

Lesson 1: Find the sine qua non

Page 15: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

Ask “what is Essential about this thing?”

• A mode of analysis about the components

• What are the necessary, required attributes of this

object in the system?

• What makes it itself?

• What—if you took it away—would make it not itself

anymore, but something else?

• You MUST have it, or there’s no show

Page 16: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

ToDo: Start with the Sine Qua Non

• Project level

• Group and place them on your roadmap.

• System & component level

• Fill in the architecture around them.

• Service level

• Program the interfaces early. You have relative certainty they

won’t be designed away.

Page 17: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

ToDo: If the System Could Do Just One Thing

public interface …What? { …

public interface ReservationService { …

public interface ReservationService {

createReservation { … }

}

public class ReservationServiceImpl implements ReservationService {

}

Page 18: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

ToDo: Make a Cookie Cutter

1. Return static data

2. Write a test

3. Compile and deploy

• Forces you to define conventions (HTTP response codes, naming)

• Forces you to continuously aiming for production

• Forces you to design from the outside-in

• Gives you a cookie cutter for all other services

• Principle of least knowledge, but applied to the project level

Page 19: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

ToDo: Program Services Middle-Out

API/

Service

Interface

Service

ImplementationDatabaseClient UI

Page 20: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

Lesson 2:

Find the

Candy Crush

Page 21: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

ToDo: Front Load Things That Open the Most

Opportunities for Change

• What allows other new things to

start?

• (Clears a column)

• What enables the most parallel work?

• Find capability milestones to ship

• A complete business capability

• Retire a legacy system

Page 22: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

The Project Plan Designed as a System

Page 23: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

ToDo: Short Circuit Your Propositions in Your

Project Plan

if (A || B)

do this

else

do that

Page 24: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

Lesson 3: Define what will help

you learn the most the earliest

Page 25: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

ToDo: Load Test Early & Often

• We started load testing just a few months in

• Then we tuned our design, updated the cookie cutter

• On AWS infrastructure, we get 1.2M calls/minute

• 6 times performance improvement

• Still improving

Page 26: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

ToDo: Define Your Metrics Early

• Determine how you’ll measure progress

• Bake them into services

Page 27: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

Poker and The Pareto (80/20) Rule

Ex: 80% of your profits come from 20% of your customers

Ex 2: Poker Basics:

• Learn the hands

• Learn rough idea of the odds

• Fold your worst hands

• Make modest effort to consider what your opponent might hold

Page 28: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

Doing only those things will substantially mitigate your

loses

• It means that because of the distribution of the cards,

80% of the time you’ll be making the same decision

as the best poker players on earth,

even though you’ve spent 20% of the time

learning the game as they have.

Therefore: What is the 20% you can learn or do now,

quickly, to be 80% as effective as the ideal?

Page 29: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

The man who invented the ship

also invented the shipwreck --Paul Virilio

Page 30: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

Lesson 4: Design for Resilience

Page 31: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

ToDo: Create a Pre-Mortem

Consider what you do when:

• Events that are supposed to happen don’t

• Events that are not supposed to happen do

• Surprise events that no one thought of occur

Page 32: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

ToDo: Perform a Due Diligence

As If You Were Buying Your Own Software

Page 33: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

ToDo: Establish a Competency Center

• Enforce standard development platform

• Java 8, Tomcat 8, Cassandra, Active MQ

• Guidelines and design reviews

• Ensure development is uniform between teams

• Reinforce architectural principles

• Ensure wiki is updated

• Help new people learn

• Reinforces team dynamics

Page 34: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

Lesson 5:

Make the

Uncertain Certain

Page 35: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

ToDo: Define the Architecture Formally

The purpose of architecture is to:

1. Create integrity / contain entropy

2. Show how the design supports the “-ilities”

1. Service catalog

2. Stakeholders actors use cases

3. Constraints, guidelines, patterns

4. Business, data, infrastructure, application architecture

3. Manage trade-Offs

Page 36: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

ToDo: Start at the End

• Start with a single, simple, concrete visual of the end state

• “We know we’re done the moment we power down the current

CRS”

• Work backwards from that image

Page 37: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

ToDo: Define the Cereal Box

Make the full-color

marketing brochure near

the beginning of the

project.

This gives you an

elevator pitch

Page 38: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

Decompose WorkStreams into Services

• What are the nouns & verbs that concern that

WorkStream?

• Guest, Inventory, Shopping

• Further decomposition gives you something to estimate

• Estimate the whole thing

• CapEx, OpEx, Licenses

• This is not textbook agile

• So, not for method bigots

• It IS for people who need the CFO to get their thing done

Page 39: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

The Method

• RUP+Scrum+Waterfall

• 18 WorkStreams tracked against budget

• Story-Paloozas

• 2-day planning events with visual story mapping with product

owners

• Creates “fixed-bid” deliverables

• Management itself works as a scrum team

Page 40: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

We’re Hiring!

To: [email protected]

Subject: AWS We’re Hiring

Page 41: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

Remember to complete

your evaluations!

Page 42: (SPOT205) 5 Lessons for Managing Massive IT Transformation Projects

Thank you!