2005년 10월 29일에 네이버 블로그에 적은 글입니다.



< 게임프로그래머 최흥배의 문서 작업 방식 >


여러 프로그래머들과 만나서 문서화에 대해서 이야기를 나누어 보고 싶었지만 그럴 기회가 되지 못해 이렇게 블로그를 통해 저의 생각을 알리려고 합니다. 혹시 글을 보시고 토론을 원하는 시는 분은 언제라도 연락주세요^^

문서화는 꼭 필요한가 ?

프로그래밍의 문서화라는 것은 프로그래머 분들은 거의 다들 아실 겁니다. 개발 프로세스 관련 책을 보면 아직도 빠지지 않는 부분이 문서화 부분이라고 생각합니다. 그런데 한국의 게임 개발 회사(타 분야나 외국에 대해서는 자세히는 모르겠네요)에서는 문서화 작업을 하는 곳이 별로 없는 것으로 압니다. 이유는 여러 가지 있지만 제가 생각하기에는 부족한 개발 시간, 문서화의 필요성을 못 느낌, 문서화에 자신 없음 등으로 하지 않고 있지 않나 생각합니다.

문서화라는 꼭 필요한 것은 아닐 수 있으면 문서화 안 한다고 해서 게임이 안 만들어지는 것도 아니고 이게 진짜 필요한가에 대한 의문도 가지기 쉽다고 생각합니다. 그리고 이때까지 안 해도 잘 개발 되었는데 재미 있지 않은 일을 하는데 쓸데 없이 시간을 소비 한다고 생각되어 아깝게 생각 하시지 않나 생각합니다(또 하나 현재 팀장 되시는 분들이 문서화 작업을 해보지 않았기 때문에 막상 팀장이 되었을 때 문서화 작업을 하려니 어떻게 해야 될지 몰라서 팀원들에게 하자고 하기 힘들고, 아니면 문서화 필요성을 느끼지 않기 때문에 영향력 있는 팀장님들이 문서화 작업을 개발에 포함 시키지 않지 않나 생각합니다).

 

제 개인적으로는 문서화에 대한 기준은 개발의 성향이나 환경에 꽤 영향을 받는 다고 생각합니다. 그래서 문서화를 안 한다고 해서 비난 할 수도 없고, 문서화를 한다고 쓸데 없는 짓 한다고 비난 할 수도 없다고 생각합니다.

잠시 저에 대해서 이야기 하면 제가 문서화에 집착하는 이유는 대충 다음과 같습니다. 일단 전 컴퓨터 공학과 출신이다 보니 개발 할 때 가능한 개발 프로세스가 정돈된 상태에서 하기를 원하고 기억력이 좋지 않다 보니 제가 만든 거라고 장시간 지나면 헷갈릴 때가 있더군요.

그리고 제가 이때까지 맡은 일이 남이 만들어 놓은 것을 물려 받아 다시 개발 할 때가 있다보니 남의 소스를 보고 분석을 하고 활용을 하는데 제가 만든 것이 아니라서 때에 따라서 분석에 어려움을 겪고 사용을 쉽게 하지 못하니 그런 것에 시간을 소비 해야 되는 것이 너무 아깝고, 또 내가 만든 것을 남이 볼 때 나와 같은 골치 아픈 짓을 할 것이라 생각하니 쓸데 없는 시간을 낭비한다고 생각되더군요. 그리고 문서화 등을 안 하면 회사에서 만든 소스들은 개발자가 떠나 버리면 무 의미 하게 될 때가 있는데(즉 분석을 제대로 못하면), 회사의 입장에서 볼 때는 개발을 많이 할수록 회사의 기술이 쌓여야 되는데 문서화를 하지 않으면 그것을 만든 사람이 떠나버리면 회사에는 제대로 남지 않아 회사에 기술력이 제대로 쌓이지 못한다고 생각됩니다.

이런 생각에 의해 전 문서화에 대해서 예전부터 생각을 해왔고 나름대로 어떻게 하면 잘 할까에 대해서 고민도 해왔습니다.

그렇지만 신규 개발만 전문적으로 해오신 분들은 문서화의 중요성에 큰 의미를 두지 않는게 자신이 개발한 것이니 장시간 기간이 지나도 약간 헷갈리지는 정도지 소스를 보면서 조금 노력하면 바로 이해가 되니 궂이 문서화의 필요성도 못느끼고, 막상 할려니 어떻게 해야 될지도 막막하고, 또 어떤 경우는 개발자를 뭐 같이 보는 경영자나들이 개발자를 무 자르듯이 잘라 버릴 때 방어 하기 위한 방어의 수단으로도 사용하기도 하고, 개발을 할 시간도 부족하기 때문에 문서화는 엄두도 못내고 있지 않나 생각합니다.

 

문서화 할 때에 문제는 없었나 ?

저는 현재 경력이 4년 차가 되어 가는데 문서화를 제가 자발적으로 하려고 한건 얼마 되지 않았습니다. 제일 처음 한 것이 2003년 말에 이직을 하여 새로운 회사에서 이미 서비스 중인 게임을 제가 물려 받게 되어 소스 분석을 할 때 그냥 하려니 잠만 와서 뭔가 하면서 하면 좋지 않을까 하게 생각이 되어 문서화 작업을 하기 시작하다가 2004년 중순쯤에 일본 마작을 만들면서 처음으로 UML을 실 제작에 도입해보았습니다. 그러다 이번 6월에 다니던 회사를 그만 두면서 문서화 작업을 하면서 나름대로 문서화 방식에 대해서 생각을 가지게 되었습니다. 다른 개발자 분들처럼 저도 그 때까지는 개발 시간에 문서화 시간은 포함 시켜 보지도 못했고 문서는 개발이 완전이 완료가 된 이후에 해야 된다고 생각했습니다. 그래서 6월에 이직 할 때 시간이 넉넉하게 남아서 문서화 작업을 하려고 했는데 꽤 골치 아픈 문제에 직면 했습니다. 문서화 작업이 너무 너무 재미가 없었어 도저히 집중이 되지 않았습니다.  코딩을 하는 것에 비해 보람감도 별로 들지 않고, 하면서도 이게 제대로 하는 건지 자꾸 의문스럽더군요. 그리고 어떤 소스의 경우는 그것을 코딩 할 때의 심정이나 상황이 잘 떠오르지 않으니 좋은 글이 생각이 나지 않더군요. 그러다 보니 결국은 시간이 있음에도 불구하고 제가 생각한 것의 반도 완성을 못 시킨 상태에서 퇴직을 하게 되었습니다.

이렇게 되면서 저 자신에 대해서 다시 생각하게 되었습니다. 저 자신이나 제가 있는 곳의 상황에 맞게 문서화 작업을 하지 않으면 아무리 생각이 있어도 못하고 시간이 있어도 제대로 못한다는 것을 느꼈습니다(의지의 문제겠죠-_-;;).
그래서 최대한 현실적으로 문서화 작업을 하자고 생각했습니다.


신고
by 흥배 2008.03.20 23:16

티스토리 툴바