IT Service Provider

DATEV

DATEV’s journey to Clean Code with SonarQube

Key Results

  • Cloud native teams working with new code achieved a state of Clean Code, where all new code was pushed without a single issue
  • A better codebase, increased developer productivity, and notably shorter timeframes for time-to-market for new features
  • Dismantled silos and set a code quality benchmark that is an expectation across teams
Download Case Study

the challenge

DATEV, established in 1966, has grown into one of Europe’s largest IT service providers, boasting a turnover of over 1.3 billion euros in 2022 and serving a whopping 540,000 customers. Entrusted with creating software solutions for professionals like tax consultants, auditors, and lawyers, they have a portfolio of 250 distinct products developed and maintained by a dedicated team of 1,200 software developers.


Over the years, DATEV has mandated different Code Quality tools, backed by a strict “not a single issue” policy. This top-down approach led to an overwhelming number of suppressed issues in the sea of their source code, rather than rectifying them for improvement. This, combined with the intricate nature of German tax law that required continuous changes and updates to their vast product portfolio, made the products exceedingly complex.


Moreover, navigating between three technology stacks (mainframe, on-premise, and cloud-native) brought its unique set of challenges when it came to enforcing code quality standards across the board.

the solution

Seeking a unified solution to their software quality challenges, DATEV adopted SonarQube in 2017. To avoid the mistakes of the past, they deliberately steered clear of the rigid rules and championed a proactive strategy, focusing on fostering a communal understanding of code quality throughout their Software Development Department. With this shift, they engaged the broader community in defining SonarQube rule sets, cultivating an environment of collaborative decision-making.


Moreover, DATEV had the intricate task of transitioning its legacy systems to newer cloud-native technologies. DATEV’s in-house developer community - DevOps Campus - played a pivotal role in enabling this transition, by analyzing each team’s current position and devising a tailored roadmap to meet their six-month objectives, ensuring each team was adeptly equipped for their cloud-native journey.

The results

Good code quality has transitioned from being a mandated requirement to a self-evident norm across teams. This transition has tangible markers of success: a palpably better codebase, a spike in developer productivity, and notably shorter timeframes for time-to-market for new features. Additionally, since their cloud-native teams were working with new and not legacy code, DATEV was able to achieve a state of clean code, where all new code was pushed without a single issue.


The cooperative nature of DATEV as a company enabled a collaborative environment, which dismantled the silos within the software department and set a benchmark where code quality is more of an intrinsic expectation than an external imposition.


Looking ahead, DATEV envisions a world where monitoring dashboards for code quality become redundant. Their partnership with SonarQube continues to solidify, given the tool’s ever-growing capabilities and relevance in the realm of software quality and security by extension.


In summary, DATEV’s journey with SonarQube exemplifies how a collaborative and understanding-driven approach to code quality can bring about profound changes in software development culture and results. Their experience with SonarQube not only remediated existing challenges but also set the stage for a future where quality is an integral part of the development DNA.

“SonarQube gives software engineers a better view of code quality. The disclosure of all project metrics created competition among teams, resulting in more willingness to write the best code possible.” 


Andreas Fischer, Software Developer, DevOps CoE @ DATEV

ready to start writing Clean Code?

Request a demoExplore pricing