Reference Customer
logo_dmTECH
dmTECH GmbH is 100% subsidiary of dm-drogeriemarkt GmbH + Co. KG and provides the complete IT infrastructure.
The Challenge

Assess Quality

Full service implementation

1.6 million
LOC PL/SQL
1 million
LOC Java
Background

Company

dm-drogeriemarkt GmbH + Co. KG  is a German chain of retail stores, offering cosmetics, healthcare items, household products and health food and drinks.

dmTECH GmbH is 100% subsidiary and provides the complete IT infrastructure for the on-site stores, the web store and logistics.

logo_dmTECH
Scope

Mission

During the software audit, a 25-year-old software system with approximately 1.6 million lines of PL/SQL code and 1 million lines of Java code was analyzed. The system was originally purchased as a standard solution but was customized so extensively over the years that about 80% of the executed code is proprietary development. The team behind the system increasingly noticed quality issues, although these were not visible externally. The purpose of the audit was to replace the team’s gut feeling about possible problems with transparency.

In the audit code, system architecture, technologies in use, and established quality assurance processes were analyzed and assessed objectively.

Process, Architecture, Technology, Code
At Eye Level

Involvement of all Stakeholders

Our basic approach to an audit fits well with the corporate culture at dmTECH, which is based on mutual trust. All stakeholders (the product team, IT management, and the customer) were involved in the process from the beginning. The results were discussed without finger-pointing, and it was jointly decided which short-, medium-, and long-term measures should be taken. 

Outcome

Benefit

Our audit transformed the suspicion of potential issues into a list of specific topics that could now be discussed and addressed. The transparency created not only allowed for a realistic assessment of quality but also provided management with the facts needed to make informed decisions about future investments in quality.

Particularly helpful in this regard was uncovering a monolithic architecture, poor maintainability due to excessive nesting depths, and security findings.

The Future

Perspective

Based on the audit results, an informed decision was made regarding the future of the system. In the coming years, only acute quality issues, such as security findings, will be addressed and new ones will be avoided. For this purpose, our Software Intelligence Platform Teamscale was introduced as a quality analysis tool. In a few years, the system will be migrated to a newly developed in-house system, where quality will be emphasized from the very beginning.

Software Audit

What we did at dmTECH

In our audits, we make heavy use of Teamscale ourselves, to deliver best-of-class results at scale.
Automated Code Analyses
Measure quality

The code analysis considers well-accepted quality criteria. It is based on automated analysis using Teamscale, which supports analysis of nearly all programming languages. Our experienced auditors validate the results.

Code Reviews
Inspect code

Our experienced auditors contribute manual analyses of criteria not coverable by tools, e.g., the quality of comments in the code, and complement automated analyses by an in-depth review of selected source code files.

Architecture Analysis
Model and assess architecture

Together with the development team, we identify and discuss the components of the system and dependencies between them. We also cover deployment aspects and interaction with other systems, as well as properties like scalability, security and performance.

Scenario Analysis
Simulate changes

Together with you, we select relevant changes that are likely to be done to your system. We discuss with the development team the impact of these changes and how well they are supported by the architecture.

Technology Assessment
Rattle foundations

Software systems typically rely on a large technology stack including programming languages, databases, frameworks, and libraries. We analyze the relevant technologies for associated risks, based on standardized criteria.

Process Assessment
Validate tools and methods

The development process itself contributes significantly to the future-proofness of a system. Based on the phases of a typical process, we discuss tools and methods used by the development team to implement changes. The assessment considers industry standards and established best practices.

What our customers say

Our customers care about the quality of their software.

The software audit pointed out concrete examples of actual risks and threats. This was an essential milestone for all stakeholders to agree on that we should start investing money into the future of this strategically important software system.

— Li Yang Wu
IT Consultant, dmTECH GmbH
Sprecherfoto Li Yang Wu_Website
Meet our customers

See other reference customers of Teamscale and read their success stories.