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