Building Higher-Level Abstractions of Source Code

Building Higher-Level Abstractions of Source Code

When working with bigger software systems, it’s easy to get lost in all the source code that makes up the system. A good software system has to provide a structure that allows developers to quickly grasp the main ideas of a system. A proven method to achieve this is using hierarchies and schemas. With this approach, tiny things can be summed up to bigger ones that make somehow sense in a more broader view…

Analyze Dependencies between Business Subdomains

Analyze Dependencies between Business Subdomains

In Carola Lilienthal’s talk about architecture and technical debt at Herbstcampus 2017, I was reminded that I wanted to implement some of the examples of her book “Long-lived software systems” (available only in German) with the structural analysis tool jQAssistant. Especially the visualizations of the dependencies between different business subdomains seemed like a great starting point to try out some stuff…

Knowledge Islands

Knowledge Islands

In software development, it’s all about knowledge – both technical and the business domain. But we software developers transfer only a small part of this knowledge into code. But code alone isn’t enough to get a glimpse of the greater picture and the interrelations of all the different concepts. There will be always developers that know more about some concept as laid down in source code. It’s important to make sure that this knowledge is distributed over more than one head…