SlideShare a Scribd company logo
Continuous Delivery at Dashlane
A path to releasing faster and better
We are Tanguy Le Barzic, Backend Team Lead
and Frédéric Rivain, CTO of Dashlane.
We build a Password Manager, to
help you manage your identity
and your payments in a simple
and secure way everywhere.
A bit of context
Funded in 2009 by Bernard Liautaud and 3 Centrale students
110 employees in Paris and New York
• Product & Engineering in Paris
• Marketing & Sales in New York
4 business lines:
• Consumer product (B2C)
• Enterprise offer (B2B)
• Financial Partners
• API and Dev Ecosystem
• 7 “production” teams
Our Goal
• The ability to deliver to production, fast, reliably and on-demand, through an
industrialized automated Release Pipeline.
The Dashlane Platform
Our starting point
• Old fragile mercurial versioning system.
• Limited CI
• Limited unit tests
• Manual QA
• No systematic Code Review
• But already a « DevOps » spirit in all teams
 We first needed to address the prerequisites.
Code
• Migration to Git (Bitbucket) and review of the branching strategy for each team
• Setting up a real Continuous Integration (Bamboo)
Code Quality
• Mandatory Pull Requests with
multiple reviewers
• Code Quality Tools
• Sonar, Lint,…
Test Automation
• Climbing the Pyramid of tests.
• Hard and long.
• Train manual QA to start coding automated tests
• Focus Devs on unit tests
• Define smoke tests scope
• Find the right tools for functional tests for each platform
• iOS: Xcode
• Android: Espresso
• Windows: Ranorex
• Mac: Xcode
• Web: Watir
• Plug into CI
• Keep pushing over and over.
• Way better today, but still work to do.
UNIT TESTS
INTEGRATION TESTS
FUNCTIONAL
TESTS
MANUAL
TESTS
AUTOMATED
TESTS
Monitoring
• Already a good logging framework. Sent by our applications to track user
activity and performance
• Business logs
• Technical logs
• Performance logs
• Dashboards in Kibana and Tableau
• Adding Alert System
• Practice of Morning Gymnastics
Focusing now on Continuous Delivery
• Painting the Target Release Pipeline
What is our Continuous Delivery Target?
• Each platform is specific.
• Adapt what we mean by Continuous Delivery for each platform.
• Ability to ship native client every week.
Platform Frequency
iOS Release train every 2 weeks
Android Release train every 2 weeks
Windows Release train every 2 weeks. Silent install. Targeting every week.
MacOS Release train every 2 weeks for Mac AppStore
Release train every 2 weeks for DMG. Silent install. Targeting every week.
Web Extensions: Release train every 2 weeks. Silent install. Targeting every week.
Web Apps: On Demand, except Fridays.
Server / Backend On Demand, except Fridays.
Web Site On Demand, except Fridays.
Diving
• First iterations were painful.
• Some fear of the unknown.
• Fix issues and smooth process as we progress.
• Improve QA process as well.
• Everybody eventually feeling happier: dev, product, business,…
Continuous Delivery Tools
• Build our own Feature Flipping tool.
• Improving Monitoring Dashboards for releases.
• Working on building an improved version of our old A/B Test Engine.
Example of the server team
• 10 developers (in Paris and Vilnius)
• 50 or so projects
• Main project (‘user’ webservices)
• 370k lines
• 3000 tests (closer to integration tests than unit tests)
• CI on every branch (tests and linting)
• 2 approvals for each PR, rebase enforced
• Deployment triggered manually, in one command
• Average of 2 deployments a day
CD pipeline
JIRA
Performance is a feature – CD edition
• One of the goals of CD: faster feedback, less context switching
• The speed of every step of the pipeline matters
• Time to run the CI
• Time for code reviews
• Time for QA
• Time for deployment
Aggregated metric: time to ship a commit
What are the next things to improve?
• How long is your pipeline taking? If you had to fix something now, what’s the
smallest ETA of a fix?
• Do you have a bad feeling about this particular deployment?
• « Make sure to watch the error logs after this one »
• How many things do you have to think about before deploying?
• « Update the credentials »
• « Make sure you pull the deployment project »
• « Don’t forget to alter the database before deploying »
• Do you know whether a given JIRA story has been shipped, to who?
Questions ?
Thank you
© 2017 Dashlane, Inc

