We make your systems explainable. Your legacy systems, too.
We are a consulting company specialized in augmenting your ability to modernize legacy systems and to tackle new domains.
We start with your legacy system through an intense, typically 4-8 weeks, period to learn your context and distill a path forward. We work closely with you and guide the process through custom tools. The result is a concrete description of options and recommendations.
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 coach the team how to guide it by means of automatic views and constraints.
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. We make the system show the domain through visualizations and you get faster feedback.
What people say about working with us.
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.
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!
Head R&D, dbaudio.com
We work across industries. And technologies. And we always solve hard problems.
We worked with various domains including insurance, transportation, hospitality, semiconductors, data privacy, retail, automotive, and acoustics. And we worked with systems written in a variety of languages and technologies like Java, C#, JS/Angular/React, PHP, Smalltalk, C++, Qt, Delphi, COBOL, SQL, PEGA and even proprietary languages.
What do all these have in common? They all face hard problems that need accurate insights. We achieve this by building custom tools that match the system. These tools are like super powers that allow us to learn and discover problems quickly and to guide the team.
Our work is tailored to your context. Let's look at details together.
We always start from your context because value is always contextual. To see how it works, let's have a chat.
When you work with us:
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 greatest 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.
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?
Software is technical, but we always start and end with the business problem. Our goal is to translate the technical details into what generates business value.
You mention that you solve hard problems. Can you give some examples?
Here are some.
A company relied on a core piece real-time technology for which they lost the knowledge. We reverse engineered, documented and ported it to a new environment. Here is a video held together with their director of engineering.
Another company had a data pipeline used for generating marketing offers that was too slow. The pipeline relied on 5 different technologies and they did not know how to make it faster. We guided their strategic investment by showing a detailed attribute-level overview of the pipeline.
In another case, we got a hardware company to learn how to invest in software and to discover opportunities residing in their systems. We then guided the team to migrate the systems to match the newly identified strategic direction.
In yet another case, we worked with a startup to guide their exploration in the data privacy area. We built a dedicated environment for on a elaborate domain model. And we accompanied their investment pitching through executable demonstrations about the implications of their model. Here is a video held together with their founder.
How can you possibly be able to deal with such a variety of situations?
We can do this because we found a systematic way to make the inside of systems explainable. Indeed, architecture recovery seems quite distinct from data lineage recovery, and even more so from learning about a new domain. Yet, all these are about humans needing to grasp the inside of the system concisely. We aggressively build custom tools to help with summarizing the system and construct narratives. Through these people get an accurate picture of their system and then to make better decisions. And this inevitably leads to generating new business value.
Do you work with a specific industry?
Our work is industry agnostic. We worked with various domains including insurance, 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, PEGA and 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 build a unique technology in this space. However, technology alone is only as good as the driver. We solve actual problems.