Popular searches
Logo der codecentric AG, einem in Deutschland führenden IT-Consulting UnternehmenLogo der codecentric AG einem in Deutschland führenden IT-Consulting Unternehmen
Hamburger Menu
HOMEPROJECTS
//

Improving the future security of own software products with an architecture review

How Kampmann GmbH & Co. KG was able to make its IT environment fit for the challenges of tomorrow

Kampmann GmbH & Co. KG is a leading manufacturer of innovative solutions in the field of air conditioning technology. With a wide range of heating and cooling systems, Kampmann offers tailor-made solutions for commercial and industrial customers around the world. The family-run business is based in Lingen (Ems) in Lower Saxony and employs more than 1,000 people at over 16 locations worldwide.

//

The project at a glance

  • Insightful analysis of the underlying business objectives of a core application
  • Identification and prioritization of specific measures to improve software architecture
  • Clear recommendations for action were implemented directly by the customer
  • Reduction in development and operational costs

//

Initial situation

For the planning of industrial cooling and heating systems based on its own product range, Kampmann GmbH & Co.KG uses KaData, a software developed in-house that is used by international customers, but particularly in its own sales organization. The application is developed by a small in-house team in Azure Cloud and was the first cloud application of its kind in the company — so the challenges for developers and the company in general were high. KaData plays a central role in sales and is therefore critical for the future viability of the company. Kampmann began working with codecentric in order to validate this future capability. 

//

Solution

Current state detection

Formulating quality objectives

//

Current state detection

The three-month project included two workshops of one day each. The first workshop took stock of the current situation and examined the background to the development of KaData. For this, the team first took a close look at the KaData product as such. The focus was on the business objectives pursued with KaData, the target group, and their usage behavior. 

A second step involved analyzing the current situation at the technical level. The aspects of the application considered included the following:

  • Overall system architecture, including integration with and by external systems
  • Internal structuring of the application
  • Azure services used
  • Configuration of Kubernetes deployments

At the end of the workshop, the team looked at the current development process from the initial idea through to the deployment.

//

Formulating quality objectives

The second workshop focused on the development of KaData’s quality objectives – these are particularly important for the future viability of the software. The quality objectives that were developed fall into the categories of availability, maintainability, observability, and performance.

codecentric used the information gathered and the quality goals identified to develop a catalog of recommendations and measures to achieve them. All recommendations were classified in terms of effort and priority. 

This catalog was then the subject of a final presentation. They include, but are not limited to:

  • Azure native services instead of dedicated services : Maintaining self-hosted services, such as a database, costs time and resources, and also adds complexity to the team. The recommendation was therefore to migrate to an Azure Cosmos DB. This made it possible to replace three different database systems, thus improving not only the maintainability but also the availability and performance of the entire product.

  • Holistic monitoring for better error analysis : An important element for analyzing software errors is the use of a holistic monitoring solution. This gives developers the opportunity to quickly identify relationships and errors and to investigate them thoroughly. A further advantage of such tools is an alarm function, which can notify developers and administrators, for example, when errors occur.

  • Introduction of Infrastructure as Code (IaC) : IaC ensures that all changes to infrastructure components are seamlessly documented. This allows teams to keep track of who changed what and when, and to quickly identify and address the root cause of problems. Increased automation and reproducibility also reduce labor costs and increase quality.

Current state detection

Formulating quality objectives

//

Current state detection

The three-month project included two workshops of one day each. The first workshop took stock of the current situation and examined the background to the development of KaData. For this, the team first took a close look at the KaData product as such. The focus was on the business objectives pursued with KaData, the target group, and their usage behavior. 

A second step involved analyzing the current situation at the technical level. The aspects of the application considered included the following:

  • Overall system architecture, including integration with and by external systems
  • Internal structuring of the application
  • Azure services used
  • Configuration of Kubernetes deployments

At the end of the workshop, the team looked at the current development process from the initial idea through to the deployment.

//

Formulating quality objectives

The second workshop focused on the development of KaData’s quality objectives – these are particularly important for the future viability of the software. The quality objectives that were developed fall into the categories of availability, maintainability, observability, and performance.

codecentric used the information gathered and the quality goals identified to develop a catalog of recommendations and measures to achieve them. All recommendations were classified in terms of effort and priority. 

This catalog was then the subject of a final presentation. They include, but are not limited to:

  • Azure native services instead of dedicated services : Maintaining self-hosted services, such as a database, costs time and resources, and also adds complexity to the team. The recommendation was therefore to migrate to an Azure Cosmos DB. This made it possible to replace three different database systems, thus improving not only the maintainability but also the availability and performance of the entire product.

  • Holistic monitoring for better error analysis : An important element for analyzing software errors is the use of a holistic monitoring solution. This gives developers the opportunity to quickly identify relationships and errors and to investigate them thoroughly. A further advantage of such tools is an alarm function, which can notify developers and administrators, for example, when errors occur.

  • Introduction of Infrastructure as Code (IaC) : IaC ensures that all changes to infrastructure components are seamlessly documented. This allows teams to keep track of who changed what and when, and to quickly identify and address the root cause of problems. Increased automation and reproducibility also reduce labor costs and increase quality.

//

Result

A large part of codecentric's recommendations for action were already implemented within nine months or are currently being implemented. The measures already implemented and their impact could therefore be reviewed directly in a joint feedback meeting between Kampmann and codecentric. Overall, the measures developed by codecentric enabled Kampmann to significantly improve the achievement of its most important quality objectives.

  • The use of a comprehensive monitoring solution improved the transparency of the application, so that Kampmann can monitor the status of the application at any time and respond proactively to potential problems.
  • The introduction of IaC has allowed Kampmann to optimize its IT infrastructure from the ground up. The provisioning time for new systems was significantly reduced, and the reliability and scalability of the infrastructure increased. In addition, IaC has facilitated cooperation between teams.
  • A variety of simplifications — from choosing the Azure services used to internally structuring components — also made the product easier to maintain. This has reduced development costs and allows Kampmann to concentrate on further developing the application.

Kampmann is now able to respond more quickly to market changes, bring new products and functions to market more quickly, and manage its IT infrastructure more efficiently.

Daniel Bruns - Success Story Kampmann & codecentric AG

Dr. Daniel Bruns

Head of Tools and Compliance, Kampmann GmbH & Co. KG

The workshops with codecentric helped us to analyze and significantly improve our most important software application. We implemented most of the recommendations directly and now consider our core system to be well-positioned for the future.

Dr. Daniel Bruns

Head of Tools and Compliance, Kampmann GmbH & Co. KG

Do you have more questions about the project?

Do you have software developed in-house that needs a comprehensive review? Then please contact me.

Dominik Averesch

Dominik Averesch

A project discussion meeting with whiteboard and notebook
//

Further codecentric AG projects

Find out about other successful projects that we have completed with our clients. Perhaps you will find ideas here for a use case in your own organization.