효과적인 소프트웨어 설계 문서 작성법

Key Point
설계 문서를 언제, 어떻게, 어느 정도 수준으로 작성할지의 판단 기준을 제시하여, 프로젝트 규모에 맞는 효율적인 협업 방식을 찾을 수 있습니다.
핵심 요약
- 설계 문서는 개발 시간을 크게 줄이고 팀 간 설계 결정을 조율하는 가장 효과적인 방법입니다.
- 프로젝트가 복잡하거나 위험하며, 여러 사람이 참여하거나 3개월 이상 소요되거나 프로덕션에서 장시간 운영된다면 설계 문서 작성이 필수입니다.
- 설계 문서에는 목표, 배경, 시나리오, 다이어그램, 제약사항, 보안, 의존성, 타임라인 등 필요한 섹션만 포함해야 하며, 모든 세부사항을 기술하면 설계 문서의 의도가 훼손됩니다.
- 설계 결정이 설계 문서에 포함될 가치가 있는지 판단하는 기준은 '그 결정이 틀렸을 때의 비용'입니다.
- 언어 선택처럼 변경 비용이 높은 결정은 설계 문서에서 신중히 다루되, UI 배치처럼 쉽게 수정할 수 있는 사항은 포함할 필요가 없습니다.
- 문서의 투자 규모는 팀의 목표, 위험도, 일정, 문화에 따라 다르며 때로는 작성하지 않는 것도 옳은 선택입니다.