Allgäu Digital: Quality Analysis in Software Development

Allgäu Digital: Quality Analysis in Software Development

Based on an interview with us in December 2019  Ronja Hartmann wrote an article for Allgäu Digital about Cape of Good Code . This is our translation of the original article in German

Egon Wuchner and Konstantin Sokolov are convinced that a common language is needed for software engineers and management to combine digital developments and business development.

Good code is not an end in itself; it reduces effort, errors and risks in all digital projects.

With 20 years of experience at Siemens Corporate Technology, an internal research and consulting department of Siemens AG, Dipl.-Math. Egon Wuchner knows what it takes to make money for companies with their software-based solutions. As with any investment, the choice of the most efficient and risk-free means is crucial. Since 2011, he has been working on what good software development actually is and constitutes. 

Since 2013, he has been working together with Dipl.-Ing. (Techn. Informatik) Konstantin Sokolov to define measurable criteria and develop appropriate analysis methods. And to make them visible: Where does high software or code quality contribute to the functionality of solutions, where does poor code quality create hurdles, eat up resources and cause errors.

Egon Wuchner is the founder of Cape of Good Code

Egon Wuchner is the founder of “Cape of Good Code”., © Allgäu GmbH, Tobias Hertle

Developers understand the problem when code “grows” through changes and its quality deteriorates, but find it difficult to communicate

as Wuchner describes the difficulty. “It’s more like a kind of gut feeling that you should work on the software architecture here and there, because editing is becoming increasingly difficult.” Even with sound figures, the problem remains too abstract and theoretical for people without a technical background.

However, as digitalization progresses, companies and industries that traditionally have no experience with IT also need a basis for strategically sound decisions on digital issues. 

Wuchner and Sokolov therefore decide to break down the measurement results to the individual functionalities, i.e. the specific features that the company wants to offer, sell and earn money with. In this way, it is possible to determine a relationship between the benefit of a feature and its cost, which includes the condition of the code or its resilience for further changes and also follow-up costs, so-called technical debt of software development. 

When it becomes clear that the topic has now expanded into a complex research project and will not be continued as a spin-off from Siemens, the two boldly found their own company. “We simply did it ourselves,” says Wuchner.

“It didn’t take a big decision,” adds Sokolov. He is already at Siemens before he meets Wuchner; he is doing an internship, writing his thesis and has been working for the company as a freelancer since 2011. When he is assigned to the project by Wuchner, software quality and automated analyses are new to him. “While working on the topic, I quickly saw the potential and we put a lot of work into it.” 

So from August 2018, they’ll build their solution from scratch and implement completely new approaches in the process.  

We provide the quickly comprehensible database for corporate decisions on digital topics.

More and more entrepreneurial developments and strategies include digital aspects and components. For their implementation, software is needed to offer customers certain functions. New solutions have to be developed or existing ones extended. To enable cooperation between companies, interfaces, data synchronisation and the like are necessary. All this is based on code. Text that defines which exact steps the system should process, calculate or analyse. 

Depending on how this code is structured, it may be more difficult or easier for companies to make adjustments and add new functions, and thus more or less resource-intensive. 

Good code is structured to carry new features without causing unexpected errors, downtime, maintenance and costs. It reduces the time a developer needs to understand it by providing clean documentation. And the distribution of knowledge about the code or the development is without risks. 

Laptop with website of Cape of Good Code

© Allgäu GmbH, Tobias Hertle

Good code withstands changes well – Feature Quality Analysis

The analysis done by Cape of Good Code determines where the code structure may be so overloaded that the addition of new features increases the susceptibility to errors. After all, the code, the software architecture is never finished, but must be designed for changes and additions. “The market is highly variable and customer requirements are unclear,” says Wuchner, describing the situation. “We don’t know which features will succeed and possibly have a differentiating effect in the market and thus develop into a competitive advantage. At the same time, companies have to be innovative, offer different features, experiment and, for example, use A/B tests to determine usage figures”.

But even with high usage it makes sense to determine whether the effort is still justifiable. Here, too, the Pareto rule shows itself to be true – 20% of features account for 80% of the effort. 

Good code is well documented – process quality analysis

