<img src="https://secure.leadforensics.com/794635.png" style="display:none;">
Skip to content

DFDS | Customer case

DFDS successfully migrates from a monolith to a microservice architecture with CodeScene

CodeScene offered unique insights into DFDS’s system and helped them migrate from a monolithic codebase to decoupled microservices.

Challenges
Rectangle

PointTeam Coordination

PointOn-Boarding Developers Into Codebase

PointUnclear Priorities

Solutions
Rectangle

PointArchitectural Analysis

PointAutomated Code Reviews through Pull Request Integration 

PointFile-Level Hotspot Maps

PointCodeScene Goals

PointOff-boarding Simulator

Results
Rectangle

PointImproved Code Health

PointArchitectural Transparency

PointReduced Developments Costs

Project Overview:

DFDS

 

DFDS operates large systems that transport thousands of people every day; the company is a critical part of the infrastructure between countries. This means that their systems have to evolve securely without disruptions to their mission of keeping people and goods safe. Progressing by small, incremental and frequent releases is the only choice, so they needed to shift from a monolith codebase to microservices. 

With the goal of maintaining a high-performing development team while restructuring, DFDS set out to get teams and microservices organized around their business capabilities. This was a core strategic initiative to have a software architecture that allows for autonomous teams, enabling easy scaling, faster time to market and smooth onboarding of new developers.

DFDS used CodeScene to analyze team connections, dependencies, and code quality, integrating it into their pipelines for automated metrics and pull request reviews. Offboarding simulations and CodeScene's Goals feature enabled DFDS to manage developer transitions, refactorings and track code improvement over time. 

 

DFDS

Challenges

Number one teal

Enabling transition from monolith to miscroservice

DFDS made a strategic decision to shift from a monolith to a microservice landscape, with the goal of goal of maintaining a high-performing development team while restructuring. A complex task like this required detailed monitoring.

Number two teal

Monitoring Process

Ensuring systems evolve securely without disruptions to DFDS's mission of keeping people and goods safe.

Number three teal

Insights into Software Architecture

Meet core strategic initiative to have a software architecture that allows for autonomous teams, easy scaling, faster time to market and smooth onboarding of new developers.

dfds-logo

“Are we making a distributed monolith or are we making decoupled microservices? It can be hard to see if just looking at the repositories. I find it clear to get information from CodeScene regarding this by using the change coupling.”

Martin Bungaard

- Chapter leader at DFDS HQ in Compenhagen, Denmark

Solutions

 
Code Health

Architectural Analysis

DFDS used CodeScene’s architectural analyses to uncover unexpected team coupling, track implicit dependencies, and visualize the coordination needs between development teams. This made it possible to measure how organizational patterns influence code quality and how they are linked to the software architecture.

Coordination needs

Off-boarding Simulator

DFDS uses off-boarding simulation to get information about what should be handed over and what the impact is of a developer leaving a project.
Pull request

Automated Code Reviews via Pull Request Integration 

CodeScene is integrated into the development pipelines where it reports valuable metrics automatically. This lets the DFDS development teams utilize CodeScene to ensure high quality in new code via the automated pull request review.
Expand

File-Level Hotspots Maps and Goals 

Hotspot Maps are used to identify problematic areas and candidates for refactorings. 
Setting up goals for planned refactorings and improvement over time for files with low code health, allow DFDS to monitor risky areas and that code health of these are improving over time.
Website Unplanned Work Costs Visualization

Effects of reduced unplanned work go beyond numbers

SmartCraft could reduce unplanned work and allocate more time to make improvements on the platform itself, introduce new technologies and experiment wirameworks. The effects of unplanned work being reduced go beyond numbers. It has had a very positive effect on the whole organization and especially on the mindset, motivation and the well being of SmartCraft's developers.

 
dfds-logo

 

“It is very hard to change code already running in production compared to changing it before it is merged into master. CodeScene informs our developers about undesired parts of the new code – and the recommendations are mostly met.”

Martin Bungaard

- Chapter leader at DFDS HQ in Copenhagen, Denmark

From uncovering unexpected team coupling to improving overall code quality

Not only did DFDS experience reduced development time due to immediate quality feedback and developers implementing code recommendations, but they also successfully transitioned from a monolithic architecture to microservices, thanks to CodeScene's profound insights into their software architecture.

Trending-down
Reduced Development Costs
Code Health
Improved Code Health for Problematic Code
Cpu
Deep Insights into their Software Architecture
Trending-up
Overall Code Health Improvement

Results

 
Deployment time

Reduced Development Costs

Development cost was reduced as a result of immediate quality feedback given to developers when creating pull requests.

Issues

Code Health improved from 3.0 to 9.7

Problematic areas that were identified in hotspot maps were proactively refactored and improved over time. With the help of insights and guidance from Automated Pull Request Reviews, newly merged code was of higher quality.

Inspect

Deep Insights

CodeScene's Change Coupling feature helped DFDS ensure they were making decoupled microservices and not just distributed monoliths.

Try CodeScene for free

Are you still not convinced?

DFDS enabled their teams to become more efficient, reducing stress and frustration in the process. They could finally align teams and management around real business metrics showing why code quality really matters.