Skip to main content
Contact us

It sounds so tempting: to start with a clean slate. Applying everything learned to a completely new solution. No compromises due to existing customers, and setting up the perfect system with the latest frameworks. However, we are convinced that rebuilding a system is not the way to provide customers with a sustainable solution. Stef Roskam, VP Engineering at Otherside at Work, shares our vision on this strategic choice:

"It is a conscious decision to focus on incremental development of the Xpert Suite. And not to offer customers a new 'version 2' after a few years of building. Our customers also appreciate this, as it positively impacts the continuity of our services and the way new functionalities are made available."

In this blog, we explain why we choose incremental development and what it means for our customers.

What is the difference between rebuilding and incremental further development?

First, let's clarify what we mean by rebuilding and incremental further development. Stef explains: "Rebuilding means that a system is completely rebuilt, with the old and new system completely separate from each other. This means that there is a hard transition between the old and new system for the customer, often with a new implementation, migration and extensive user training.

Incremental development focuses on gradually rebuilding or refactoring existing code. This means that we gradually rewrite or improve outdated parts to keep the system up-to-date. The main difference is that there is no major, sudden transition, but changes are made gradually."

Why Otherside at Work does not choose to rebuild

For us, rebuilding is not a good solution, Stef gives several reasons for this:

  • "The size of the codebase: The success of a rebuilding process depends very much on the size of the codebase. A ten-man-year codebase is considerably easier to rebuild than a two-hundred-man-year codebase.
  • High costs and customer loss: If you choose to rebuild, you have to maintain two systems: the old system and the new system. This requires more people, and that is simply more expensive. Customers will also have to switch in the long run. With a platform like Xpert Suite, this requires a lot of guidance time. As a result, there are always customers who do not want to or cannot make the switch. In practice, you therefore see that customers drop out during a rebuilding process.
  • Code freeze: In a complete rebuild, the development of new functionalities often has to be stopped for the old system, because all attention and resources go to the rebuild. This means that a "code freeze" takes place, which means that customers do not receive new functionality for a long time. In a market where new developments are constantly taking place, such as laws and regulations and AI solutions, this can mean that customers are left behind. With incremental further development, you can immediately make new developments available within your existing solution.
  • New code is not always immediately better: Code that has been around for 10 years, for example, is "battle hardened". The code has been tested on many edge cases and these have been handled by bug fixes. The code is also often optimized to handle the desired load. You want to include these properties in your new code, but they are not always easy to understand. As a result, there is a good chance that you will 'throw away' good work and make mistakes in the new code that had already been solved in the existing code."

Benefits of incremental development

Otherside at Work opts for incremental further development, because this strategy offers a number of important advantages. Stef explains:

  • "Reduced risks in the event of change: In incremental further development, new parts are put into use step by step, so that any problems become immediately visible and can be solved quickly. Sometimes we miss edge cases that are not sufficiently knowledgeable and older code is sometimes not easy to read. But because of the incremental way of working, those risks are smaller than with a big bang.
  • Gradual improvement for the customer: By developing incrementally, changes are implemented gradually, which means that customers can more easily get used to new functionalities. In case of small changes, we share release notes. In the event of major changes, we can choose to implement the change gradually by first having some of the users tested. If no problems arise or if they are resolved, everyone can move on. That makes the habituation process much less drastic."

Challenges of incremental development

While incremental development offers many benefits, there are also some challenges. First of all, it is important that the software is modular. The technical components must be able to be replaced separately. One of the biggest challenges is the integration of old and new parts.

During incremental further development, you also have to take into account existing uses of your application and what users like or don't like. This may seem like a challenge, but is actually a blessing in disguise. "It forces you to take into account the practical application of your solution early on in the process, something that only becomes clear with a complete rebuild once the first users start working with it. So the big challenge is finding the right balance between taking into account the limitations of practice, and daring to steer your users towards change."

Finally, incremental development requires discipline and consistency to ensure that software quality gradually improves. Stef says: "In the end, you can't avoid renewing everything. After all, software development from 20 years ago cannot be compared to today and the frameworks and platforms you run on are declared end-of-life. Sometimes we choose to only refactor an existing module. We do this if the existing code is close enough to our target architecture. If the quality of the code is insufficient or too far from the devised architecture, then we have to rewrite it. Ultimately, we will renew everything in this way, but that will happen step by step."

The future of Xpert Suite

Xpert Suite is in full development. Stef talks about the future: "We are getting more and more stand-alone domain services. A domain service contains the operation of a fully defined functional domain, from backend to frontend. As a result, the various components become functionally and technically smaller and the software is manageable independently of each other. This means that we can perform upgrades faster and easier, without affecting the rest of the system. This keeps the speed of development high and allows us to continuously maintain and expand our package."

Conclusion: What Organizations Should Look for in Their Software Vendor

Thanks to the choice for incremental further development, we have customers who have been able to use the same software for 15 years, without major migrations and all the work that comes with it. At the same time, they can still use new AI modules and software that is fully up-to-date and uses the latest frameworks.

Stef advises organizations to take a good look at the reputation and approach of a software supplier, especially if software supports the primary process of their company. "It is important to be sure that your supplier is able to renew and maintain the software in the long term. Too often we see that companies make a choice based on the current functionality and price, without paying attention to the long term," says Stef. "The question 'Will we still see this supplier performing well in five years' time?' is not always asked. And then cheap can be expensive, because a large migration project is needed."

So what should organizations ask a supplier? "The most important thing is to ask how the life cycle management of the software is arranged. And of course also to the proven track record in that area. If a supplier has already opted for rebuilding, it is important to ask further questions," says Stef.

Contact

The Xpert Suite is an innovative, data-driven portal for corporate health and social security. The portal is for employees, managers, HR professionals, company doctors, proxies and insurers. Each user gets their own access that is fully tailored to their specific needs.

Want to know more about the Xpert Suite? Please  contact us