더북(TheBook)

특정 구성 요소와 그 관계를 하나씩 고민하고 있다면 이는 복잡한 시스템에서 작업하고 있다는 확실한 신호일 것입니다. 단순한 시스템에는 “A 유형의 구성 요소는 B 유형의 관계로 연결된다.”처럼 일정한 패턴이 있습니다. 하지만 복잡한 시스템에서는 이 패턴이 수많은 예외 때문에 흐려지거나 아예 존재하지 않기도 합니다.

복잡한 상태를 그대로 두면 결국 전체 시스템을 망가뜨립니다. 단순한 아키텍처로 시작한 시스템도 그 상태를 유지하지 않으면 점점 복잡할 수밖에 없습니다. 예외 상황은 언제나 생기기 마련이고, 이는 임시방편이나 무지로 점점 시스템에 녹아들게 됩니다. 하지만 왜 그렇게 되었는지 그 이유는 중요하지 않습니다. 시스템을 제대로 유지 관리하지 않으면 결국 복잡성은 점점 커지고 엔트로피4는 증가합니다. 단순함을 추구하지 않는 시스템은 이미 그 자체의 무게에 눌려 서서히 망가집니다.

복잡성은 시스템 품질을 저하시킵니다. 단지 여러 부품을 이리저리 모아서 만든 시스템은 우리가 예상했던 것과 다르게 동작할 가능성이 큽니다. 또 시스템 구조가 제대로 잡혀 있지 않으면 체계적인 평가가 어렵기 때문에 테스트도 힘듭니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.