표류하던 팀이 새 본부로 자리잡으면서 갑자기 본 괘도에 올라갔고 다른 프로젝트 준비하느라고 이것저것 정신없다가 동원예비군 훈련갔다왔더니 3주만에 사이트 제작이 결정났다. 그 당시만해도 크게 긴장타지는 않았다. 간만에 좀 빡세게 해보지 하는 생각? (지금 생각하면 큰 오산....)
그러다가 서버 스펙이 결정되는 데 일주일이 넘게 걸리고 asp일지 jsp일지도 결정이 나지 않아 디비모델링 말고는 할 수 있는게 없어서 마땅히 빡시게 달릴수도 없이 그렇게 일주일이 보내고 2주 남았던 상황... 그때부터 솔직히 긴장탔다. 대충 우리가 개발해야하는 것들의 윤곽이 보이면서 이걸 이주일만에? 라는 생각... 빡시게고 뭐고 떠나서 이게 가능하긴 한가? 하는 생각이 들었지만 여러가지 상황으로 이건 불가능한 일정입니다라고 말할 상황은 아니었다.
그러다가 우연찮게 지나가던 말로 나왔던 것이 진짜로 되어서 일주일의 기간연장이 되었지만 여전히 빡센일정이었다...
21일째 하루도 안쉬고 출근하고 있는 상황이지만 죽을만큼 열심히 했냐? 하면 그건또 아니다. 돌아보면 밤을 샐수 있는 타이밍도 꽤 있었지만... 핑계를 대자면 머 끝도 없다. 시작부터 무리한 일정이었고 그 가운데 서버스펙 결정하고 서버고르고 셋팅하는데 너무 많은 시간이 소비되었고 완료시점이 일주일 앞까지 다가온 상황에서도 정책적으로 결정이 안된 것들 때문에 몇시간씩 회의를 해야할 때도 있었다. 개발하는 가운데 단순한 게시판달린(물론 웹사이트의 80%정도는 게시판이라고 생각하지만..) 이상의 사이트로 발전해버렸다.(머 이건 내 공도 꽤 크지만.. ㅠ..ㅠ) 기껏 개발서버 죽어라 셋팅해서 해놨더니만 완료 3일앞둔 시점에서 웹서버랑 WAS가 바뀌어서 새로 셋팅해야 하는 상황등...
말했듯이 핑계를 대자면 끝도 없다..... 하지만 기분이 상당히 안좋다. 결국 오늘 아침까지 마쳤어야 했는데 몇시간적 아직 해야할 리스트를 뽑고 무리라는 판단이 내려졌다. 그중에 일부를 추려서 다시 일주일내에 하기로 했다. 물론 그 뒹에 백단에서 작업을 그 다음주에 더 해야 하고....
이러쿵 저러쿵해도 내가(우리가) 프로젝트 일정을 펑크냈다. 여태까지 한번도 하지 않았던..... 내가 어쩌지 못하고 손에 들고 있다가 터져버렸다. 내 능력을 깨닫지 못하고 너무 의욕만 앞섰던 것일까...
일단 일정 산정에 완전히 실패했다. 이건 경험부족.... 새팀에서 새 본부에서 하는 첫 프로젝트였고 나름 자신감도 붙었기 때문에 "빡시게 한번 해보지"하는 마음이었는데 의욕으로 해결할 수 없는 것이었고 시작당시에 잠재하고 있는 수많은 위험요소들을 전혀 깨닫지 못했다. 한번도 안해본 일들... 서버결정, WAS셋팅, 웹서비스 사용, 스토어드 프로시저 사용.... 새로 경험하는 것들이 무지 많았음에도 그걸 위험요소로 일정에 포함시키지 않았다. 물론 다시 그 시점으로 돌아가도 일정을 조정할 수 있는 상황은 아니었지만...
우리가 원한 일이지만 신입 개발자 둘만이서 개발을 이끌어 나간다는 건 생각보다 쉽지 않았다. 전에는 아무것도 아닌 일들이 이제는 개발적인 내용을 개발적이지 않은 말로 설명을 해야 했다. 지금 어떤 상황인지.. 어떤 문제가 있는지.. 이게 얼마나 걸릴일인지.... 다시한번 말했듯이 내가 원한 길이었고 지금의 팀장님한테 불만을 가지는 건 전혀 아니지만(오히려 너무 책임감 있으셔서 부담이..) 그거랑은 별개로 신입둘이서 프로젝트 개발 전체를 드라이브한다는 것은 결코 쉬운일이 아니었다. (팀장은 괜히 연봉이 많은게 아니다. 의사결정할거 왜 이렇게 많어.. ㅡ..ㅡ)
너무 많은 걸 생각했다. 그게 맞다고 생각은 하지만 이렇게 되고 보니 어떻게 되든 간에 그냥 기능구현에만 초점을 맞췄어야 했나? 다음 프로젝트에도 쓰게... 다음의 기초가 되게... 하나를 가지고 재사용할 수 있게... 어느게 더 효율적인가를 고민하느라고 많은 시간이 소비되어 버렸다...
머라해도 빵꾸는 빵구...... 내가 일정을 펑크낸게 싫고.. 지금도 중간중간 밤을 몇번정도는 샐수 있었는데... 더 집중해서 할수 있었는데 하는 후회도 남고.... 왠지 신입 둘밖에 없으니까 역시 안되네 하는 인상을 받는 것이 싫고... 완성 해줄꺼라고 생각하셨던 팀장님한테 실망을 드린것도 싫고 그 책임을 팀장님이 혼자 져야 된다는 것도 싫다......
기운내서 다시 달려서 이번에는 확실히 완료 지어야 되는데... 영 다운되어버렸다.... 집에 들어가서 좀 자고 다시 달려야지... 조낸 달리고 싹 털어버렸어야 됐는데 이렇게 계속 늘어져서 영 찜찜하구만.......
ps. 그건 그거고... 담주말은 떼려 죽여도 집에서 쉬어야지...
흐, 뭐, 상당한 연차가 있는 개발자들중에도 일정 펑크가 나는 경우가 꽤 있습니다. T.T 흑흑흑
하지만, 좀 더 체계있게 하기 위해서 해야할 것들이
1. 신기술(최근에 나온게 아니라, 자신이 한번도 접해본적이 없는 기술) 에 대해서는
검증과정을 거친다. 최소한 테스트 프로젝트라도 돌려서, 핵심 적인 부분에 대해서는
Prototyping 을 해 봐야 합니다. 그리고 그 테스트 프로젝트가 성공적일 때, 현 프로젝트
에 도입하는 것이 중요합니다. 결국 이 부분이 Risk Management 가 되는건데,
단순히 이러면 된다 라고 발견한 것과, 자신이 직접 테스트 프로젝트를 돌려본 것은
천지 차입니다.
2. 소스 컨트롤 시스템을 도입하십시오. SVN 이나 CVS 등을 꼭 도입하셔야 합니다. 회사에서
서버를 사주지 않으면 개발 머신에라도 돌려서 사용하십시오.
3. 업무에 대해서 내용을 정리하고 이것을 항상 메일이나 위키등에 저장을 해두십시오.
4. 너무 많은 걸 한번에 할려고 하지 마시길 바랍니다. 가장 중요한 셋을 만들어 두고
그것을 먼저하고, 그 셋에 조금씩 기능을 더 추가하시길 바랍니다. 님을 보면,
시간이 많이 지나면 멋진 개발자가 되실꺼 같다라는 느낌이 드네요. 힘내세요.
좋은 말씀 정말 감사합니다. 반드시 새겨야 될 것들이군요.
안해본것에 대한 프로토타이핑은 이번 일로 정말 마음에 와닿는군요. 일정조정을 할 수 없는 상황이긴 했지만 위험요소를 위험요소로 생각지 않았다는 것이 정말.. ㅜ..ㅜ
SVN은 쓰고 있습니다. 아직 SVN의 다양한 사용법에는 익숙치 않지만요. 툴에 대한 관심사는 큰 편이라숑....
업무 정리는 맘에 두고는 있는데 적용이 쉽지 않더군요. 개인적으로는 TRAC을 적용해 보고 싶은데 관리툴에 대한 적응으로 인한 개발이 영향받는 것은 아닌것 같아서 아직까지 도입못하고 있었는데 이번 프로젝트를 하면서 업무 정리도 업무정리지만 이슈나 버그트래킹이 필요하다는 걸 느끼고 있습니다. 개인적으로 to do프로그램으로 관리를 하고 있기는 한데 아주 만족스러운 정도까진 아니더군요. 위키를 하나 끌어써볼까도 고민중입니다.
4번은 절 아시는 분 마냥 핵심을 찌르셨군요. 한꺼번에 다 먹을라다가 체하는 스타일이라... 하나씩 도입을 하려고 노력하고 있죠. ^^
아, 하나 빼먹었는데
5. 야근으로 일을 커버할 일정을 만들지 마세요.
중간중간 어떤 일이 벌어질지 모릅니다. 야근은 그럴때 하라는 거지, 처음부터 야근까지
고려한 일정을 잡으면 보통은 프로젝트가 망가집니다. 고운하루되세요.
이건 정말 쉽지 않더군요. 핑계이기도 하겠지만 IT업계에서 잘 먹히지 않는것 같습니다. 나름대로 "발등에 불떨어진거 아니면 7시후엔 공부한다"를 원칙으로 세우고 일했는데... 발등에 불이 자주 떨어지더라고요.... ^^
이번 프로젝트는 좀 특수한 상황이라 어쩔수 없기는 한데 위에서 떨어진 완료일정 보면... 한숨나오더라구요.... 차차 조율해 가는 법을 배워야지요.. 아직은 제가 이일을 하는데 몇시간을 걸릴지를 판단하기가 어려운 수준인지라.. ^^
좋은 말씀 정말 감사합니다. ㅎ