Image: opensource.com
The term ‘adaptive software’ has at least two meanings: 1) software that is created with built-in capabilities to change its logic in the future; 2) software that enhances an existing software application without significantly changing the underlying code of that application.
I have not seen real-world examples of 1) above, so I will focus on adaptive software as defined in 2) above.
The value of this type of adaptive software is in providing new functionality without the high cost of re-programming existing software applications. Those existing applications are often referred to as “legacy” applications. They could be five, 10, or 15 years old or older. In some cases the company that wrote the program is no longer in business. What do you do if you want to make changes to those applications? In some cases adaptive software can be used.
Bob Kennedy, VP for business development at DMLogic LLC, describes in a recent article for supplychainbrain.com how adaptive software can be used to add features and functions to a warehouse management system (WMS). He explained how companies used adaptive software with an existing WMS to create weight-check functionality and messaging and develop new screens to collect international shipping information.
I like the concept of adaptive software but a few hurdles have to be overcome, and you need to understand the limitations.
The main hurdle is access to the existing application’s database. If you own the application and it resides on a server inside your enterprise this is probably not an issue. But if you are part of a multi-company or multi-division enterprise all of whom depend on the application you want to adapt, you’ll need internal agreement on any changes (easier said than done!).
The limitations of adaptive software are …. not yet known, but I can guess they would start to be apparent when you try to change something very fundamental to the logic of the application. Example? Trying to use adaptive software to add a new unit of measure called “truck” to an existing WMS wherein you have only defined valid units of measure as “case” or “pallet.”
Having tried to find holes in the concept, I will say again I like the idea, because I think software vendors have intentionally or not created products that are too difficult and expensive to change.
Big ERP systems are a good example. These systems are built with the back office in mind, they are workhorses and can scale as big as you want, but they are inflexible systems and they require disciplined data entry into the right screens at the right time with pristine data.
Can adaptive software solutions meet this challenge? Can they provide a user interface for complex and heavy ERP systems that simplifies keystrokes and everyday transactions? I think so, because we have already seen that mobile and tablet applications can simplify what are basically multi-step transactions.
Read Bob Kennedy’s article here.