continuous delivery the french way – dimitri baeli

39
Dimitri BAELI -- LesFurets.com -- @dbaeli Agile Tour Beirut 2015 CONTINUOUS DELIVERY THE FRENCH WAY

Upload: agile-tour-beirut

Post on 14-Apr-2017

232 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Continuous Delivery the French Way – Dimitri Baeli

Dimitri BAELI -- LesFurets.com -- @dbaeli Agile Tour Beirut 2015

CONTINUOUSDELIVERYTHE FRENCH WAY

Page 2: Continuous Delivery the French Way – Dimitri Baeli
Page 3: Continuous Delivery the French Way – Dimitri Baeli
Page 4: Continuous Delivery the French Way – Dimitri Baeli

LESFURETS.COM

Page 5: Continuous Delivery the French Way – Dimitri Baeli

THE TEAM24 software engineers (500k lines of code)4 Business Analysts (100+ features/year)2 Sysadmins (10+ Servers)1 Delivery Manager (Agile)1 Program Manager (Portfolio)

Page 6: Continuous Delivery the French Way – Dimitri Baeli

THE CODEBASE500.000 lines of code30.000 Unit tests200 Automated in Browser tests

Page 7: Continuous Delivery the French Way – Dimitri Baeli

IN 2011: 11 RELEASESPlan/Estimate/Code/Test/Release monthlyMonthly SprintsRelease = ~360 man days of coding

Page 8: Continuous Delivery the French Way – Dimitri Baeli

IN 2013: 60 RELEASESEstimate/Code/Test/Release monthlyWeekly cherry picksRelease = ~100 man days of coding

Page 9: Continuous Delivery the French Way – Dimitri Baeli

IN 2014: 211 RELEASESShip what is READY the next dayDon't be blocked by unready codeRelease = ~30 man days of coding

Page 10: Continuous Delivery the French Way – Dimitri Baeli

RELEASE OFTEN

Page 11: Continuous Delivery the French Way – Dimitri Baeli

30 FEATURES IN PARALLEL AT WORK !

Page 12: Continuous Delivery the French Way – Dimitri Baeli

CONTINUOUS DELIVERYBY THE BOOK

Page 13: Continuous Delivery the French Way – Dimitri Baeli

Source: http://agilemanifesto.org

Page 14: Continuous Delivery the French Way – Dimitri Baeli

AGILE MANIFESTOPRINCIPLE 1

"Our highest priority is to satisfy the customer through early and continuous delivery ofvaluable software."

Page 15: Continuous Delivery the French Way – Dimitri Baeli

DELIVER EARLY, DELIVER OFTEN

Source: http://paulhammant.com/2013/03/13/facebook-tbd-take-2/

Page 16: Continuous Delivery the French Way – Dimitri Baeli

CONTINUOUS DELIVERYJEZ HUMBLE, DAVID FARLEY

1. Fast builds2. Pre-Commit check (all tests ever ok)3. Simple and fast automated deployments4. Production monitoring and alerting5. Root Cause Analysis

Page 17: Continuous Delivery the French Way – Dimitri Baeli

THE PHOENIX PROJECT

1. Novel about complex projects in IT2. Experts are constraint3. Power of Agile/DevOps

Page 18: Continuous Delivery the French Way – Dimitri Baeli

PRODUCT DEVELOPMENT FLOWDON REINERTSEN

Work with a flowManage Queues of workLead Time more than work durationReduce per release costs

Page 19: Continuous Delivery the French Way – Dimitri Baeli

KANBAN : EVOLUTIONARY CHANGEDAVID ANDERSON

Visualize the workLimit the Work in ProcessExplicit RulesContinuous ImprovementLeadership

Page 20: Continuous Delivery the French Way – Dimitri Baeli

HOW GOOGLE TEST SOFTWAREJAMES WHITAKER

Dev QA their own changesBuild test tools for devsAutomate where Failures occurs

Page 21: Continuous Delivery the French Way – Dimitri Baeli

p>

GIT & GITHUB FLOWS

http://scottchacon.com/2011/08/31/github-flow.html

Page 22: Continuous Delivery the French Way – Dimitri Baeli

CONTINUOUS DELIVERYAT LESFURETS.COM

Page 23: Continuous Delivery the French Way – Dimitri Baeli

Deliver ...when it's ready

Page 24: Continuous Delivery the French Way – Dimitri Baeli

RELEASECodeTestDeployMonitor

Page 25: Continuous Delivery the French Way – Dimitri Baeli

SELF-MANAGED DEPLOYMENT

Page 26: Continuous Delivery the French Way – Dimitri Baeli

VALIDATION & QAShowcase/functional validationCode reviewsSeleniumRegression Testing : Zeno Pixel

Page 27: Continuous Delivery the French Way – Dimitri Baeli

SELENIUM

Page 28: Continuous Delivery the French Way – Dimitri Baeli

SELENIUMPage Object PatternFluent API (FluentLenium like)Selenium in the sky with LXC200 Selenium tests in <10min

Page 29: Continuous Delivery the French Way – Dimitri Baeli

ZENOVISUAL REGRESSION

Page 30: Continuous Delivery the French Way – Dimitri Baeli

CONTINUOUS DELIVERYAT CODE-LEVEL

Page 31: Continuous Delivery the French Way – Dimitri Baeli

DON'T BE BLOCKED BY OTHERS !

Page 32: Continuous Delivery the French Way – Dimitri Baeli

CODEBASE LEVEL

Page 33: Continuous Delivery the French Way – Dimitri Baeli

FEATURE BRANCHING

Page 34: Continuous Delivery the French Way – Dimitri Baeli

CONTINUOUS INTEGRATIONON EVERY COMMITCompilationAutomated testsBonus: Merge all branches (and test)

Page 35: Continuous Delivery the French Way – Dimitri Baeli

octopus

master feature A feature B

Page 36: Continuous Delivery the French Way – Dimitri Baeli

octopus

master feature A

feature B

Page 37: Continuous Delivery the French Way – Dimitri Baeli

octopus

master feature A

feature Bdisposablecommit

Page 38: Continuous Delivery the French Way – Dimitri Baeli

RELEASE OFTENRelease is not an eventRelease what is readyNon blocking mindset

Page 39: Continuous Delivery the French Way – Dimitri Baeli

THANK YOU !

Twitter GitHub Git Octopus & Zeno Pixel

@BeastieFuretsLesFurets