go faster - remove inhibitors to rapid innovation

41

Click here to load reader

Upload: fred-george

Post on 14-Apr-2017

1.273 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Go Faster - Remove Inhibitors to Rapid Innovation

Go Faster!Tech, Process and

Organization

Fred [email protected]

@fgeorge52Copyright © 2015 by Fred George. All rights reserved. 1

Page 2: Go Faster - Remove Inhibitors to Rapid Innovation

3

Fred George

Copyright © 2015 by Fred George. All rights reserved.

Consulting Roles• Change Agent• Disruptor• “Hand grenade I am

throwing into development”• CTO describing Fred to his

Vice President

Page 3: Go Faster - Remove Inhibitors to Rapid Innovation

4

Industry “Hot” Topics

Copyright © 2015 by Fred George. All rights reserved.

MicroServices

Cloud

Docker

Dev/Ops Full-stack developer Agile

Lean startupCassandra

Event busMVP

(minimum viable

product

Programmer anarchy

Go Faster

No-SQL

One Hacker Way

Page 4: Go Faster - Remove Inhibitors to Rapid Innovation

5

Why: New Problem Domains: The Cynefin Framework

Copyright © 2015 by Fred George. All rights reserved.

Simple

ComplicatedComplex

ChaoticCause a Effect

Cause aaa Effect

Effect? Cause?

Cause ? Effect

Disorder

Page 5: Go Faster - Remove Inhibitors to Rapid Innovation

6

Why: Competition is coming

Copyright © 2015 by Fred George. All rights reserved.

• 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

Page 6: Go Faster - Remove Inhibitors to Rapid Innovation

7

How Fast Can You Go?

Copyright © 2015 by Fred George. All rights reserved.

Page 7: Go Faster - Remove Inhibitors to Rapid Innovation

8

Iteration Length in Agile Age

Copyright © 2015 by Fred George. All rights reserved.

1 mo.

20152000 2005 2010

3 wks.

2 wks.

1 wk.

1 day

XPXP

XP

XP

SCRUM**2-3 months

Page 8: Go Faster - Remove Inhibitors to Rapid Innovation

9

Project Delivery Cycles

Copyright © 2015 by Fred George. All rights reserved.

5 yrs.

1980 1990 2000

1 mon.1

week

1 day

2010

1 year

Proj

ect D

urat

ion

(log) Waterfall

Waterfall

AgileAgile

A2

A2

Waterfallw OO

Page 9: Go Faster - Remove Inhibitors to Rapid Innovation

10

How Fast Can You Go?

Copyright © 2015 by Fred George. All rights reserved.

Deployment to Production Every 3.5 minutes

Page 10: Go Faster - Remove Inhibitors to Rapid Innovation

11

Inhibitors

Copyright © 2015 by Fred George. All rights reserved.

Page 11: Go Faster - Remove Inhibitors to Rapid Innovation

12

•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.

Page 12: Go Faster - Remove Inhibitors to Rapid Innovation

13

Hardware Lead Times

Copyright © 2015 by Fred George. All rights reserved.

6 mo.

1990 1995 2005

30 min.

1 week1 day

2015

1 mo.

2000 2010

5 min.

5 sec.Orde

r lea

d tim

es (l

og) Data

Center

VirtualMachines

Docker

Commercial

CloudCapacity planning?Dedicated ops team?

Page 13: Go Faster - Remove Inhibitors to Rapid Innovation

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

10

1

1000

100

100,0001 10 100 1000 10,000

Size (loc)

Num

ber o

f Se

rvice

s

MicroServices

Rails / Java Zone

SOA

Workshop

Forward

Netflix

Services Impact

Page 14: Go Faster - Remove Inhibitors to Rapid Innovation

0MQ0MQ 0MQ

0MQ 0MQ 0MQ

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

Kafka

Service

Emerging: Event Bus

Page 15: Go Faster - Remove Inhibitors to Rapid Innovation

New Architecture Patterns

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

Bus

ServiceService

Service

NeedNeed

NeedSol’n’s Sol’n

•Variants easy•Graceful degradation

ChooseSol’n

Page 16: Go Faster - Remove Inhibitors to Rapid Innovation

17

Incremental Applications

Copyright © 2015 by Fred George. All rights reserved.

Event Bus

Rental offers

Car rent

Legacy

server

Brand offersLocation

offers

Segmentation

Membership

CarRent.com Login

Sally

A B

Page 17: Go Faster - Remove Inhibitors to Rapid Innovation

18

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.

Page 18: Go Faster - Remove Inhibitors to Rapid Innovation

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

Rental offers

Car rent

Legacy

server

Brand offersLocation

offers

Segmentation

Membership

CarRent.com Login

Sally

A B Rental offers

Event publishing

Solution collecting

300msresponder

Redis

Page 19: Go Faster - Remove Inhibitors to Rapid Innovation

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

Rental offers

Car rent

Legacy

server

Brand offersLocation

offers

Segmentation

Membership

CarRent.com Login

Sally

A B

Membership

enrichmentETL Key-

value

Page 20: Go Faster - Remove Inhibitors to Rapid Innovation

21

Open Source: Netflix

Copyright © 2015 by Fred George. All rights reserved.

Page 21: Go Faster - Remove Inhibitors to Rapid Innovation

22

Open Source: Docker

Copyright © 2015 by Fred George. All rights reserved.

Page 22: Go Faster - Remove Inhibitors to Rapid Innovation

23

Disruptive Technology: Functional Languages

Copyright © 2015 by Fred George. All rights reserved.

•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

Page 23: Go Faster - Remove Inhibitors to Rapid Innovation

24

Mitigate Process Inhibitors

Copyright © 2015 by Fred George. All rights reserved.

Page 24: Go Faster - Remove Inhibitors to Rapid Innovation

25

Understand Your Problem

Copyright © 2015 by Fred George. All rights reserved.

Complex

Simple

Complicated

ChaoticCause a Effect

Cause aaa Effect

Effect? Cause?

Cause ? Effect

Disorder

Page 25: Go Faster - Remove Inhibitors to Rapid Innovation

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

Requirements

Trying ideas

“Experimentation drives Innovation”

New Vision of “What” to Build

Page 26: Go Faster - Remove Inhibitors to Rapid Innovation

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

Task

Story

Feature

ProjectInitiative

Co-Credit: Greg Reiser, ThoughtWorks

Re-think Interactions

Page 27: Go Faster - Remove Inhibitors to Rapid Innovation

28

• 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.

Page 28: Go Faster - Remove Inhibitors to Rapid Innovation

29

Mitigate Organization Inhibitors

Copyright © 2015 by Fred George. All rights reserved.

Page 29: Go Faster - Remove Inhibitors to Rapid Innovation

30

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

Page 30: Go Faster - Remove Inhibitors to Rapid Innovation

31

Specialization Institutionalized with Titles

Copyright © 2015 by Fred George. All rights reserved.

Case Study:•50 IT professionals•25+ titles•0 people understanding projects

Page 31: Go Faster - Remove Inhibitors to Rapid Innovation

32

Solution: Fix the Titles

Copyright © 2015 by Fred George. All rights reserved.

Step 1: Define competence in key technologies

Master

Journeyman

Apprentice

Strategic Technologies• Ruby• Java• iOS• Android• DB (SQL and non-SQL)• Testing• OO Design• Node.js• HTML/CSS/JavaScript• …

Page 32: Go Faster - Remove Inhibitors to Rapid Innovation

33

New Titles for New Projects

Copyright © 2015 by Fred George. All rights reserved.

Graduate Developer

Not competent in a key technology

Developer Competent in a key technology

Senior Developer

Expert in a key technology

System Developer

Competent in 5-7 key technologies

Master Developer

Expert in 3-5 key technologies

Page 33: Go Faster - Remove Inhibitors to Rapid Innovation

34

“Fix the Furniture”*

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

Page 34: Go Faster - Remove Inhibitors to Rapid Innovation

35

Non-dedicated Leadership

Copyright © 2015 by Fred George. All rights reserved.

Page 35: Go Faster - Remove Inhibitors to Rapid Innovation

36

Bring Work to the Team…

Copyright © 2015 by Fred George. All rights reserved.

Not musical chairs for each small project

Page 36: Go Faster - Remove Inhibitors to Rapid Innovation

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

MicroServices

Cloud

Docker

Dev/Ops Full-stack developer Agile

Lean startup Cassandra

Event busMVP

(minimum viable

product

Programmer anarchy

Go Faster

No-SQL

Managerless process

Page 37: Go Faster - Remove Inhibitors to Rapid Innovation

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

MicroServices

Cloud

Docker

Dev/Ops Full-stack developer Agile

Lean startup Cassandra

Event busMVP

(minimum viable

product

Programmer anarchy

Go Faster

No-SQL

Managerless process

Page 38: Go Faster - Remove Inhibitors to Rapid Innovation

39

Project Delivery Cycles

Copyright © 2015 by Fred George. All rights reserved.

NRK

NRK

5 yrs.

1980 1990 2000

1 mon.1

week

1 day

2010

1 year

Proj

ect D

urat

ion

(log) Waterfall

Waterfall

AgileAgile

Waterfallw OO

Page 39: Go Faster - Remove Inhibitors to Rapid Innovation

40

Acknowledgements

Copyright © 2015 by Fred George. All rights reserved.

•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”

Page 40: Go Faster - Remove Inhibitors to Rapid Innovation

41

More Information…•Google:•MicroService Architecture for videos•MicroXchg 2015, 2016 conferences•MicroService track in most conferences• Programmer Anarchy for managerless teams•Docker for latest container deployment

Copyright © 2015 by Fred George. All rights reserved.

Page 41: Go Faster - Remove Inhibitors to Rapid Innovation

Go Faster:Tech, Process, &

Organization

Fred [email protected]

@fgeorge52Copyright © 2015 by Fred George. All rights reserved. 42