배워서 남 주기
잘 안되는 프로젝트에 공통적으로 생기는 현상이 있다. 그 중 하나가 사람이 자주 바뀐다는 것이다. 대개 그런 프로젝트일수록 인수인계도 제대로 되지 않아서, 사람이 바뀔 때마다 몸으로 부딪혀 배운 지식에 손실이 생긴다. 최근에 문서화와 지식 공유에 관심을 가지게 된 이유다.
나부랭이인 나는 행여 엉덩이에 땀이나 찰까, 조금만 좀이 쑤시면 사무실 여기저기를 기웃거리고 다니는 것이 취미이다. 오늘은 선배 대리가 희안한 메모관리 툴을 사용하길래 물어봤더니, 출장간 곳에서 누가 사용하고 있길래 좋은 것 같아서 써보는 것이란다. 돌아다니다 보면 사람들이 짜는 코드만 다른 것이 아니라, 업무방식이 천차만별이다. 아무리 공통으로 사용할 툴을 정해도 저마다의 방식으로 귀찮음을 줄이기 위해생산성을 높이기 위해 노력하고 있는 모습이 보인다.
대개 기본툴만 사용하는 사람은 업무방식도 수동적이다. 콜라비나 트렐로, 하다못해 엑셀으로라도 자기 일정을 관리하는 사람은 비교적 능동적이다. 그런 사람들의 크롬 브라우저에는 자주 쓰는 익스텐션도 몇 개씩 설치되어 있다. 어딘가에든 장애 처리사항을 기록한다. 혹은 기억한다. 원리를 알면 10분만에 하는 것도 맨몸으로 부딪히면 엉뚱한 곳만 종일 파고있을 수도 있다. 그 경험들이 노하우다.
그러나 그 지식을 나눌 수 있는 판이 없다. 누가 무엇을 알고 있는지, 누구에게 물어보아야 할지도 모른다.
회사에서 살아남으려면 '나만의 노하우'가 있어야 한다고들 한다. 그러나 팀에 노하우를 자기만 가지고 있는 사람이 필요할까? 그런 사람은 혼자서도 살아남을 수 있는 호랑이다. 애초에 혼자살기에 최적화되어서 무리생활에 어울리지 않는다. 팀은 사자다. 내 노하우를 공유해야 불필요한 시간과 힘 낭비를 줄일 수 있다. 즉, 우리의 염원 통일칼퇴가 현실이 될 수 있다.
언뜻 대체 불가능한 인력이 되는 것은 조직과의 협상에서 칼자루를 손에 쥐게 되는 것 같지만, 길게 보면 '유지보수하기 어렵게 코딩하는 방법'처럼 모두에게 손해다.
개발자 일을 시작한지 3년이 조금 못 되는데, 문서화가 잘 된 프로젝트를 겪어본 적이 없다. 문서라고 하면 감리를 앞두고 부랴부랴 땜빵 식으로 양식에 맞추어 찍어내는 날림문서들이 전부다. 인수인계라는 것을 받아본 적도 없고, 업무도 물어볼 사람이 없어서 코드를 보며 유추하는 것이 전부다. 지금 참여 중인 프로젝트는 그 결정판이다. 작년에 어떻게 완료 도장을 받아냈는지 궁금할 정도로, 아무런 문서도 없었다.
우리회사는 공식적으로 개발자를 왠만하면 뽑지 않겠다고 뻔뻔당당하게 선언까지 하고서는 프리랜서 위주로 프로젝트를 꾸려나가고 있다. 작년에 개발했던 인원은 모두 퇴사했고, PM과 PL 정도가 남았을 뿐이다. 그렇다보니 개발이력을 아는 사람이 거의 없고 사람을 뽑아도 자꾸 나간다. 며칠 전에는 들어온지 한달 된 프리랜서 분이 나에게 참고할만한 문서가 있으면 좀 달라고 했는데, 아무것도 없어서 못줬다. 정말 민망하고 창피한 순간이었다. 상황이 이렇다 보니 요즘들어 문서화에 대해서 고민하게 되었다.
대부분의 개발자들이 문서화라고 하면 일단 부담스러워한다. 안그래도 넘치는 일정에 '시간 있을 때마다 틈틈히 작성하라'는 말도 안되는 지시가 덧붙기 때문이다. 시간 있을 때 작성하자면, 영원히 텅 빈 문서로 남을 것이다. 나도 마찬가지다.
누구나 작성 수정 조회 검색이 가능해야 한다는 조건을 놓고 보니, 내 지식 안에서 마땅한 해결책은 위키 뿐이었다. 게시판은 수정권한 등이 목적과 어울리지 않는다는 생각이 들어서 젖혀두었다. 사내위키라는 키워드로 검색해보니 숱하게 많은 자료가 나왔다. 10년도 넘은 어떤 포스트에는 사내위키 도입 효과와 고민이 담겨 있었다. 새로운 트렌드도 아니고 오래 전에도 많이 쓰던 것인데 왜 나는 한 번도 경험해보지 못한 걸까. 이런 고민은 차치하고, 실행 가능한 것부터 찾아보기로 했다. 우선 몇 가지 기준을 정리해보았다.
1. 무료
- 아무리 적은 돈이라도 들이면 통제하려고 들 것이고, 가볍게 핵심만 적겠다는 의도에서 멀어질 것 같다.
2. 설치형일 것
- 로컬로 혼자서만 쓸 것은 아니지만 공공사업의 특성상 군소리 나올 여지가 없는 것이 좋다.
3. DBMS
- 개발서버가 안그래도 허덕이는데 MySQL 등을 추가적으로 설치하기 애매하므로, 오라클을 그대로 사용할 수 있거나 단순 파일기반 위키이면 좋다.
4. 한글 정보가 많을 것
- 영어에 약하므로 한글 정보가 많을수록 좋다.
이 조건을 기준으로 우리 프로젝트에서 사용해볼만한 위키를 찾아볼 생각이다.