General

Maintenance or innovation? Setting the right priorities in software development based on facts

Cape of Good Code's software analyses provide data-based help in allocating the ever-scarce development resources in software engineering


Cape of Good Code GmbH is a consulting company founded by software specialists around the topic of "improving the sustainable quality of software". By developers for developers and management, so to speak. With funding we have developed the innovative feature-centric DETANGLE® analysis software as a central tool platform for our analysis projects.

One of the major challenges in software engineering is the allocation of development resources, which are always in short supply. It is always also a question of "maintenance or innovation"? To answer this question, in particular, the technical debt [1] of the software must also be considered. These are the germ points for even fatal technological problems in the future. While business development pushes for innovations, software engineering must decide whether it would not be better to eliminate the technical debt in code and architecture first.

Technical debt arises insidiously and for a variety of reasons. And as usual with debts, they escalate at some point if you don't try to reduce them promptly. But how do you recognize this point in time and avoid the renewed increase of debt in the future? Cape of Good Code answers exactly these questions with its software analysis.

The most common reason for technical debt are the intended and unintended compromises during software development that developers make due to time and budget pressures. However, we know from data from our projects that not only time and budget pressures are problematic. Inappropriate knowledge and experience distribution in the project team, coupled with a lack of collaboration between experienced and less experienced developers, also promotes the buildup of technical debt. The common factor in the extent and causes of technical debt is that it can only be identified with specialized knowledge and software tools.

In this mishmash, Cape of Good Code sees itself as someone who brings light into the undergrowth of these inadequacies. In this way, we help the management and the developer team to jointly align the real priorities with their own possibilities in order to achieve the best possible result under the given conditions. If the conditions are the problem, we bring that up as well.

Cause Cluster

Effects

Notes

Decreasing team performance

Building up
technical debt

Unbalanced mix of knowledge/experience

x

   
Insufficient collaboration

x

   
Understaffing/
Burnout [2]

x

x

 
Missing refactoring  

x

Vicious cycle
Scarce maintenance budget  

x

Vicious cycle
Documentation gaps

x

x

 

Thus, using the data from the Cape of Good Code software analysis, the following important questions can be answered:

  • Where are the hotspots of technical debt in code and architecture?
  • Which areas are more critical than others (e.g., making it increasingly costly to integrate new features)?
  • What is the relationship of effort versus benefit in prioritizing improvement efforts?
  • Where are the critical knowledge islands (Bus factor [3])?
  • What organizational reasons promote the emergence of technical debt?

You can find more info about this under Software Analysis.

Links

[0] Photo by Bruno Scramgnon from Pexels

[1] Technical Debt

[2] Burnout

[3] Bus factor

Similar posts