Cost of maintenance
Khem Raj December 02, 2024 #metaOften we add a feature or service to enhance products or fix defects to service them in field. In software products the process will often result in additions to existing software by
lines of code
Additional tests
Additional deployment and QA checks
New dependencies
Since software components depend upon each other, even in steady state software gets rotten, it's like standing water vs flowing water.
Strategies to lock down software often result in it not being serviceable for long and shortening the product life cycle.
Another strategy is to pay attention towards cost of maintenance of software over the deemed life cycle of the product ahead of time and plan for it. e.g.
Do we need to upgrade Linux kernel ?
Do we need to upgrade the whole Distribution ?
Are we fine with just upgrading the application that is our service ?
This can result in a robust plan which does not bleed money into upkeep of the products and at the same time prolonging the life of products even beyond its estimated life.