Простыми словами
Долго живущая программа должна постоянно меняться, иначе она всё хуже соответствует среде и потребностям. Но каждое изменение обычно повышает сложность, если специально её не снижать. Поэтому сопровождение — это не временный этап после разработки, а постоянная работа по адаптации и упрощению.
Механизм действия
Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.
Пример в работе
В задаче «API» сразу применить привычное решение и назвать происходящее «Законы эволюции ПО Лемана», не проверив, действительно ли работает этот механизм. Так можно улучшить один симптом и пропустить основную причину.
Использовать «Законы эволюции ПО Лемана» как гипотезу: сначала определить границы ситуации и исходное состояние, затем менять только то, что связано с проверяемым механизмом, и смотреть на результат.
Ограничения
Законы выведены из наблюдений за определёнными крупными программными системами; они не одинаково применимы к одноразовым, встроенным или формально ограниченным продуктам.
Источник
Meir M. Lehman, “Programs, Life Cycles, and Laws of Software Evolution”, 1980.