40
Go Faster: Tech, Process, & Organization Fred George fredgeorge@acm.org @fgeorge52 Copyright © 2015 by Fred George. All rights reserved. 1

Go Faster - YOW! Conferences and Workshopsyowconference.com.au/slides/yowwest2015/George-GoFaster.pdf•“Hand grenade I am throwing ... •Former programmer who wanted to Go Faster

  • Upload
    dinhanh

  • View
    226

  • Download
    4

Embed Size (px)

Citation preview

Go Faster:Tech, Process, & Organization

Fred George

[email protected]

@fgeorge52

Copyright © 2015 by Fred George. All rights reserved. 1

Fred George

Copyright © 2015 by Fred George. All rights reserved. 3

Consulting Roles

• Change Agent

• Disruptor

• “Hand grenade I am throwing

into development”

• CTO describing Fred to his Vice

President

Industry “Hot” Topics

Copyright © 2015 by Fred George. All rights reserved. 4

MicroServices

Cloud

Docker

Dev/Ops Full-stack

developerAgile

Lean startupCassandra

Event busMVP (minimum

viable product

Programmer

anarchy

No-SQL

Why: New Problem Domains: The Cynefin Framework

Copyright © 2015 by Fred George. All rights reserved. 5

Simple

ComplicatedComplex

ChaoticCause a Effect

Cause aaa Effect

Effect? Cause?

Cause ? Effect

Disorder

Why: Competition is coming

Copyright © 2015 by Fred George. All rights reserved. 6

• Enablement through technologies

• Cloud computing

• Ubiquitous, high bandwidth

• Languages (and supporting frameworks)

• Recognition of business opportunities

• Silicon Valley innovators as role models

• Accelerating business needs

• Few inhibitors for global competitors

• Reduction of entry barriers for niche competitors

• Micro-marketing to specific customer niches

How Fast Can You Go?

Copyright © 2015 by Fred George. All rights reserved. 7

Iteration Length in Agile Age

Copyright © 2015 by Fred George. All rights reserved. 8

1 mo.

20152000 2005 2010

3 wks.

2 wks.

1 wk.

1 day

XP

XP

XP

XP

SCRUM* *2-3 months

Project Delivery Cycles

Copyright © 2015 by Fred George. All rights reserved. 9

5 yrs.

1980 1990 2000

1 mon.

1 week

1 day

2010

1 year

Pro

ject D

ura

tio

n (

log) Waterfall

Waterfall

Agile

Agile

A2

A2

Waterfall

w OO

How Fast Can You Go?

Copyright © 2015 by Fred George. All rights reserved. 10

Deployment to Production Every 3.5 minutes

Inhibitors

Copyright © 2015 by Fred George. All rights reserved. 11

•Cloud exploitation

•Specialized databases

•New programming languages

•Open source frameworks (users and creators)

•Continuous releases

“Valley Tech”

Copyright © 2015 by Fred George. All rights reserved. 12

Hardware Lead Times

Copyright © 2015 by Fred George. All rights reserved. 13

6 mo.

1990 1995 2005

30 min.

1 week

1 day

2015

1 mo.

2000 2010

5 min.

5 sec.Ord

er

lead

tim

es (

log)

Data Center

Virtual

Machines

Docker

Commercial

CloudCapacity planning?

Dedicated ops team?

Copyright © 2015 by Fred George. All rights reserved. 14

10

1

1000

10

0

100,0001 10 100 1000 10,000

Size (loc)

Num

be

r of S

erv

ices MicroServices

Rails / Java Zone

SO

A

Workshop

Forward

Netflix

Services Impact

0MQ

0MQ 0MQ

0MQ 0MQ 0MQ

Copyright © 2015 by Fred George. All rights reserved. 15

Kafka

Service

Emerging: Event Bus

New Architecture Patterns

Copyright © 2015 by Fred George. All rights reserved. 16

Bus

ServiceService

Service

Need

Need

Need

Sol’n’sSol’n

•Variants easy

•Graceful degradation

Choose

Sol’n

Incremental Applications

Copyright © 2015 by Fred George. All rights reserved. 17

Event Bus

Rental

offers

Car

rent

Legacy

server

Brand

offersLocation

offers

Segmentation

Membership

CarRent.com Login

Sally

A B

Databases:Holy Grail or Ball-and-Chain?

• Fortune 100 view:

• Entity-oriented; consistency essential

• As few as possible

• MicroService view:

• Shift to Event Bus, plus

• DB per MicroService (if persistence needed)

• Poly-glot (various NoSQL, SQL) + event buses

• Few (10%) writable; even fewer transactional

Copyright © 2015 by Fred George. All rights reserved. 18

Copyright © 2015 by Fred George. All rights reserved. 19

Rental

offers

Car

rent

Legacy

server

Brand

offersLocation

offers

Segmentation

Membership

CarRent.com Login

Sally

A B Rental

offers

Event

publishingSolution

collecting

300ms

responder

Redis

Copyright © 2015 by Fred George. All rights reserved. 20

Rental

offers

Car

rent

Legacy

server

Brand

offersLocation

offers

Segmentation

Membership

CarRent.com Login

Sally

A B

Membership

enrichmentETL Key-value

Open Source: Netflix

Copyright © 2015 by Fred George. All rights reserved. 21

Open Source: Docker

Copyright © 2015 by Fred George. All rights reserved. 22

Disruptive Technology: Functional Languages

Copyright © 2015 by Fred George. All rights reserved. 23

•Middleware exploiting:

• Kafka written in Scala

• RabbitMQ written in Erlang

•Case study: MailOnline page rendering

• Legacy system: 130K loc Java/JSP’s

• Replacement: 4,000 loc Clojure

Mitigate Process Inhibitors

Copyright © 2015 by Fred George. All rights reserved. 24

Understand Your Problem

Copyright © 2015 by Fred George. All rights reserved. 25

Complex

Simple

Complicated

ChaoticCause a Effect

Cause aaa Effect

Effect? Cause?

Cause ? Effect

Disorder

Copyright © 2015 by Fred George. All rights reserved. 26

Requirements

Trying ideas

“Experimentation

drives Innovation”

New Vision of “What” to Build

Copyright © 2015 by Fred George. All rights reserved. 27

Task

Story

Feature

Project

Initiative

Co-Credit: Greg Reiser, ThoughtWorks

Re-think Interactions

• Bad metrics:

• Lines of code

• Development stages and milestones met

•Business success metrics:

• Sales, clicks, registrations, customer retention, etc.

Measure What Matters

Copyright © 2015 by Fred George. All rights reserved. 28

Mitigate Organization Inhibitors

Copyright © 2015 by Fred George. All rights reserved. 29

Over-Specialization

Copyright © 2015 by Fred George. All rights reserved.

•Theory:

• Specialist are more productive

•Practice:

• Overhead of communication is under-estimated

• Unbalanced workload creates delays

30

Specialization Institutionalized with Titles

Copyright © 2015 by Fred George. All rights reserved. 31

Case Study:

•50 IT professionals

•25+ titles

•0 people understanding projects

Solution: Fix the Titles

Copyright © 2015 by Fred George. All rights reserved. 32

Step 1: Define competence in key technologies

Strategic Technologies• Ruby

• Java

• iOS

• Android

• DB (SQL and non-SQL)

• Testing

• OO Design

• Node.js

• HTML/CSS/JavaScript

• …

New Titles for New Projects

Copyright © 2015 by Fred George. All rights reserved. 33

Not competent in a

key technology

Competent in a key

technology

Expert in a key

technology

Competent in 5-7

key technologies

Expert in 3-5 key

technologies

“Fix the Furniture”*

Copyright © 2015 by Fred George. All rights reserved. 34*Kent Beck, XP Explained

Non-dedicated Leadership

Copyright © 2015 by Fred George. All rights reserved. 35

Bring Work to the Team…

Copyright © 2015 by Fred George. All rights reserved. 36

Not musical

chairs for each

small project

Reinforcing Movements

Copyright © 2015 by Fred George. All rights reserved. 39

MicroServices

Cloud

Docker

Dev/Ops Full-stack

developerAgile

Lean startupCassandra

Event busMVP (minimum

viable product

Programmer

anarchy

No-SQL

Project Delivery Cycles

Copyright © 2015 by Fred George. All rights reserved. 40

NRK

NRK

5 yrs.

1980 1990 2000

1 mon.

1 week

1 day

2010

1 year

Pro

ject D

ura

tio

n (

log) Waterfall

Waterfall

Agile

AgileWaterfall

w OO

Acknowledgements

Copyright © 2015 by Fred George. All rights reserved. 41

•Neil Hutchinson – Founder of Forward

• Adopting a “Fail Fast” culture

•Carl Gaywood

• Former programmer who wanted to Go Faster

•Paul Ingles and Mike Jones

• Implementers of “Experimentation drives innovation”

More Information…

•Google:

• MicroService Architecture for videos

• MicroXchg 2015 conference

• Programmer Anarchy for managerless teams

• Docker for latest container deployment

Copyright © 2015 by Fred George. All rights reserved. 42

Go Faster:Tech, Process, & Organization

Fred George

[email protected]

@fgeorge52

Copyright © 2015 by Fred George. All rights reserved. 43