문서화는 개발자의 운영 능력입니다
· 약 2분
개발을 하다 보면 문서화는 늘 뒤로 밀립니다.
기능을 먼저 만 들어야 하고, 장애를 먼저 봐야 하고, 배포 일정을 맞춰야 합니다. 그래서 문서는 시간이 남으면 하는 일처럼 취급되기 쉽습니다.
하지만 프로젝트를 오래 운영하다 보면 문서화는 개발과 분리된 일이 아니라는 것을 알게 됩니다. 문서는 코드를 설명하는 부수적인 산출물이 아니라, 다음 개발자가 시스템을 안전하게 다루기 위한 운영 지식입니다.
문서가 없으면 코드는 느리게 읽힙니다
소스 코드는 가장 정확한 정보입니다. 실제로 실행되는 것은 문서가 아니라 코드이기 때문입니다.
그런데 소스 코드만으로는 처음 보는 사람이 빠르게 판단하기 어렵습니다. 비즈니스는 어떻게 흐르고 있고, 데이터는 어떻게 쌓여가고 있으며, 어떤 설정이 운영에 영향을 주는지, 어떤 API가 외부 진입점인지, 어떤 계약 파일을 수정해야 하는지, 어떤 모듈이 어떤 역할을 맡는지는 코드 곳곳에 흩어져 있습니다.
숙련된 개발자는 결국 찾아냅니다. 하지만 매번 찾아내야 한다면 그 시간은 모두 비용입니다.
문서화의 첫 번째 목적은 이 비용을 줄이는 것입니다.