How to Manage Software Obsolescence
Today, there are many methodologies, databases and tools that address status, forecasting, risk, mitigation and management of electronic parts obsolescence. However, their main focus is exclusively on the hardware life cycle. In most complex systems, software life cycle costs (redesign, re-hosting and re-qualification) contribute as much or more to the total life cycle cost as the hardware, and the hardware and software must be concurrently sustained.
In the COTS world, hardware and software have developed a symbiotic supply chain relationship where hardware improvements drive software manufactures to obsolete software, which in turn cause older hardware to become obsolete. While hardware obsolescence precipitated software obsolescence is becoming primarily an exercise in finding new COTS software (and more often COTS software and new hardware are bundled together), the more challenging software obsolescence management problem is often found at the interfaces between applications, applications and the operating system, and drivers. There are significant costs associated with the management of software Obsolescence via the methods below:
Re-development – In re-development, software is modified to operate correctly with new application hardware (or with other new software). This can range from retesting the software to re-architecting and may also include: re-integration, data porting (data migration), re-training and document revision.
MapuSoft offers a wide variety of standard & popular Application Programming Interfaces (API) that are abstracted and can be made to work across multiple Operating Systems and target/tools/IDE environment to significantly reduce the ongoing redevelopment effort.
Re-qualifying – Either modified or un-modified legacy software may have to be tested and requalified in an operational environment.
MapuSoft offers an virtualized test environment that greatly aid in modular testing of software systems either simulated on host or real target to significantly reduce the re-qualifying effort.
Rehosting – Rehosting means modifying existing software to operate correctly in a new development environment. Rehosting is applicable to legacy software systems originally created with languages and systems that themselves have become obsolete.
MapuSoft offers a wide variety of tools to convert programming languages and also easy OS upgrade kits to significantly reduce rehosting effort.