Io-13-wyk-Slajd15
Prawo wzrastającej złożoności
Drugie prawo Lehmana opisuje zjawisko znane w wielu dziedzinach fizyki: zwiększanie nieuporządkowania (entropii) w miarę upływu czasu. Wprowadzanie zmian do oprogramowania (nazywanych często progresywnymi) zwykle narusza pierwotną strukturę programu, a kumulacja zmian tylko ten proces nasila. Liczba powiązań i interakcji pomiędzy różnymi modułami w systemie zwiększa się, co utrudnia zrozumienie go, a także jego dalsze modyfikacje.
Alternatywą jest poniesienie dodatkowych nakładów w trakcie pielęgnacji, poświęconych na czynności antyregresywne: upraszczanie struktury i lepsze wkomponowanie wprowadzanych zmian w istniejące oprogramowanie.
Równowaga pomiędzy czynnościami progresywnymi a regresywnymi zależy od ilości i rodzaju informacji zwrotnej płynącej ze środowiska: inaczej są obsługiwane żądania związane z naprawą błędów, a inaczej z rozszerzeniami funkcjonalnymi.