누가 문서를 읽을 것인가? 설명서는 무엇을 위해 사용됩니까? 이것들은 대답해야 할 가장 중요한 질문입니다. 예를 들어, 유지 보수 개발자를위한 문서는 구조에 중점을 두는 반면, 제품과 통합 된 개발자를위한 문서는 웹 서비스 및 데이터베이스 구조에 중점을 둡니다.
일반적으로 필요한만큼 많은 문서를 작성하십시오. 많은 조직에서는 누군가가 모범 사례를 주장하기 때문에 문서를 요구하지만 문서는 먼지를 모으게됩니다.
사람들이 실제로 문서를 사용한다고 가정 할 때 코드와 데이터베이스를 가장 작은 수준으로 캡처하지 마십시오. 개발자는 축소 코드를 살펴 봅니다. 대신 코드에서 명확하지 않은 세부 사항에 초점을 맞추십시오 ( 예 :
- 제품 이 사용 하는 사용 사례 . 제품의 수명을 고려하면 어려울 수 있지만 제품의 용도를 파악하는 것은 비 기술적 인 독자와 테스터에게 중요한 맥락을 제공합니다. 시장의 경쟁자는 누구입니까 (있는 경우)? 제품 범위에서 제외 된 것이 있습니까?
- 명확한 비 기능적 요구 사항 . 예를 들어, 제품이 특정 볼륨을 처리하도록 작성 되었습니까? 데이터는 몇 살입니까? 캐싱은 어디에 사용됩니까? 사용자는 어떻게 인증됩니까? 액세스 제어는 어떻게 작동합니까?
- 컨텍스트도 모니터링 등, 다른 데이터베이스와 같은 시스템, 인증 소스, 백업과의 상호 작용을 도시.
- (알려진 경우) 위험 및 의사 결정 기록부 와 함께 위험 이 완화 된 방법 . 이것은 회상하기가 어려울 수 있지만 디자인에 영향을 미치는 중요한 결정이 종종 있습니다. 당신이 알고있는 것을 포착하십시오.
- 일반적인 디자인 패턴 또는 디자인 지침 . 예를 들어, 데이터베이스에 액세스하는 표준 방법이 있습니까? 코딩 또는 명명 표준이 있습니까?
- 일반적으로 플로우 차트 또는 UML 활동 또는 시퀀스 다이어그램을 사용하는 중요 코드 경로 프로젝트에는 아무 것도 없을 수 있지만 이들은 일반적으로 비즈니스 사용자가 표현한 것입니다.
이 정보를 모두 사용할 수없는 경우에도 지금 시작하십시오 . 당신을 따르는 개발자들은 당신에게 감사 할 것입니다.
기술 수준이 낮은 사람은 액세스하기 어렵지만 우수한 자동화 단위 테스트 또는 테스트 사례 도 유용한 문서가 될 수 있습니다.
또한 문서를 포함 하기 위해 문화를 바꿔야 할 것 같습니다 . 소규모로 시작하는 것이 가장 이상적이지만 최소한의 문서 수준이 될 때까지 프로젝트를 "완료"해서는 안됩니다. 위의 내용을 제어 할 수 있으므로 가장 어려운 단계 일 것입니다. 이것은 다른 사람들이 사야 할 것입니다. 그러나 특히 다음 프로젝트에 좋은 문서가 제공되는 경우 가장 보람이있을 수 있습니다.