대부분은 기능을 빠르게 구현하는 것이 더 중요하다고 생각합니다. 특히 초보 사장의 경우 서비스 초기에는 기능이 많을수록 생존에 유리하다고 믿습니다. 그래서 프로젝트가 빠른 기능 구현에 집중하게 되고 프로그램 설계에는 많이 신경 쓰지 못합니다.
그렇게 마구잡이로 작성된 코드는 변경 시 서비스에 어떤 영향을 미칠지 예측하기 어렵습니다. 아무리 작은 수정이라도 그로 인해 영향을 받는 범위가 클 수 있습니다. 로켓에 쓰이는 2mm짜리 나사 하나를 다른 제조사의 부품으로 바꿨는데 호환이 되지 않아 로켓이 발사하자마자 폭발해버리는 것과 같습니다.
그림 7-8 코드 변경으로 영향을 받는 범위를 판단하기 어려운 경우