2009년 5월 6일 수요일

개발자 여러분~ 문서 만들기 싫죠?

흔히들 소프트웨어를 개발하는데 문서를 만드느라고 시간이 더 오래 걸린다고 생각합니다. 문서가 필요한 것은 알고 있는데, 만들기는 싫다고들 합니다. 이러한 생각을 깨기 전에는 문서의 필요성에 대해서 이해하기가 어렵습니다. 

소프트웨어를 개발하는데 문서를 만들어서 더 오래 걸렸다면 잘못된 것입니다.

필요도 없는 문서를 잔뜩 만들고 있거나, 문서를 작성하는 실력이 없어서 낑낑대고 시간만 잡아먹는 경우 일겁니다. 두번째 경우야 그러면서 실력이 늘 수도 있지만, 필요 없는 문서를 잔뜩 만들고 있다면 정말 헛고생하고 있는 겁니다.

문서를 만드는 이유는 소프트웨어를 더 빨리 만들기 위해서 입니다.

거꾸로 문서도 안 만들고 어떻게 더 빨리 만들 수 있냐고 반문하고 싶습니다.
모든 내용을 머리 속으로 모두 기억하고 있다?
2명 이상이 개발을 할 경우 모든 정보는 대화로 공유하나?
모든 것을 혼자서 결정할 수 있나? 리뷰는 안 하나?
이런 궁금증이 생깁니다.

결론은 혼자 모든 것을 마음대로 결정해도 좋고 
협업 없이 혼자서 개발을 하고
천재일 경우는 가능하네요.

이런 경우가 아니라면 크든 작든 문서가 필요할 것입니다.

간단한 문서만 있어도 되는데 장황하게 많은 문서를 만든다면 오히려 이것이 잘못된 것일 겁니다.

충실하고 자세한 문서가 필요한데 문서가 없거나 너무 간단하다면 개발이 더 오래 걸릴 겁니다. 

이 판단이 프로젝트마다 다르다는 겁니다.

그래서 모든 프로젝트에서 기계적으로 모든 문서를 만들어내라고 하면 비효율적이 아닐 수 없습니다. 그리고 이를 프로젝트 기간이나 투입인원에 따라서 또 기계적으로 정할 수 없는 노릇입니다. 결국 경험 있는 프로젝트 팀에서 결정할 일입니다.

프로젝트에 꼭 필요한 문서를 최소한으로 만들고 유지하는 것이 올바른 방법입니다.

댓글 12개:

  1. 항상 실천하는 건 아니지만 제 경우에는 오늘이 회사 다니는 마지막 날이고 내일부터는 다른 사람이 이 문서로 업무를 수행해야 한다라는 생각으로 문서작성을 하려고 노력하고 있습니다.

    물론 일정에 쫒기면서 작성한 문서일수록 대충 작성하는 경향이 강해지긴 합니다만... -_-;;

    답글삭제
  2. 우울한 딱따구리님 안녕하세요.
    문서에 대한 생각이 바뀌는 것은 쉬운일이 아닙니다. 이게 문서만의 이슈가 아니고 소프트웨어 개발 전반 모든 것이 바뀌어야 문서의 역할이 달라지니까요.

    회사를 옮기시는 건가요?

    답글삭제
  3. 아.. 아뇨 ^_^;;
    늘 인수인계 한다는 마음으로 꼼꼼히 문서를 작성하려고 노력은 하는데 잘 안된다 뭐 이런 이야기죠 ㅎㅎ

    답글삭제
  4. 누가 인도해주지 않는 이상, 이래 저래 삽질할 수 밖에 없어요...
    여전히 삽질(지금은 쓸데 있어보이는 문서 만드는)중...

    답글삭제
  5. 맞습니다. 최소한의 꼭 필요한 문서만 만들어야겠죠. 하지만 그 최소한의 꼭 필요한 문서가 무엇인지 잘 모르는 조직이 대부분입니다. 그게 문제죠....

    답글삭제
  6. 문서화의 중요성은 굳이 제삼제사 설명하지 않아도 누구나 다 아는 것이겠지요. 문제는 '정치적'이라는 것이지요. 발전하는 조직에서는 코드나 문서에 대해 관리자나 경험자가 리뷰하고 잘못된 부분이나 이해가 어려운 부분을 수정하도록 권고합니다. 그러나 그렇지 않은 조직에서는 (개발자의 실수든 뭐든) 잘못된 부분을 '꼬투리'잡고 그것을 향후에 '정치적'으로 이용할 카드로 생각하지요.

    답글삭제
  7. 규현님 오랜만에 글남깁니다.^^

    이제 입사 3년차인저는 누구보다 문서화의 중요성에 공감하는바입니다. 제 목표중하나였구요. 대학교시절엔 무작정 테크니컬 라이팅카페를 개설해보기도했습니다. 물론 노력은 전혀.^^;;;

    제가일하는 곳이 외국계 인만큼 문서화는 정말 의무중의 의무라고 할수 있습니다. 심지어 프로젝트 스케줄의 압박도 무시할만큼 중요하게 여기고있죠. 하지만 현재 점점 흐려지고 나약해지는 제 문서화 스킬이 한탄스럽습니다. 외국애들이 만든 문서를 보면 기가 찹니다..심지어 아름답다고 느껴질정도네요. Visio 와World의 조화..환상입니다. 제스스로 물어보면 답이 있겠지만 역시나 큰원인은 테크니컬 Wrtiing기술의 부재네요..더구나 모든 문서가 영어로 작성해야되다보니 개발보다 더 스트레스를 받는게 사실입니다. Visio같은 유용한 툴조차도 제대로 이용못하니까요..
    그래서 규현님의 Writing스킬 노하우를 알고싶네요..

    잔뜩 두서없이 써놓고 한번 날려먹고 또 두서없이 써봤습니다.

    감사합니다.^^

    답글삭제
  8. 아 그렇군요. 오해했습니다.

    답글삭제
  9. maddog님 안녕하세요.
    학교에서 배울 수 있는 것도 아니고, 필드에서 선배나 스승에게 배워야 하는데, 기회가 많지는 않죠.

    답글삭제
  10. C-Thinker님 안녕하세요.
    맞습니다. 그래서 안전빵으로 모든 문서 다 만들라고 하는 경우가 많죠.

    답글삭제
  11. 그중 심각한 환경이네요. - -;

    답글삭제
  12. bluepoet님 안녕하세요.
    문서의 내용도 중요하지만, 문서를 작성하는 방법, 리뷰하는 방법등 그 과정도 중요하죠. 그런 과정은 배우지 못하고 결과만 보면 정말 배우기 어렵죠.

    답글삭제