Agile, test-driven system solutions to sustain profitability

The discipline to develop a financial administration system that is sustainable, with the ability to change, is rarely mentioned.  It leans a little to the big white elephant in the room no one wants to talk about.  This goes for large and smaller financial businesses alike.  The typical scenario found in this business territory is one where software is added as the demand for changes comes in.  What often occurs is that the quality of programming degrades over a long period of time, which creates a bigger and bigger problem as time goes by.  The issue is mainly around the impact all these added bits of code have on existing functions, where changes become more and more difficult to test, take longer to implement and become costly.  As the systems grow with many new features, the ability the change becomes more and more tricky as it affects so many areas within the system.  

Many companies try to solve this problem by building a new system to replace the old system. The new system has similar functionalities but slightly different product outcomes. Due to many factors like the complexity of the financial domain, continuous development on the old system (running target) and new blue sky requirements, these new systems are mostly only partially successful. This is how companies end up with two or three systems over the years as the problem keep repeating itself.  

The root of the problem is never addressed, which leads to unsustainably high costs and time.  Parallel to this is the fact that the experts who were operating on the current system, also have to build the new system, which results in doubling the time and cost factors.  

The need and demand for constant change will never come to a halt for software.  The repercussions to constantly build new systems is not the answer, as it affects the profitability of businesses harshly. 

The only way to overcome this huge dilemma is to build a more streamlined system, which is test-driven.  This means that from the onset, as the system is built, tests are developed to ensure that the integration between functionalities remains in tact and that additional changes does not take an arm and a leg, going forward.  This makes the size and complexity of the actual system sustainable because developers can make changes since tests will show where other areas in the system are affected.   

Apart from the tests, it actually takes consistent discipline to take care of the design, as well as courage and confidence to make changes.  From experience, we’ve decided 15 years ago to build one, large, complex system with a separate test machine that continuously runs more than twelve thousand tests.  This way, issues that may occur with tweaks and changes in the future are detected there and then.

The ability to change has become the new norm and key for stability in business processes and solutions.  Due to the long-term repercussions, including the fast changing business environment and acceleration of digitisation of information, businesses are forced to adapt to include agility.  

Businesses that don’t adapt to the ability to change quickly, will fall behind.  Agility is no longer a matter of efficiency but rather a key factor to stay competitive.