P-타입(Practical Type): 요구되는 동작이 명확하여 변화가 거의 일어나지 않는 프로그램
E-타입(Embedded Type): 실제 일상(업무)에서 수행하는 활동을 위해 만들어진 프로그램
리먼의 원리는 E-타입에만 적용된다.
8가지 변화 원리
Continuing Change
지속적 변경(1974년)
소프트웨어는 계속 진화하며 요구사항에 의해 계속적으로 변경됨
소프트웨어는 자체적으로 갱신 불가하며 인간의 의지의 개입이 필요
다시 만드는 것보다 더 경제적이라고 판단되는 한 계속 변화
Increasing Complexity
복잡도 증가(1974년)
변경이 가해질수록 구조는 복잡해짐
복잡도는 이를 유지하거나 줄이고자 하는 특별한 작업을 하지 않는 한 계속 증가
Large Program Evolution
대형 프로그램의 진화(1974년)
프로그램별로 변경되는 사항은 고유한 패턴/추세가 있음
복잡성을 단순화 시키려는 인간 의지의 개입
Organizational Stability
조직적 안정성(1978년)
조직의 생산성이 조직 변화에 민감하지 않음
개인의 생산성을 최적화 하는 것이 팀의 생산성을 최적화하는데 필수적이지 않음
Conservation of Familiarity
익숙함의 보존(1978년)
소프트웨어 각 버전의 변화는 일정함
소프트웨어는 규칙적인 수행결과와 추이를 보여주기 때문에 계측 가능
Continuing Growth
지속적 성장(1991년)
소프트웨어의 생애 동안 기능성은 사용자 만족도는 유지하기 위해 증가됨
Declining Quality
품질 감소(1996년)
소프트웨어는 엄격하게 관리 및 운영되지 않거나, 환경 변화에 적응하지 않으면 품질 하락
Feedback System
피드백 시스템(1996년)
시스템의 지속적인 변화 또는 진화를 유지하려면 성능을 모니터링 할 수단이 필요
↑law이므로 '법칙'으로 해석하는 것이 더 적절하다. Lehman은 리만브라더스에서의 리만이다. 흔히 한글로 표기되는 이름인데 이상하게 이 법칙만 'Lehman 소프트웨어 변화의 원리'라고 다소 이상하게 표기된다. 그냥 '리만의 소프트웨어 변화 법칙'이라고 부르는게 가장 적절하나, 본 위키에선 범용적인 명칭을 어느정도 따른다.