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