You deserve explainable systems. Read the whitepaper.

We untangle your legacy software challenges.

You have a legacy system. It's challenging. Perhaps, that migration is harder than you first thought. Or, you seem to not be able to adjust your system fast enough to keep up with the market. Or maybe, you simply do not know where to start that modernization project.

Most of these problems stem from a lack of accurate insight into the system. You do not lack the ability to solve the problem. You lack the ability to see the problem.

We show the fires in your system and we guide you to extinguish them. We guide it all through custom tools that generate accurate views.

We cover the whole legacy lifecycle.

From strategic assessments for figuring out the path forward, to steering migrations and to guiding rewrites and domain discovery.

Strategic assessment

We start by diving into your system. This is an intense, typically 4-8 weeks, period to learn your context and distill a path forward. We work closely with you and guide the whole process through custom tools through which the problem gets explained. The result is a concrete description of options and recommendations.

Steering migrations

Whether you migrate to a new technology, split the system into smaller pieces, or moving it to the cloud, it is the existing architecture that poses the greatest technical challenge. We accompany the team through this process, and we coach the team how to guide it by means of automatic views and constraints.

Guiding rewrites and domain discovery

Sometimes, building anew is the only reasonable choice. A new system requires discovery guided by a ubiquitous language that bridges the technical and business worlds. But, that language should not remain on a whiteboard. We make the system show the pictures and through this we enable faster feedback and iterations.

For example:

Say the business requires to migrate a core system or a database that is being used by many others systems. To put it in practice, you need to understand the current landscape. Only then can you make decisions knowingly.

Once you decide on a technical path, you want to ensure the system evolves the way you want. It starts from establishing conventions and detecting deviations. These enable higher-level patterns to be visualized and reasoned about.

A rewrite requires the recovery of the business knowledge burried in the old system. You want to capture it in an executable shape so that it can serve as a central source of truth for both business people and technologists.

Testimonials

As Saloodo was transforming our MVP to a market ready product, feenk helped us with software assessments that shed accurate insight into the system that helped steer its development into the right direction towards building a robust, extendable and scaleable platform that could adapt to business requirements much faster.

Elaine Tan
CTO, saloodo.com

While thinking of a common code base for our software products we were going in circles not knowing where to start. The feenk team supported us not only with analysis tools but more importantly by coaching our teams how and where to start the restructuring and how this could become a feasible project to tackle. First steps have been taken to do analysis-based refactorings while still delivering features in parallel. We still have a long way to go but the initial hurdles are overcome!

Jan Biermann
Head R&D, dbaudio.com

What's in it for you?

You boost your decision making abilities.

The core proposition revolves around replacing manual views created through manual inspection by views generated automatically, yet are specific to the problem. It's much like data science, only applied to software.

This is important because we replace the single largest cost and the most important source for unnecessary risk. Your system is too large to be understood manually. As a consequence, pictures produced manually do not reflect the reality of the system. They constitute beliefs rather than accurate engineering tools. And beliefs are not appropriate for any decision making.

Automating how information is gathered from the system reduces risks and frees energy that can be used for experimenting and acting.

You gain critical skills.

Steering a legacy system is a multi-dimensional problem. Due to the size of systems, tools are essential, but regardless how smart tools are, you are still the one to make the decision. You have to drive.

Legacy means value, but value is always specific. Every system is special in its own way. There are no recipes to deal with it. It relates to your technology, to your domain, to your business. However, there are patterns you can learn and skills you can build.

We show you how these work in practice. It's not easy, but it's lasting. And then we teach you how to do it yourself, too.

You get results now.
And you invest in the long term, too.

Yes, we know that your crisis needs addressing now. But, you can address it as an investment that will pay off continuously in the future.

We act as your first tactical team. In a crisis, everything looks like a problem, but not all problems are equally valuable. We work with you identify what matters and you get concrete visible improvements at least quarterly. And, you also get the tools tailored specifically for documenting and ensuring that path.

Like this, solving the crisis becomes an investment into your long term ability to deal with the same problems.

Why work with us?

We bring a unique experience. We cover the whole spectrum, from a single line of code to decisions made at the company executive level.

We base our work on state-of-the-art scientific work, much of which we personally authored. We actively create new tools and techniques for thinking with and about software systems.

Our work was validated for more than a decade of working with highly difficult problems in legacy systems in multiple domains.

Frequently asked questions

This sounds technical. Are you also working with business people?

Indeed! Software is technical, but our goal is to translate the technical details into what generates business value. We always start from the business problem.

Do you work with a specific industry?

Our work is industry agnostic. We worked with various domains including transportation, hospitality, semiconductors, data privacy, retail, automotive, and acoustics.

What programming languages can you work with?

We work with systems written in any languages. We know that sounds a little far fetched, but we did work with systems involving multiple programming languages such as: Java, C#, JS/Angular/React, PHP, Smalltalk, C++, Qt, Delphi, COBOL, SQL or even proprietary languages.

Do you always work with your own tools? Why?

We do work with the tools we develop because they provide a competitive advantage both for us and for our customers.

Do you offer some sort of analysis tool?

We solve concrete problems. We do rely on a number of automatic analyses, and we do build a unique technology in this space through which we can work with sources, configurations, logs. However, technology alone is only as good as the driver. We solve actual problems.