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

PPTX
Dashlane Triple Track
PDF
The Dashlane Agile Journey
PDF
Creating High Performance teams by using a DevOps culture (FUG presentation)
PPTX
Dashlane Mission Teams
PPTX
Scrum in Distributed Teams
PPTX
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
PPTX
Scaling Atlassian for the Enterprise
PPTX
Agile Resourcing
Dashlane Triple Track
The Dashlane Agile Journey
Creating High Performance teams by using a DevOps culture (FUG presentation)
Dashlane Mission Teams
Scrum in Distributed Teams
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
Scaling Atlassian for the Enterprise
Agile Resourcing

What's hot (20)

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

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

PDF
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
PPTX
CI/CD for mobile at HERE
PDF
Continuous delivery @wcap 5-09-2013
PDF
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
DOC
Resume_Thoota_Phani (2)
PDF
Getting to Walk with DevOps
PDF
SanDiego_DevOps_Meetup_9212016
PPTX
DevOps Days Ohio
PDF
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
PPTX
SanDiego_DevOps_Meetup_9212016-v8
PPT
Road to agile: federal government case study
PDF
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
PDF
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
PDF
Monitoring at the Speed of DevOps
PPTX
Continuous Integration
PPTX
PHP Unconference Continuous Integration
PPTX
Modern Web-site Development Pipeline
PPTX
Test parallelization using Jenkins
PDF
2016 09-dev opsjourney-devopsdaysoslo
PPTX
Continuous integration, delivery & deployment
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
CI/CD for mobile at HERE
Continuous delivery @wcap 5-09-2013
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Resume_Thoota_Phani (2)
Getting to Walk with DevOps
SanDiego_DevOps_Meetup_9212016
DevOps Days Ohio
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
SanDiego_DevOps_Meetup_9212016-v8
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...
Monitoring at the Speed of DevOps
Continuous Integration
PHP Unconference Continuous Integration
Modern Web-site Development Pipeline
Test parallelization using Jenkins
2016 09-dev opsjourney-devopsdaysoslo
Continuous integration, delivery & deployment
Ad

More from Dashlane (8)

PDF
Dashlane Engineering Culture Book
PPTX
The State of Digital Identity
PDF
Continuous Learning
PDF
U2F in Dashlane
PDF
Using TypeScript at Dashlane
PDF
Scaling an Engineering Team
PDF
Stop Starting Start Finishing
PDF
Dashlane Engineering Meeting Extract
Dashlane Engineering Culture Book
The State of Digital Identity
Continuous Learning
U2F in Dashlane
Using TypeScript at Dashlane
Scaling an Engineering Team
Stop Starting Start Finishing
Dashlane Engineering Meeting Extract

Recently uploaded (20)

PDF
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Nekopoi APK 2025 free lastest update
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PPTX
Computer Software and OS of computer science of grade 11.pptx
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Autodesk AutoCAD Crack Free Download 2025
PPTX
Patient Appointment Booking in Odoo with online payment
PDF
Complete Guide to Website Development in Malaysia for SMEs
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
Wondershare Filmora 15 Crack With Activation Key [2025
Nekopoi APK 2025 free lastest update
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
iTop VPN Free 5.6.0.5262 Crack latest version 2025
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
Oracle Fusion HCM Cloud Demo for Beginners
Computer Software and OS of computer science of grade 11.pptx
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development
Autodesk AutoCAD Crack Free Download 2025
Patient Appointment Booking in Odoo with online payment
Complete Guide to Website Development in Malaysia for SMEs
Design an Analysis of Algorithms II-SECS-1021-03
Why Generative AI is the Future of Content, Code & Creativity?

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