More Related Content

What's hot

Portfolio & Roadmap: 2 tools to scale Agile
Portfolio & Roadmap: 2 tools to scale AgilePortfolio & Roadmap: 2 tools to scale Agile
Portfolio & Roadmap: 2 tools to scale Agile
Dashlane
 
Kanban testing
Kanban testingKanban testing
Kanban testing
Cprime
 
Relieveing the Testing Bottle Neck - Webinar
Relieveing the Testing Bottle Neck - WebinarRelieveing the Testing Bottle Neck - Webinar
Relieveing the Testing Bottle Neck - Webinar
Cprime
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017
Chris Kernaghan
 
Software Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseSoftware Release Orchestration and the Enterprise
Software Release Orchestration and the Enterprise
XebiaLabs
 
W4 0245 agility_v1
W4 0245 agility_v1W4 0245 agility_v1
W4 0245 agility_v1colleenfry
 
Agile Product Owner
Agile Product OwnerAgile Product Owner
Agile Product Owner
Aaron Sanders
 
Understanding the DevOps Tooling Landscape
Understanding the DevOps Tooling LandscapeUnderstanding the DevOps Tooling Landscape
Understanding the DevOps Tooling Landscape
XebiaLabs
 
Scaling Agile in the Enterprise
Scaling Agile in the EnterpriseScaling Agile in the Enterprise
Scaling Agile in the Enterprisecolleenfry
 
The Past, Present, and Future of Scrum
The Past, Present, and Future of ScrumThe Past, Present, and Future of Scrum
The Past, Present, and Future of Scrum
TechWell
 
Agile Overview Session
Agile Overview SessionAgile Overview Session
Agile Overview Session
Bahaa Farouk
 
Scaling Agile: SAFe with Visual Studio Team Foundation Server
Scaling Agile: SAFe with Visual Studio Team Foundation Server Scaling Agile: SAFe with Visual Studio Team Foundation Server
Scaling Agile: SAFe with Visual Studio Team Foundation Server
InCycle Software
 
Pricing Pitfalls...and How to Counter Them
Pricing Pitfalls...and How to Counter ThemPricing Pitfalls...and How to Counter Them
Pricing Pitfalls...and How to Counter Them
Gus Prestera
 
Achieving Balanced Agile Testing
Achieving Balanced Agile Testing Achieving Balanced Agile Testing
Achieving Balanced Agile Testing
Cprime
 
Realtech us dev_ops4sap_webinar_slides_06302020
Realtech us dev_ops4sap_webinar_slides_06302020Realtech us dev_ops4sap_webinar_slides_06302020
Realtech us dev_ops4sap_webinar_slides_06302020
David Milano
 
A Quick Intro to Agile, DevOps & Lean Development in the Enterprise
A Quick Intro to Agile, DevOps & Lean Development in the EnterpriseA Quick Intro to Agile, DevOps & Lean Development in the Enterprise
A Quick Intro to Agile, DevOps & Lean Development in the Enterprise
Tasktop
 
DOES16 London - Jan Schilt - DevOps Is Not Going to Work: The Phoenix Project...
DOES16 London - Jan Schilt - DevOps Is Not Going to Work: The Phoenix Project...DOES16 London - Jan Schilt - DevOps Is Not Going to Work: The Phoenix Project...
DOES16 London - Jan Schilt - DevOps Is Not Going to Work: The Phoenix Project...
Gene Kim
 
DOES16 London - Philippe Guenet - G3 Model –A Practical Lean Approach to Impr...
DOES16 London - Philippe Guenet - G3 Model –A Practical Lean Approach to Impr...DOES16 London - Philippe Guenet - G3 Model –A Practical Lean Approach to Impr...
DOES16 London - Philippe Guenet - G3 Model –A Practical Lean Approach to Impr...
Gene Kim
 
Can you do DevOps in SAP (DevOps -> SAP)
Can you do DevOps in SAP (DevOps -> SAP)Can you do DevOps in SAP (DevOps -> SAP)
Can you do DevOps in SAP (DevOps -> SAP)
Chris Kernaghan
 

