민첩한 접근 방식을 고려하십시오. 내 말은, 당신이 그들의 이론적 근거와 함께 모든 디자인 결정을 적을 시간 자원과 우수한 작문 기술이 있다면, 모든 것을 문서화하십시오. 사실, 나는 당신이 그런 입장에 있지 않다고 가정합니다. 민첩한 접근 방식은 이론적 근거를 문서화하는 데있어 주요 과제를 해결하는 데 도움이 될 수 있습니다. 나중에 어떤 이론적 근거가 중요한 것인지 잘 모릅니다.
전체적인 관점에서 문제에 접근합시다. 너희들은 당신의 결정에 대한 근거를 가지고 있습니다. 그들은 지금 팀의 두뇌 인 스 퀴시웨어에 갇혀 있습니다. 신용 문서의 양이 많음에도 불구하고 sqishyware에 근거를 저장하는 것이 그렇게 나쁘지는 않습니다. 우리는 실제로 중요한 것들을 기억하는 한 종으로서 정말 좋습니다. 그렇기 때문에 모든 주요 기업이 "부족 지식"을 갖고있는 이유는, 그러한 기업이 모든 부족 지식을 문서화하려고 할 때에도 마찬가지입니다.
이제 문제가 있습니다. 당신은 sqiushyware가 이론적 근거를 충분히지지하고 있지 않다는 것을 알게되었습니다. 문제가 있음을 인식하고 해결해야 함을 식별하는 데 도움이됩니다. 항상 쉬운 단계는 아닙니다! 따라서 우리는 해결책이 그 근거 중 일부를 문서로 오프로드하는 것이 확실합니다. 그러나 충분하지 않습니다. 우리는 퍼즐의 후반부를 결코 잊을 수 없습니다.이 결정은 결정을 내릴 때 squishyware에 이론적 근거를 다시로드합니다. 나는 미친 듯이하는 문서 모든 팀을 많이 본 적이 있지만 그들이 근거 잊고 끝낼 수 있도록 콘텐츠는 실제로 도움 메이크업 좋은 의사 결정에 구성되지 않은 그들이 써있는에도 불구을 .
따라서 2 단계 프로세스가 있습니다. squishyware와 문서에 대한 근거를 가져와야합니다. 그런 다음 필요한 경우 합리성을 다시 squishyware로 가져올 수 있도록 문서를 충분히 구성해야합니다! 이제 우리는 문제가 어디에서 일어날지를 깨닫기에 충분한 문제 진술을 가지고 있다고 생각합니다. 문서를 작성할 때 일반적으로 나중에 누가 볼 것인지 또는 무엇을 찾고 있는지 알 수 없습니다. 마찬가지로, 문서를 되돌아 볼 때 일반적으로 찾고있는 것을 알지 못합니다 (최대한 아는 경우).
따라서 대기업은이를 두 개의 큰 블록으로 처리하려고 할 수 있습니다. 먼저 사람들은 문서를 조사 할 때 사람들이 필요로하는 것을 기반으로 요구 사항을 개발할 수 있습니다. 그런 다음 해당 요구 사항을 사용하여 해당 문서를 개발하는 프로세스를 구축합니다. 그리고 내가 감히 말하면, 아무도 문서가 첫날에 어떤 모습 인지 정확히 알지 못하기 때문에 모두가 불평 합니다. 문서는 항상 불완전하며 개발자는 항상 프로세스가 너무 부담 스럽다고 불평합니다.
민첩하게 갈 시간.
저의 조언은 문서화 프로세스를 개선하기위한 민첩한 노력을 시작하는 것입니다 : 퀴질웨어에서 문서, 퀴질웨어까지 9 야드. 프로세스가 완벽하지 않기 때문에 일부 정보를 잃을 것이라는 점을 미리 인식하십시오. 그러나 프로세스를 파악하려고 시도해도 괜찮습니다! 모든 솔루션에 맞는 단일 크기를 만들려고하면 더 많은 것을 놓칠 수 있습니다.
내가 살펴볼 몇 가지 유용한 정보 : * 비공식 문서를 탐색하십시오. 공식적인 문서는 훌륭하지만 시간이 많이 걸립니다. 문서화의 목적 중 하나는 개발자 squishyware에서 정보를 공개하여 종이에 넣는 것입니다. 비공식 문서화는 최소한의 비용을 유지합니다.
- 신뢰할 수없는 문서 형식을 수락하십시오. 처음에는 옳지 않을 것입니다. 데이터를 가져 와서 나중에 신뢰할 수있게 만드는 방법을 알아내는 것이 좋습니다. 예를 들어, 근거를 <rationale> </ rationale> 블록 또는 이와 유사한 형식으로 문서화하면 나중에 해당 데이터를 쉽게 수집 할 수 있습니다. 사용자 스토리에 근거를 저장하는 것은 현재로서는 괜찮습니다!
- 조직의 가치를 잊지 마십시오. 팀원으로서 문서에서 이론적 근거를 검색하는 방법을 알아보고 문서화를 시도하십시오. 각 팀마다 다른 프로세스가 있습니다. 우리 팀 중 하나에서, 우리는 근거가있는 티켓을 즉시 찾을 수 없었습니다. 우리가 할 수있는 일은 중요한 코드 줄
svn blame
을 찾아서 변경 시점과 이유 를 확인한 다음 티켓을 살펴보십시오. 일단 우리가 거기에 왔을 때, 우리는 일반적으로 우리가 필요한 모든 이론적 근거를 티켓에 올렸습니다. 그것은 우리를 위해 일했습니다, 당신에게 어떤 것이 효과가 있는지 알아보십시오.
- 유기적 문서는 시간이 지남에 따라 커질 수 있습니다. 개발자가 작성하는 데 가장 중요한 근거가 무엇인지 아는 것은 드문 일입니다. 우리는 보통 어느 것이 나중에 중요했는지 알아냅니다. 개발자가 자신의 작은 근거 정원을 관리 할 수 있도록 문서화에 대한 정리 프로세스를 가지고 있다면 중요한 것들이 표면에 올 것입니다. 더 중요한 것은 근거가 바뀔 수 있다는 점입니다. 두 가지 다른 이론적 근거가있는 두 가지 다른 변경 사항이 두 가지 모두에 적합한 단일 이론적 근거에 의해 가장 잘 설명되었다는 것을 알고있을 것입니다. 이제 당신과 결정 사이에 내용이 적습니다!