소프트웨어 유지보수는 이전과 동일한 동작을 유지하는 것이 아니다. 변화하는 세상에서 유용함을 유지하는 것이다.
소프트웨어 제품 생명 주기가 늘어날 수록 비용은 배로 증가하지만, 제품 코드의 크기는 얼마 수준을 넘어가면 정체가 된다. (코드 수정 비용 증가)
소프트웨어의 경쟁력을 높이려면 유지보수 비용을 낮출 수 있는 방법을 찾아야 한다.
코드 품질은 유지보수 비용에 큰 영향을 준다.