What's hot (20)

Portfolio & Roadmap: 2 tools to scale Agile
Portfolio & Roadmap: 2 tools to scale AgilePortfolio & Roadmap: 2 tools to scale Agile
Portfolio & Roadmap: 2 tools to scale Agile
 
Kanban testing
Kanban testingKanban testing
Kanban testing
 
Relieveing the Testing Bottle Neck - Webinar
Relieveing the Testing Bottle Neck - WebinarRelieveing the Testing Bottle Neck - Webinar
Relieveing the Testing Bottle Neck - Webinar
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017
 
Software Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseSoftware Release Orchestration and the Enterprise
Software Release Orchestration and the Enterprise
 
W4 0245 agility_v1
W4 0245 agility_v1W4 0245 agility_v1
W4 0245 agility_v1
 
Agile Product Owner
Agile Product OwnerAgile Product Owner
Agile Product Owner
 
Understanding the DevOps Tooling Landscape
Understanding the DevOps Tooling LandscapeUnderstanding the DevOps Tooling Landscape
Understanding the DevOps Tooling Landscape
 
Scaling Agile in the Enterprise
Scaling Agile in the EnterpriseScaling Agile in the Enterprise
Scaling Agile in the Enterprise
 
The Past, Present, and Future of Scrum
The Past, Present, and Future of ScrumThe Past, Present, and Future of Scrum
The Past, Present, and Future of Scrum
 
Agile Overview Session
Agile Overview SessionAgile Overview Session
Agile Overview Session
 
Scaling Agile: SAFe with Visual Studio Team Foundation Server
Scaling Agile: SAFe with Visual Studio Team Foundation Server Scaling Agile: SAFe with Visual Studio Team Foundation Server
Scaling Agile: SAFe with Visual Studio Team Foundation Server
 
Pricing Pitfalls...and How to Counter Them
Pricing Pitfalls...and How to Counter ThemPricing Pitfalls...and How to Counter Them
Pricing Pitfalls...and How to Counter Them
 
Achieving Balanced Agile Testing
Achieving Balanced Agile Testing Achieving Balanced Agile Testing
Achieving Balanced Agile Testing
 
Realtech us dev_ops4sap_webinar_slides_06302020
Realtech us dev_ops4sap_webinar_slides_06302020Realtech us dev_ops4sap_webinar_slides_06302020
Realtech us dev_ops4sap_webinar_slides_06302020
 
SAFe
SAFeSAFe
SAFe
 
A Quick Intro to Agile, DevOps & Lean Development in the Enterprise
A Quick Intro to Agile, DevOps & Lean Development in the EnterpriseA Quick Intro to Agile, DevOps & Lean Development in the Enterprise
A Quick Intro to Agile, DevOps & Lean Development in the Enterprise
 
DOES16 London - Jan Schilt - DevOps Is Not Going to Work: The Phoenix Project...
DOES16 London - Jan Schilt - DevOps Is Not Going to Work: The Phoenix Project...DOES16 London - Jan Schilt - DevOps Is Not Going to Work: The Phoenix Project...
DOES16 London - Jan Schilt - DevOps Is Not Going to Work: The Phoenix Project...
 
DOES16 London - Philippe Guenet - G3 Model –A Practical Lean Approach to Impr...
DOES16 London - Philippe Guenet - G3 Model –A Practical Lean Approach to Impr...DOES16 London - Philippe Guenet - G3 Model –A Practical Lean Approach to Impr...
DOES16 London - Philippe Guenet - G3 Model –A Practical Lean Approach to Impr...
 
Can you do DevOps in SAP (DevOps -> SAP)
Can you do DevOps in SAP (DevOps -> SAP)Can you do DevOps in SAP (DevOps -> SAP)
Can you do DevOps in SAP (DevOps -> SAP)
 

Similar to Continuous Delivery: releasing Better and Faster at Dashlane

Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Kelly Looney
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HERE
Stefan Verhoeff
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
David Funaro
 
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Lean IT Consulting
 
Resume_Thoota_Phani (2)
Resume_Thoota_Phani (2)Resume_Thoota_Phani (2)
Resume_Thoota_Phani (2)Phani Thoota
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
Eklove Mohan
 
SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016w2fong
 
DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
Kelly Looney
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Steve Mercier
 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8Rajwinder Singh
 
Road to agile: federal government case study
Road to agile: federal government case studyRoad to agile: federal government case study
Road to agile: federal government case study
David Marsh
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Chocolatey Software
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Michel Buczynski
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
Dynatrace
 
Monitoring at the Speed of DevOps
Monitoring at the Speed of DevOpsMonitoring at the Speed of DevOps
Monitoring at the Speed of DevOps
DevOps.com
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
XPDays
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
Amazon Web Services
 
PHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationPHP Unconference Continuous Integration
PHP Unconference Continuous Integration
Nils Hofmeister
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
GlobalLogic Ukraine
 
Test parallelization using Jenkins
Test parallelization using JenkinsTest parallelization using Jenkins
Test parallelization using Jenkins
Rogue Wave Software
 

Similar to Continuous Delivery: releasing Better and Faster at Dashlane (20)

Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HERE
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
 
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
 
Resume_Thoota_Phani (2)
Resume_Thoota_Phani (2)Resume_Thoota_Phani (2)
Resume_Thoota_Phani (2)
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016
 
DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8
 
Road to agile: federal government case study
Road to agile: federal government case studyRoad to agile: federal government case study
Road to agile: federal government case study
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
 
Monitoring at the Speed of DevOps
Monitoring at the Speed of DevOpsMonitoring at the Speed of DevOps
Monitoring at the Speed of DevOps
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
 
PHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationPHP Unconference Continuous Integration
PHP Unconference Continuous Integration
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
Test parallelization using Jenkins
Test parallelization using JenkinsTest parallelization using Jenkins
Test parallelization using Jenkins
 

More from Dashlane

Dashlane Engineering Culture Book
Dashlane Engineering Culture BookDashlane Engineering Culture Book
Dashlane Engineering Culture Book
Dashlane
 
The State of Digital Identity
The State of Digital IdentityThe State of Digital Identity
The State of Digital Identity
Dashlane
 
Continuous Learning
Continuous LearningContinuous Learning
Continuous Learning
Dashlane
 
U2F in Dashlane
U2F in DashlaneU2F in Dashlane
U2F in Dashlane
Dashlane
 
Using TypeScript at Dashlane
Using TypeScript at DashlaneUsing TypeScript at Dashlane
Using TypeScript at Dashlane
Dashlane
 
Scaling an Engineering Team
Scaling an Engineering TeamScaling an Engineering Team
Scaling an Engineering Team
Dashlane
 
Stop Starting Start Finishing
Stop Starting Start FinishingStop Starting Start Finishing
Stop Starting Start Finishing
Dashlane
 
Dashlane Engineering Meeting Extract
Dashlane Engineering Meeting ExtractDashlane Engineering Meeting Extract
Dashlane Engineering Meeting Extract
Dashlane
 

More from Dashlane (8)

Dashlane Engineering Culture Book
Dashlane Engineering Culture BookDashlane Engineering Culture Book
Dashlane Engineering Culture Book
 
The State of Digital Identity
The State of Digital IdentityThe State of Digital Identity
The State of Digital Identity
 
Continuous Learning
Continuous LearningContinuous Learning
Continuous Learning
 
U2F in Dashlane
U2F in DashlaneU2F in Dashlane
U2F in Dashlane
 
Using TypeScript at Dashlane
Using TypeScript at DashlaneUsing TypeScript at Dashlane
Using TypeScript at Dashlane
 
Scaling an Engineering Team
Scaling an Engineering TeamScaling an Engineering Team
Scaling an Engineering Team
 
Stop Starting Start Finishing
Stop Starting Start FinishingStop Starting Start Finishing
Stop Starting Start Finishing
 
Dashlane Engineering Meeting Extract
Dashlane Engineering Meeting ExtractDashlane Engineering Meeting Extract
Dashlane Engineering Meeting Extract
 

Recently uploaded

Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Hivelance Technology
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
varshanayak241
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
MayankTawar1
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
Sharepoint Designs
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
Jelle | Nordend
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
NaapbooksPrivateLimi
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
XfilesPro
 

Recently uploaded (20)

Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 

