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.
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.
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.
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.
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.