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

Continuous Delivery Agile Tour Beirut 2015

Embed Size (px)

Citation preview

Page 1: Continuous Delivery Agile Tour Beirut 2015

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

CONTINUOUSDELIVERYTHE FRENCH WAY

Page 2: Continuous Delivery Agile Tour Beirut 2015
Page 3: Continuous Delivery Agile Tour Beirut 2015
Page 4: Continuous Delivery Agile Tour Beirut 2015

LESFURETS.COM

Page 5: Continuous Delivery Agile Tour Beirut 2015

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 Agile Tour Beirut 2015

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

Page 7: Continuous Delivery Agile Tour Beirut 2015

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

Page 8: Continuous Delivery Agile Tour Beirut 2015

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

Page 9: Continuous Delivery Agile Tour Beirut 2015

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 Agile Tour Beirut 2015

RELEASE OFTEN

Page 11: Continuous Delivery Agile Tour Beirut 2015

30 FEATURES IN PARALLEL AT WORK !

Page 12: Continuous Delivery Agile Tour Beirut 2015

CONTINUOUS DELIVERYBY THE BOOK

Page 13: Continuous Delivery Agile Tour Beirut 2015

Source: http://agilemanifesto.org

Page 14: Continuous Delivery Agile Tour Beirut 2015

AGILE MANIFESTOPRINCIPLE 1

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

Page 15: Continuous Delivery Agile Tour Beirut 2015

DELIVER EARLY, DELIVER OFTEN

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

Page 16: Continuous Delivery Agile Tour Beirut 2015

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 Agile Tour Beirut 2015

THE PHOENIX PROJECT

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

Page 18: Continuous Delivery Agile Tour Beirut 2015

PRODUCT DEVELOPMENT FLOWDON REINERTSEN

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

Page 19: Continuous Delivery Agile Tour Beirut 2015

KANBAN : EVOLUTIONARY CHANGEDAVID ANDERSON

Visualize the workLimit the Work in ProcessExplicit RulesContinuous ImprovementLeadership

Page 20: Continuous Delivery Agile Tour Beirut 2015

HOW GOOGLE TEST SOFTWAREJAMES WHITAKER

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

Page 21: Continuous Delivery Agile Tour Beirut 2015

p>

GIT & GITHUB FLOWS

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

Page 22: Continuous Delivery Agile Tour Beirut 2015

CONTINUOUS DELIVERYAT LESFURETS.COM

Page 23: Continuous Delivery Agile Tour Beirut 2015

Deliver ...when it's ready

Page 24: Continuous Delivery Agile Tour Beirut 2015

RELEASECodeTestDeployMonitor

Page 25: Continuous Delivery Agile Tour Beirut 2015

SELF-MANAGED DEPLOYMENT

Page 26: Continuous Delivery Agile Tour Beirut 2015

VALIDATION & QAShowcase/functional validationCode reviewsSeleniumRegression Testing : Zeno Pixel

Page 27: Continuous Delivery Agile Tour Beirut 2015

SELENIUM

Page 28: Continuous Delivery Agile Tour Beirut 2015

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

Page 29: Continuous Delivery Agile Tour Beirut 2015

ZENOVISUAL REGRESSION

Page 30: Continuous Delivery Agile Tour Beirut 2015

CONTINUOUS DELIVERYAT CODE-LEVEL

Page 31: Continuous Delivery Agile Tour Beirut 2015

DON'T BE BLOCKED BY OTHERS !

Page 32: Continuous Delivery Agile Tour Beirut 2015

CODEBASE LEVEL

Page 33: Continuous Delivery Agile Tour Beirut 2015

FEATURE BRANCHING

Page 34: Continuous Delivery Agile Tour Beirut 2015

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

Page 35: Continuous Delivery Agile Tour Beirut 2015

octopus

master feature A feature B

Page 36: Continuous Delivery Agile Tour Beirut 2015

octopus

master feature A

feature B

Page 37: Continuous Delivery Agile Tour Beirut 2015

octopus

master feature A

feature Bdisposablecommit

Page 38: Continuous Delivery Agile Tour Beirut 2015

RELEASE OFTENRelease is not an eventRelease what is readyNon blocking mindset

Page 39: Continuous Delivery Agile Tour Beirut 2015

THANK YOU !

Twitter GitHub Git Octopus & Zeno Pixel

@BeastieFuretsLesFurets