Continuous Delivery Agile Tour Beirut 2015

Preview:

Citation preview

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

CONTINUOUSDELIVERYTHE FRENCH WAY

LESFURETS.COM

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)

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

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

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

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

RELEASE OFTEN

30 FEATURES IN PARALLEL AT WORK !

CONTINUOUS DELIVERYBY THE BOOK

Source: http://agilemanifesto.org

AGILE MANIFESTOPRINCIPLE 1

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

DELIVER EARLY, DELIVER OFTEN

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

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

THE PHOENIX PROJECT

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

PRODUCT DEVELOPMENT FLOWDON REINERTSEN

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

KANBAN : EVOLUTIONARY CHANGEDAVID ANDERSON

Visualize the workLimit the Work in ProcessExplicit RulesContinuous ImprovementLeadership

HOW GOOGLE TEST SOFTWAREJAMES WHITAKER

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

p>

GIT & GITHUB FLOWS

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

CONTINUOUS DELIVERYAT LESFURETS.COM

Deliver ...when it's ready

RELEASECodeTestDeployMonitor

SELF-MANAGED DEPLOYMENT

VALIDATION & QAShowcase/functional validationCode reviewsSeleniumRegression Testing : Zeno Pixel

SELENIUM

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

ZENOVISUAL REGRESSION

CONTINUOUS DELIVERYAT CODE-LEVEL

DON'T BE BLOCKED BY OTHERS !

CODEBASE LEVEL

FEATURE BRANCHING

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

octopus

master feature A feature B

octopus

master feature A

feature B

octopus

master feature A

feature Bdisposablecommit

RELEASE OFTENRelease is not an eventRelease what is readyNon blocking mindset

THANK YOU !

Twitter GitHub Git Octopus & Zeno Pixel

@BeastieFuretsLesFurets