Средний срок службы программного обеспечения, которое я пишу в данный момент, вероятно, составляет несколько дней. (Я пишу много сценариев, так что я могу быть отклонением от нормы. ;-) Но основной системе, с которой я работаю, сейчас, вероятно, 15-20 лет. Базовой ОС около 30 лет. Нет ничего плохого в старом или молодом программном обеспечении. На самом деле, программное обеспечение стареет лучше всего, когда его можно адаптировать к новым применениям.
Наличие уровней абстракции между функциональными частями облегчает замену функциональности в системе. Например, мы просмотрели несколько различных ленточных библиотек в нашей системе, и теперь мы рассматриваем возможность использования дисковых архивов в будущем. Поскольку «архивная» часть нашей системы находится за уровнем абстракции, мы можем довольно легко заменить ее, не заменяя остальную часть системы.
По возможности также лучше использовать стандартные детали. Таким образом, если вы столкнетесь с какими-то ограничениями, скорее всего, у других возникнут те же проблемы, и, скорее всего, кто-то найдет исправление.