For software developers, the topic is nothing new. Anyone who deals with code on a daily basis and spends 50 – 80 % of their time reading code and understanding code knows the problem: The worse the documentation, the more effort is required.  

“Nevertheless, not enough is done,” knows Sokolov and explains: “It’s a vicious circle: you neglect the documentation, so it doesn’t add any value. You see no added value, that’s why you don’t do documentation.” “But,” he adds, “you can learn that and it’s worth it.” 

Best practices in development are close to Sokolov’s heart. In his opinion, just one day of process quality training on common practices and procedures helps almost every company. And is the basis for meaningful evaluations of the code quality itself. This includes: Good ticket descriptions (the issues to be processed), good commit messages (what was done and why), good documentation (the changes in detail). 

Knowledge of the code is well distributed – Knowledge analysis

Knowledge that accumulates in so-called islands of knowledge among individuals, knowledge clutters that nobody cares about, are obvious risks and increase the effort for code changes. The same is true if only one coordinator takes care of certain areas. Based on the history of the code, Cape of Good Code also analyses the balanced distribution of knowledge – anonymously, of course, in accordance with applicable data protection regulations.

Unlike other analysis tools on the market, we prioritize the code problems that are also problems on business-level.

On the basis of cost-benefit considerations, priorities are set across all three areas as to where action should be taken first. Because optimization can always be done and there is no finished status in software development. But it is also true: The later you approach it, the higher the maintenance costs. This is called technical debt. But the “interest” also arises because feature development then becomes more complex and more expensive.

Companies from industry that already have their own software solutions in their portfolio to supplement their traditional products and services, specialized software providers, SMEs that want to push digitization and check the quality of solutions developed for them, but also companies that want to acquire other companies, benefit from these evaluations.

In addition to the quantitative evaluation of code quality and the consequences, the analysis also shows the focal points in a quickly graspable traffic light system – where it’s critical, where it’s still okay – and thus highlights the implications for the company. By offering both in parallel, Cape of Good Code creates a common level at which developers and management can discuss and decide on the issue. 

The Bavarian State Ministry of Economic Affairs and Media, Energy and Technology also sees this as a technological challenge, very innovative and of great benefit, and is supporting the development in Oct 2018 as part of the Bavarian Program for Technology-Oriented Start-ups (BayTOU).

Egon Wuchner is the founder and CEO of Cape of Good Code

Egon Wuchner is the founder and CEO of Cape of Good Code., © Allgäu GmbH, Tobias Hertle

The support from the Bavarian government helped us a lot to overcome the initial hurdles in research and development 

as Wuchner says.

Since the end of 2018 they have been in the business incubator. The start into entrepreneurship was a matter of course for both of them. Wuchner is enthusiastic about the fact that you can realize your own ideas and even earn money with them, and adds that this was already his wish when he started at Siemens. “The thing just had to mature. I needed the right people and the right subject.” His time at Siemens gave him financial reserves and he is happy that Sokolov took the risk with two small children. He replies: “I had nothing to lose. Unlike you, who gave up a career.“

The two complement each other perfectly in their fields of activity, Sokolov is mainly concerned with development, and he has developed the analysis engine to a large extent. Wuchner sees his long-term focus in consulting, but currently also deals with experimental research and customer acquisition.

In the meantime, they have another member of staff on board, who takes care of the visualisations and thus creates the comprehensible processing of the data for management decisions.

We have plenty of ideas!

In the future, they would like to have more employees, mainly for development. By the end of the year, they would like to offer parts of the analysis tool also as a cloud-based product and offer customization. It would also be conceivable to start a further research project to find out what the best approach is to address the problems at the identified focal points in the code. “We have enough ideas,” laughs Wuchner.

Only Wuchner lives in Allgäu and the GmbH is based here. Sokolov is based in Düsseldorf, the third one in Leipzig. Allgäu Digital and the business incubator have given them a lot of support in all entrepreneurial questions, especially in the beginning. In addition to the coaching offers for the founders, the exchange with others is especially important. 

“Our customers are not necessarily in the Allgäu, but that can still change, our offer is definitely relevant for the companies here”, smiles Wuchner. 

Leave a Reply