Konstantin Sokolov

Co-Founder & CTO of Cape of Good Code.
Co-Founder & CTO of Cape of Good Code.
Avoid Pitfalls in Software Due Diligence

Avoid Pitfalls in Software Due Diligence

April 29, 2021 by Konstantin Sokolov


The role of software assets in M&A transactions becomes increasingly important for the evaluation of business risks and the commercial or strategic value of the target. The tight time frame makes it obviously inevitable to apply a tool-assisted approach for the assessment of the technology status and the inherent risks. There is a growing understanding that widely used static code analysis tools can not deliver the necessary depth of insight for the investor compared to the analysis of the history of the code and its changes. 

In this blog we are going to elaborate why identifying the relevant code and potentially risky hotspots needing improvement has to consider more than just code quality and hotspots of changes. The next blog is focusing on the human factor and why the identification of key developers needs to look beyond knowledge islands.

Continue reading →

Posted by Konstantin Sokolov in General, 0 comments
Architecture Hotspots – Despite Good Dependency Structures

Architecture Hotspots – Despite Good Dependency Structures

October 29, 2020 by Konstantin Sokolov and Ural Sezer

This topic has been published as “Architektur-Hotspots aufspüren” in the 01/2020 edition of JAVAPRO.
The complete article in German is available here as PDF.

Introduction

Structural dependency analyses are of limited significance. In some cases they do not capture the essential architecture hotspots, as we will show by means of a code example. The feature modularity concepts presented here are a new way of understanding system complexity. They aim at identifying architecture hotspots that increase the (maintenance) effort for new features.

Continue reading →

Posted by Konstantin Sokolov in General, 0 comments
Improving Software Quality by Choosing Reasonable Issue Types

Improving Software Quality by Choosing Reasonable Issue Types

May 02, 2020 by Konstantin Sokolov

Introduction in a Nutshell

Do you exactly know which issues types to use for your issue tracker and when to use which? Does everyone in your project know about your approach? Are issue types always used consistently in your project? Should  you use Technical User Stories or not? Do you use issue types at all? Do you find it reasonable that different issue trackers have such different default issue types? Have you ever thought about issue types at all?

If your answer to one or more of the questions above is “no”, or “don’t know” or “I don’t care”,  you are not alone, and this post might be of interest to you. It reveals the chaos behind the often mindless, uncertain and inconsistent usage of issue types in many software projects. It shows why a conscious and purposeful application of issue types can lead to better code comprehensibility as well as better quality monitoring and decision making in projects. It suggests a minimal set of reasonable issue types along with understandable rules for their usage. In particular, it reasons why a separate issue type is needed to deal with technical debt.

Continue reading →

Posted by Konstantin Sokolov in General, 0 comments