Go Faster:

Transcription

Go Faster:
Go Faster:
Tech, Process, & Organization
Fred George
[email protected]
@fgeorge52
Copyright © 2015 by Fred George. All rights reserved.
1
Fred George
Consulting Roles
• Change Agent
• Disruptor
• “Hand grenade I am throwing
into development”
• CTO describing Fred to his Vice
President
Copyright © 2015 by Fred George. All rights reserved.
3
Lean startup
Cassandra
MicroServices
Programmer
anarchy
Industry “Hot” Topics
Dev/Ops
Cloud
Full-stack
developer
Docker
Agile
Event bus
MVP (minimum
viable product
Copyright © 2015 by Fred George. All rights reserved.
No-SQL
4
Complex
Complicated
Cause ? Effect
Cause aaa Effect
Chaotic
Simple
Effect? Cause?
Cause a Effect
Why: New Problem Domains:
The CynefinDisorder
Framework
Copyright © 2015 by Fred George. All rights reserved.
5
• Enablement through technologies
• Cloud computing
• Ubiquitous, high bandwidth
• Languages (and supporting frameworks)
Why: Competition is coming
• 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
Copyright © 2015 by Fred George. All rights reserved.
6
How Fast Can You Go?
Copyright © 2015 by Fred George. All rights reserved.
7
SCRUM* *2-3 months
1 mo.
3 wks.
XP
Iteration Length
in Agile Age
XP
2 wks.
XP
1 wk.
XP
1 day
2000
2005
Copyright © 2015 by Fred George. All rights reserved.
2010
2015
8
Project Duration (log)
5 yrs.
Waterfall
1 year
Waterfall
Waterfall
w OO
Agile
Agile
Project Delivery Cycles
1 mon.
1 week
1 day
A2
A2
1980
Copyright © 2015 by Fred George. All rights reserved.
1990
2000
2010
9
How Fast Can You Go?
Deployment to Production Every 3.5 minutes
Copyright © 2015 by Fred George. All rights reserved.
10
Inhibitors
Copyright © 2015 by Fred George. All rights reserved.
11
• Cloud exploitation
• Specialized databases
“Valley
Tech”languages
• New programming
• Open source frameworks (users and creators)
• Continuous releases
Copyright © 2015 by Fred George. All rights reserved.
12
Order lead times (log)
6 mo.
Data Center
1 mo.
1 week
Virtual
Machines
1 day
Hardware
Lead Times
30 min.
5 min.
Commercial
Cloud
Capacity planning?
Dedicated ops team?
Docker
5 sec.
1990
1995
Copyright © 2015 by Fred George. All rights reserved.
2000
2005
2010
2015
13
Number of Services
1000
Netflix
MicroServices
Forward
10
0
SO
A
Services Impact
10
Workshop
Rails / Java Zone
1
1
10
Copyright © 2015 by Fred George. All rights reserved.
100
1000
Size (loc)
10,000
100,000
14
0MQ
0MQ
0MQ
Kafka Bus
Emerging: Event
0MQ
0MQ
0MQ
Service
Copyright © 2015 by Fred George. All rights reserved.
15
Bus
Need
Choose
Sol’n
Need
Sol’n
Sol’n’s
Need
New
Architecture
Patterns
Service
Service
• Variants easy
Service
• Graceful degradation
Copyright © 2015 by Fred George. All rights reserved.
16
CarRent.com
Login
Car
rent
Sally
A
B
Rental
offers
Legacy
server
Incremental Applications
Event Bus
Segmentation
Membership
Copyright © 2015 by Fred George. All rights reserved.
Location
offers
Brand
offers
17
• Fortune 100 view:
• Entity-oriented; consistency essential
• As few as possible
Databases:
• MicroService view:
Holy Grail or Ball-and-Chain?
• 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
CarRent.com
Login
Car
rent
Sally
A
B
Solution
collecting
Event
Rental
publishing
offers
Legacy
server
Redis
300ms
responder
Segmentation
Membership
Copyright © 2015 by Fred George. All rights reserved.
Location
offers
Brand
offers
19
CarRent.com
Login
Car
rent
Sally
A
ETL
B
Key-value
Rental
offers
Legacy
server
Membership
enrichment
Segmentation
Membership
Copyright © 2015 by Fred George. All rights reserved.
Location
offers
Brand
offers
20
Open Source: Netflix
Copyright © 2015 by Fred George. All rights reserved.
21
Open Source: Docker
Copyright © 2015 by Fred George. All rights reserved.
22
• Middleware exploiting:
• Kafka written in Scala
Disruptive
Technology:
• RabbitMQ written
in Erlang
Functional
Languages
• Case study: MailOnline page rendering
• Legacy system: 130K loc Java/JSP’s
• Replacement: 4,000 loc Clojure
Copyright © 2015 by Fred George. All rights reserved.
23
Mitigate Process Inhibitors
Copyright © 2015 by Fred George. All rights reserved.
24
Understand Your Problem
Complex
Complicated
Cause ? Effect
Cause aaa Effect
Disorder
Chaotic
Simple
Effect? Cause?
Cause a Effect
Copyright © 2015 by Fred George. All rights reserved.
25
New Vision of “What” to Build
Trying ideas
Requirements
Copyright © 2015 by Fred George. All rights reserved.
“Experimentation
drives Innovation”
26
Initiative
Project
Re-think Interactions
Feature
Story
Task
Copyright © 2015 by Fred George. All rights reserved.
Co-Credit: Greg Reiser, ThoughtWorks
27
• Bad metrics:
• Lines of code
• Development stages and milestones met
Measure What Matters
• Business success metrics:
• Sales, clicks, registrations, customer retention, etc.
Copyright © 2015 by Fred George. All rights reserved.
28
Mitigate Organization
Inhibitors
Copyright © 2015 by Fred George. All rights reserved.
29
• Theory:
• Specialist are more productive
•Over-Specialization
Practice:
• Overhead of communication is under-estimated
• Unbalanced workload creates delays
Copyright © 2015 by Fred George. All rights reserved.
30
Case Study:
• 50 IT professionals
Specialization Institutionalized
•with
25+ titles
Titles
• 0 people understanding projects
Copyright © 2015 by Fred George. All rights reserved.
31
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
…
Solution: Fix the Titles
Copyright © 2015 by Fred George. All rights reserved.
32
Expert in 3-5 key
technologies
Competent
in 5-7
key technologies
Expert in a key
technology
New Titles for New Projects
Competent in a key
technology
Not competent in a
key technology
Copyright © 2015 by Fred George. All rights reserved.
33
“Fix the Furniture”*
Copyright © 2015 by Fred George. All rights reserved.
*Kent Beck, XP Explained
34
Non-dedicated Leadership
Copyright © 2015 by Fred George. All rights reserved.
35
Bring Work to the Team…
Not musical
chairs for each
small project
Copyright © 2015 by Fred George. All rights reserved.
36
Reinforcing Movements
Lean startup
Cassandra
MicroServices
Programmer
anarchy
Docker
Dev/Ops
Cloud
Full-stack
developer
Agile
Event bus
MVP (minimum
viable product
Copyright © 2015 by Fred George. All rights reserved.
No-SQL
39
Project Duration (log)
Project Delivery Cycles
5 yrs.
Waterfall
1 year
Waterfall
Waterfall
w OO
Agile
Agile
1 mon.
NRK
1 week
1 day
NRK
1980
Copyright © 2015 by Fred George. All rights reserved.
1990
2000
2010
40
• Neil Hutchinson – Founder of Forward
• Adopting a “Fail Fast” culture
•Acknowledgements
Carl Gaywood
• Former programmer who wanted to Go Faster
• Paul Ingles and Mike Jones
• Implementers of “Experimentation drives innovation”
Copyright © 2015 by Fred George. All rights reserved.
41
• Google:
More Information…
• 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