SoftwareMaps: The Concept

Take a step into the mind of your software. 

An organism acutely sensitive to its environment, and which lives, breathes and evolves within its territory. 

It all began with Jürgen's brain

A short while ago on a bright day in Potsdam, Germany, a thought entered the mind of Prof. Jürgen Döllner. Being a researcher, it is commonplace for many thoughts to enter the mind of Prof. Döllner; but this one was  particularly interesting.  

'Oh, perfect', he thought,

'A solution.'

Why not invent a kind of software "cartography"? Maps have turned out to be useful for the last few thousand years. He sat a while longer, and contemplated the idea: a tool that treats codebase repositories with the fluid, dynamic sensitivity that other previous information and cartographic visualisation strategies had lacked, seeing code as a living organism rather than static data.

The future was bright.

A virtual city of units of code.

The shape, the architecture of this city assumes form in a myriad of 'buildings', each individual block representing a different unit or application, and the form of the city shifting according to the particular criteria selected at any moment. Measured according to metric value, the base area of an application or code unit generally represents its code size, and the height the metric value.

The force of time powers all

Visualisation methods have been around in the world of software for a while, but failed to reflect the dynamic nature of code. By identifying the most important code units for the selected criteria and time bracket by highlighting them in red, the Software Map prioritises the data that you need to know about, and presents it in a clear, colourful 3D view.

Code in context

By comparing one line of code with another as it analyses your repositories, innovative SoftwareMaps consider your code within its surroundings;

the relationship between different lines of code make all the difference to your project.

 

Reveal hidden issues and strengths, see what makes what work, and how your system adapts through time.

 

Expose the behaviour of your code. 

A clear view of your entire system, presented in real time. 

'It is single-handedly the best visualisation method available to depict software with over a million units of code.'
Rizwan Iqbal, Engineering Manager for SoftwareMaps

Obstacle Course

TRACKING CHANGES 

 

Paints a dynamic portrait of the activity happening at the very heart of your codebase.

PROBLEM AREAS 

 

In a bid to try and make sure that problems are being addressed at the root cause rather than at a symptomatic level, this metric indicates any problems in the development process or in quality assurance.

THE ENERGY DEVOTED (COMPLEX CODE)

 

Showing the time and energy spent for all complex code units, this metric designates potential hotspots in the codebase that might be slowing down the overall development speed and/or rendering the code error-prone.

SPREADING WISDOM 

 

In situations where one person holds the knowledge relating to a set of code, you could find yourself with a problem in the event that this individual can no longer dedicate themselves to it: likely, considering how susceptible human beings are to illness, distraction, and so on. In the name of keeping things moving on into the future, this shows where you should ask your engineer to share his knowledge.

THE HUMANS INVOLVED

 

This metric helps to determine whether developers have been assigned to a task in accordance with a plan, or if there are major deviations from that plan that could lead to delays or unanticipated expenses. This is a particularly useful obstacle to address from the view of a codebase sustaining a company’s success.

THE ENERGY DEVOTED  

 

This indicates the effort spent on each workstream and helps to establish whether it aligns with the strategic goals and objectives that you have in mind.

TACKLING BACKLOGS

 

The technical debt that accumulates through time slows down development teams who need to address this backlog, all while they’re maintaining the system or indeed integrating new sparkling ideas.

 

This approaches the amount of code lines that are residing deep in the codebase, where developers must work through all of the other levels of various, often tedious logic expressions before being able to understand and work in these areas.

FINISH

 

Of course, there is never a certain finish line when it comes to code, with interesting trends emerging from the results that create new challenges. To be able to welcome these challenges as a part of a code repository that changes as it grows, is necessary for progress and evolution: thankfully, a SoftwareMap provides you with the knowledge and clarity to allow this process to come to fruition. 

STAYING INFORMED

 

Revealing gaps in the documentation of logic and so where you risk losing track of your ongoing progress, this metric helps you fill in the gaps where developers could otherwise find themselves losing time trying to figure out how the code was written before they arrived before it.

BIGGER IS NOT NECESSARILY ALWAYS BETTER  

 

(especially when it comes to code). With this metric, a SoftwareMap identifies overly large applications that could be denoting monolithic and legacy applications by showing them as bigger buildings on the map. Although these aren’t always a risk, it’s worth identifying them.

START

 

Allowing you to see exactly how your code is behaving at a specific moment in time, a SoftwareMap can shape itself around a variety of principles commonly deemed as significant while developing software. 

IDENTIFYING INVESTMENT LEVELS

 

Indicating where the investment has been disproportionate to the output, this metric shows where technical debt in the system might have prevented the investments from achieving what they should. 

IDENTIFYING INVESTMENT LEVELS

obstacle_course_map.png

BIGGER IS NOT NECESSARILY ALWAYS BETTER  

3

STAYING INFORMED

THE ENERGY DEVOTED  

SPREADING WISDOM 

5

PROBLEM AREAS 

TRACKING CHANGES 

FINISH
2
1
4

TACKLING BACKLOGS

7
10
8
START
6

THE HUMANS INVOLVED

THE ENERGY DEVOTED (COMPLEX CODE)

Hover over each number to read more.
9