Mr. Macke, you've been a software architect and developer for over 20 years. Don’t you ever get bored?
Not at all! (laughs) I find programming incredibly creative. It’s like starting on a blank canvas, building something completely new from scratch. I get to create solutions for internal challenges or client needs. It’s fascinating how a few lines of code can form the backbone of processes that make our daily operations possible. It gives me a tremendous sense of freedom.
Alte Oldenburger has relied on Adabas and Natural as its core system for over 25 years. Why stick with it?
Our codebase is extremely reliable. Once programmed, it runs smoothly without constant adjustments. Second, the performance is excellent—Adabas and Natural handle large batch processes efficiently, which is crucial for an insurance company. Third, the language is straightforward, making the code easy to understand. This is particularly beneficial for new developers, who can quickly get up to speed and work independently. It’s like a well-written book that remains clear even after many years.
So there’s no reason to replace this “book” with a new one?
Exactly. Adabas and Natural have been refined over decades, tailored specifically to our insurance domain. As an insurer, we value stability and long-term planning. We now have over 5 million lines of code, each piece fine-tuned to meet our specific processes and requirements—from application processing to billing and payouts. We call our system VERSIS, short for “Insurance Information System.” This ERP system handles all our insured clients and services. In essence, VERSIS is the backbone of our business. Replacing it would mean rewriting the intricate details that make our processes efficient.
Which would be a massive undertaking.
Yes, and frankly, it would be pointless. Developing a tailored system like this would take years, and we’d likely need to double our development team to handle the transition. Our strategy is to keep the core system and extend it with modern interfaces. For instance, we can connect our customer app, which allows clients to scan their medical bills, directly to our backend without replacing the entire system. This way, we create an ecosystem with a solid nucleus and modular components we can modernize as needed.
How does legacy modernization work in practice?
We form mixed teams of experienced developers who know the ins and outs of the legacy software and the insurance industry, alongside newer developers who bring fresh perspectives and modern technologies. This creates a dynamic exchange: veterans share their knowledge of Adabas and Natural, while juniors introduce ideas like automated testing and container solutions. One example is a junior developer who implemented an MVC pattern from Java in Natural, helping us apply modern structural concepts to an older language. Both sides benefit, and ultimately, so does the company.
Can you elaborate on that?
Team members often work in the same office, making it easy to exchange ideas and learn from one another. Quick, informal communication helps break down barriers and find solutions fast. Personal interaction enhances learning and strengthens team cohesion, which we further support through regular presentations and team meetings. This exchange is crucial for mutual learning.
What are the essential requirements for this collaboration to succeed?
First, modern technology and tools like build systems and unit tests, regardless of the programming language. This creates a contemporary work environment that appeals to young professionals and allows for flexible development. Second, fostering an equal exchange between junior and senior developers. We regularly hold team meetings where developers present their ideas and solutions. Third, an attractive work environment that blends remote work with in-office collaboration. This way, we offer flexibility without sacrificing personal interaction and teamwork.
Looking ahead, what does the future hold?
I believe successful legacy modernization depends on equipping our developers with a modern infrastructure and actively promoting intergenerational knowledge exchange. This way, we retain our expertise while incorporating new ideas. Only through this collaboration can we make the most of an older language like Natural and enhance our ecosystem with modern tools and concepts. For instance, we plan to increasingly containerize our applications. The future starts here and now.