Continuous Delivery: releasing Better and Faster at Dashlane

  • 1. Continuous Delivery at Dashlane A path to releasing faster and better
  • 2. We are Tanguy Le Barzic, Backend Team Lead and Frédéric Rivain, CTO of Dashlane. We build a Password Manager, to help you manage your identity and your payments in a simple and secure way everywhere.
  • 3. A bit of context Funded in 2009 by Bernard Liautaud and 3 Centrale students 110 employees in Paris and New York • Product & Engineering in Paris • Marketing & Sales in New York 4 business lines: • Consumer product (B2C) • Enterprise offer (B2B) • Financial Partners • API and Dev Ecosystem • 7 “production” teams
  • 4. Our Goal • The ability to deliver to production, fast, reliably and on-demand, through an industrialized automated Release Pipeline.
  • 6. Our starting point • Old fragile mercurial versioning system. • Limited CI • Limited unit tests • Manual QA • No systematic Code Review • But already a « DevOps » spirit in all teams  We first needed to address the prerequisites.
  • 7. Code • Migration to Git (Bitbucket) and review of the branching strategy for each team • Setting up a real Continuous Integration (Bamboo)
  • 8. Code Quality • Mandatory Pull Requests with multiple reviewers • Code Quality Tools • Sonar, Lint,…
  • 9. Test Automation • Climbing the Pyramid of tests. • Hard and long. • Train manual QA to start coding automated tests • Focus Devs on unit tests • Define smoke tests scope • Find the right tools for functional tests for each platform • iOS: Xcode • Android: Espresso • Windows: Ranorex • Mac: Xcode • Web: Watir • Plug into CI • Keep pushing over and over. • Way better today, but still work to do. UNIT TESTS INTEGRATION TESTS FUNCTIONAL TESTS MANUAL TESTS AUTOMATED TESTS
  • 10. Monitoring • Already a good logging framework. Sent by our applications to track user activity and performance • Business logs • Technical logs • Performance logs • Dashboards in Kibana and Tableau • Adding Alert System • Practice of Morning Gymnastics
  • 11. Focusing now on Continuous Delivery • Painting the Target Release Pipeline
  • 12. What is our Continuous Delivery Target? • Each platform is specific. • Adapt what we mean by Continuous Delivery for each platform. • Ability to ship native client every week. Platform Frequency iOS Release train every 2 weeks Android Release train every 2 weeks Windows Release train every 2 weeks. Silent install. Targeting every week. MacOS Release train every 2 weeks for Mac AppStore Release train every 2 weeks for DMG. Silent install. Targeting every week. Web Extensions: Release train every 2 weeks. Silent install. Targeting every week. Web Apps: On Demand, except Fridays. Server / Backend On Demand, except Fridays. Web Site On Demand, except Fridays.
  • 13. Diving • First iterations were painful. • Some fear of the unknown. • Fix issues and smooth process as we progress. • Improve QA process as well. • Everybody eventually feeling happier: dev, product, business,…
  • 14. Continuous Delivery Tools • Build our own Feature Flipping tool. • Improving Monitoring Dashboards for releases. • Working on building an improved version of our old A/B Test Engine.
  • 15. Example of the server team • 10 developers (in Paris and Vilnius) • 50 or so projects • Main project (‘user’ webservices) • 370k lines • 3000 tests (closer to integration tests than unit tests) • CI on every branch (tests and linting) • 2 approvals for each PR, rebase enforced • Deployment triggered manually, in one command • Average of 2 deployments a day
  • 17. Performance is a feature – CD edition • One of the goals of CD: faster feedback, less context switching • The speed of every step of the pipeline matters • Time to run the CI • Time for code reviews • Time for QA • Time for deployment
  • 18. Aggregated metric: time to ship a commit
  • 19. What are the next things to improve? • How long is your pipeline taking? If you had to fix something now, what’s the smallest ETA of a fix? • Do you have a bad feeling about this particular deployment? • « Make sure to watch the error logs after this one » • How many things do you have to think about before deploying? • « Update the credentials » • « Make sure you pull the deployment project » • « Don’t forget to alter the database before deploying » • Do you know whether a given JIRA story has been shipped, to who?
  • 21. Thank you © 2017 Dashlane, Inc