Io-13-wyk-Slajd20
Prawo spadku jakości
Jakość oprogramowania jest postrzegana z dwóch punktów widzenia: z zewnątrz, przez użytkownika, i z wewnątrz, przez programistę. Oba punkty widzenia dotyczą innych problemów: użytkownika interesują błędy i funkcjonalność, natomiast programistę także wewnętrzna struktura programu. Jakość w obu tych aspektach ulega degradacji w miarę upływu czasu.
Jakość zewnętrzna dotyczy liczby i rodzaju znajdowanych błędów oraz funkcji oferowanych przez system. System pracujący w satysfakcjonujący sposób przez dłuższy czas także jest narażony na wykrycie w nim błędu. Wśród innych powodów można wymienić zwiększające się z upływem czasu potrzeby i oczekiwania użytkowników, ich przyzwyczajenia, a także ewoluujące standardy jakościowe oprogramowania, szczególnie przy pojawiającej się na rynku konkurencji. W oczach użytkownika program, który nie nadąża za postępem, staje się przestarzały i mniej użyteczny, nawet jeżeli jego funkcjonalność nie ulega zmianie.
Jakość wewnętrzna jest bardziej obiektywną miarą złożoności struktury programu. Pokazuje ona pośrednio, jaka jest zdolność programu do pielęgnacji. Zmiany, wprowadzane wraz z ewolucją, zwykle nie są prawidłowo integrowane z istniejącą strukturą i ją pogarszają.
Lehman wskazuje, że jedynie rygorystyczna pielęgnacja jest w stanie zapobiec spadkowi jakości oprogramowania w miarę upływu czasu.