CxO’s often ask why didn’t we see this coming when their LOB applications start to break down. The easy answer is you overlooked inherent aspects of the software development life cycle (SDLC).
Software has a natural tendency to age over time. At a certain moment, incremental maintenance projects will make no sense anymore and modernization programs are investible.
Software is subject to the laws of Maintenance Crisis:
- Software matures through usage: running in a production environment the smallest remaining bugs will be found over time.
- Law of continuous change: change will make software progressivity less useful over time until the cost for maintenance is greater than the cost of replacement.
- Changes introduce more complexity as structure (architecture) will deteriorate over time: unless the structure is changed or complexity is lowered.