The C4 model for visualizing software architecture

The C4 model for visualizing software architecture

오랫만에 Software관련 책을 하나 읽었다. 분량이 그리 많지 않은 내용이라 쉽게 읽었다. Software 개발은 항상 문서작성을 포함하는 범주로 나는 정의하고 있다. 왜냐하면 Software는 혼자서 작성하는 일이 거의 없고 공동의 작업결과물이기 때문이다. 공동의 작업은 필수적으로 소통이 따르게 마련이며 이 때의 소통은 Software가 어떻게 만드러지며 어떤 과정을 거쳐 여기까지 왔는지를 표현하기 때문이다. 따라서 이런 소통의 결과물 없이 Software만 얘기한다면 그냥 길가에 굴러 다니는 돌맹이에 불과할 것이다.

우리가 역사적 기념물이나 유적을 만날 때 아는 것 만큼 본다고들 많이 얘기한다. 즉, 내가 얼마만큼 알고 있느냐에 따라 길가에 굴러 다니는 돌맹이처럼 보일 수도 있고 인류의 역사가 함축되어 있는 값진 보물이 될 수도 있다. 이는 그 배경을 어떻게 알 수 있는가에 달려 있으며 오직 기록으로 가능하게 한다.

Software는 생각/사고의 결과물이며 그 과정을 기술하는 문서가 없다면 일시적인 공유물에 불과하며 이런 지식들이 시간을 건너 사람과 사람에게 전달 될 수 없을 것이다

이 책은 Software를 문서화 하는 방법에 대해 설명한다. 기존에 UML이 있었지만 복잡하고 작성하기 번거로워 개발자들에게서 멀어지는 빌미를 제공했다. 이에 저자는 Context, Container, Component, Code라는 개념을 C4 Model이라는 용어로 묶어 간결하면서 Software를 보다 널리 다양한 사람과 소통하는 방법을 제시한다.

UML이 익숙한 나에게는 C4 Model이 낯설지 않고 여기서 설명하는 내용 또한 공감가는 부분이 많다. 따라서 필요에 따라 적절하게 선택해서 사용하면 좋을 것 같다는 생각이 든다.

2024.08.24

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다