퇴근5분전

- 12월 초 ~ 2월 말 까지  프로젝트를 직접 진행하며 개발까지의 과정을 담아본다.

 운영에 올릴 준비를 해야 했다. 이 문제는 프로젝트 시작하면서부터 생각했던 내용으로써 소스에 대해 수정부터 일이었다. 기존 소스에 직접 타이핑을 할 수 없기에 이를 복사하고 가상디렉토리를 잡아놓고 개발소스와 별도로
작업을 하였지만, 이것을 다시 개발 소스로 옮겨놓고 테스트를 해야 하는데 무작정 파일을 덮어쓸수도 없다. 
 개발 하는중에 유지보수 된 소스가 어떤 부분인지 모르기에 직접 하나하나 옮겨야 했다.

 다음과 같은 처리를 하였다. 내가 작업하는 소스단에는 작업하는 내내 동일한 이름으로 주석을 달아 두었다.
개발에 옮길 때는 이 동일한 이름으로 전체 검색을 해서 리스트가 나오는 대로 개발소스로 옮겼다. 

 1월 31일 모두 옮기고 2월 1일 테스트를 마쳤다. ( 그럭저럭... 개발에서는 오류가 안나는듯 하였다. )
그러나 2월 1일 오후 KCC내부 회의를 통해 오픈이 연기가 되었는데 21일!! 이런... ㅡ.,ㅡ;; 2월2일 부터 6일까지는 설 연휴로써 ... 그 이후 유지보수를 통해 업로드 되는 소스가 ... 운영에 섞여 들어가면 안되므로... 연휴중에 몽땅 다시 원복시켰다.

 그리고 연휴가 끝나고 KCC에서 잠깐 테스트 및 버그를 수정하다가 본사에 복귀했다. 2월 18일부터 일주일간 운영에 반영하기 위해 다시 KCC를 찾았다. 운영에 일괄 반영하기 위해 만들어두었던 개발 툴을 정비하고 기존 운영소스를 백업하고 SP도 백업하고.. 운영준비를 마쳤다. 19일 토요일. 악몽이 시작되었다.

 SP를 모두 운영에 반영하고 난 후 web.Config를 수정, 개발툴로 운영에 소스를 일괄 덮어쓰기로 덮었다.
테스트 시나리오대로 테스트를 하는데 개발과 전혀 다른 상황들이 발생하였다. 우선 Agent가 정상동작을 안하는게
가장 큰 문제가 되었다. 이런 저런 것찾아보다 안되서 쉬는 동료들에게 저녁이 다되어 전화를 넣어서 헬프 요청을 했다. ㅠㅠ ... 아... 파일만 덮어주면 될 줄 알았더니.. 
 한밤중에 겨우 Agent가 돌기 시작했다. 어쩔수 없이 택시를타고 집에 와서 잠만 자고 다시 출근... 테스트 시나리오를 이용해서 KCC직원분이 테스트 하고 난 버그 잡는데 몰두하고 있었다. 겨우 겨우 문제점들 잡고 수정해서 운영서버 1개에 대해 반영을 완료했다. 서버가 2개라서 하나더 해야되었고.. 저녁 늦게 겨우 운영에 반영을 마쳤으나
버그를 다 못잡고 일부 눈에 안뛸만한 것들을 남겨두고 퇴근하고 오픈 당일날 나머지 처리를 하며 추가되는 버그나 요구사항들을 작업하며 그렇게 프로젝트를 마치게 되었다.

 지금은 다시 본사에 복귀해서 유지보수 업무를 하면서 kcc 추가작업들을 진행 하며 유지보수와 관련된 인수인계 문서를 만들고 있다. 

프로젝트를 하면서 ...
1. KCC건설 경영지원부 직원분들 엄청 열심히 일한다. 대~박... 난 절대 그렇게 일 못할 것 같음.
   돈을 많이 주나보다 라고 추측하고 있음.
2. 추워 죽는줄 알았다. 특히 월요일... 발에 동상... 여름에 간질 간질 하겠군..
3. 처음 맡아본 PM 겸 개발... 느낀바가 많다.

처음 맡아본 PM...

길고 길게 쓴 감상문?은 원래 이내용을 담기위함인데...

이번 프로젝트는 해볼 수 있는것에 대해 최대한 해본것 같다. 물론 조금은 아니 많이 부족했지만... 본래 2개월 아닌 3개월쯤이었으면... 조금은 아쉬운...? 결국엔 일정이 밀려서 3개월이 되어버린...? 으흐흐???

1. 문서에 대한 거부감?이 조금은 사라졌다. 무분별하게 만들었던 문서들이 여전히 눈에 딱 들어오는 문서는 아니지만 그전에 대충 쓰던 문서보다는 괜찮아진것 같고. 조금더 노력해보면 되겠지..

2. 개발 분석 및 설계에 대해 중요성을 다시 경험하였다. 요구사항을 정리하며 아무것도 모르는 소스를 보며
추가할 부분을 찾고 정의하고 몇번이나 시뮬레이션을 해보아는데, 덕분에 추가할 소스량이 확 줄어서 좋았다.
물론 개인적인 프로그램 만들때도 늘 설계 분석 개발인데... 가끔은 설계부분에서 헤어나오지 못하는 상황이 발생할 때가 있는데, 그땐 역시 직접 타이핑하는게 좋을때가...

3. 2달짜리는 절대로 들어가지 않는다! 다시 프로젝트를 내보내면 심각하게 이직을 고민해봐야되겠네...


앞으로... 올해는 참 할일이 많은데... 어쩐다.
방통대? 영어? 재산불리기? 그리고 일? ... 후~  일단 노력해보는수밖에..

아참 자격증... 이걸 따야 하다니.. 별문제도 없드만... 이딴걸로 돈이 오르락 내리락 하다뉘...
개떡 같은 한국 IT.

End...

- 12월 초 ~ 2월 말 까지  프로젝트를 직접 진행하며 개발까지의 과정을 담아본다

  전자 결재쪽을 본사에서 맡아서 처리하고는 있었지만... 처리가 여의치 않은지 몇가지 대응방법을 들고 부장님이 오셔서 회의도 하시고, 물론 난 계속 보안 관련해서 작업을 진행중이었지만...

 왠지 혼자 파견와서 우리측 프로그램 문제가 터져서 계약이 Power 여도 거의 프로젝트처럼 일하고 있으니...

뷰어가 만들어졌기에 이번엔 관리자 페이지를 만들기 시작하였다. 간단히 예상 테스트 시나리오를 정리 후
ui간단히 그려보고 바로 코딩에 들어갔다. 여기서 또한번 절망이...

 기존 프레임웍의 리스트뷰는 데이타를 가져와서 Xml 형태로 변환하고 미리 폼에 정의된 Xsl로 스타일을 입히게 되어있는데, 아~ 한숨만 나왔다. XML은 알아도 XSL은 ... 책만 봤지 어떻게 쓰여지는지 잘 몰랐기에... 여기서 처음 봤는데 무작정 가져다 쓸 수 도 없는 상황인지라 그냥 리피터로 작업을 하기 시작했으나 또 걸리는구나!
그럼 페이지는 ... 보니 그것도 리스트뷰에 구현이 되어있었다. 그냥 페이지도 만들자!!

 관리자 페이지를 만들면서 객체 트랜젝션 로직을 직접 설계해봤다. 이유는 SQL만으로 되는게 아니고 Exchange 에 Shell명령을 던져주고 나서 Sql 처리를 해야되는데 이게 트랜젝션 처리를 해야되니...


 
 관리자 페이지까지 만들었고 Csv로 다수의 대상자를 등록처리하는 부분까지 처리를 끝내고보니 12월도 끝나가고 있었다. 기존 게시판등 개발에 들어갔어야 했는데... 아... 머리속이 점점 복잡해진다.

 그리고 새해를 맞이 하였다. 2011년 내 나이도 34... 빈털터리... 지금껏 뭐했나 싶은... 그런 기분으로 출근해서 
일을 다시 시작했다. 게시판 관련해서 작업은 예상대로 일찍 끝이 났다. 예상 테스트 시나리오 작성 후 개발을 시작해서 예상대로 크게 복잡한 로직이 없다 보니 의외로 빨리 처리가 끝이났고, 다음단계로 넘어갔다.

 1월이 되어서도 결재쪽 Agent는 계속해서 이슈가 되어 있었고 본사에서도 열심히 ...  밤새가며 ...

 결재쪽 관련 작업을 시작해서 게시판과 같은 처리로 처음엔 그렇게 쉽게 끝나는듯 했으나... ActiveX가 기능이 안되는 것들이 있었다. 기본적으로 작성한 테스트 시나리오대로는 맞지만 kcc직원분이 테스트 해주니 여기저기 구멍이 나타났고 그중 ActiveX가 하나 안되는 것이 발견되었다. ActiveX의 업그레이드를 본사에 요청하고 나머지 작업을 이어나갔으나 워낙 겹겹이 있는 javascript를 따라다니다 보니... 허망하기 그지 없는 또 10줄 코딩에 30분씩 따라가는 상황이 반복되었다. 걸쳐있는 모든 함수에 다 구현할순 없어서 중요한 부분 부분들을 찾고 찾다보니 어쩔수 없이 시간을 흘려보내며 소스 흐름을 쫒아가고 있었다. 

 별보고 출근해서 별보고 퇴근하기를 반복하고 있었다. 이게 왠 때아닌 야근불사인가? 귀찮은데... 잘못 들어왔다. 이런 플젝이면 들어오면 안되는건데... 라고 되세기며... 그래도 PM으로 온건데 끝을 봐야지... 하면서 작업을 서두르고 있었다. 어쩔수 없이 밀린 일정이라도 조금 잡아보려했으나... 조금씩 조금씩 처음 예상대로 안되었다.

 1월 첫째주가 끝나갈 무렵 세째주부터는 현장 테스트를 해야된다를 말이 나왔다. 메일만 있으면 그나마 하겠는데
문서관리가 또 있어서... 본사에 지원요청을 하였다. 문서관리는 뭐 게시판처럼 하면 될것 같았지만 지금까지 해왔던 것처럼 기존 프레임웍을 몰라 헤매다 보면 시간을 얼마나 잡아먹을지 모르기에 요청을 했다. 문서관리라도 도와주면 될것 같았으니까... 본사에서 3일 지원와서 문서관리와 게시판을 처리해주고 복귀 하였다. 그동안 난 메일관련된 개발을 끝내갔다. 

 현장 테스트를 하기전 kcc직원분과 하나 하나 기능 테스트부터 다시 처음부터 해나갔다. 조금씩 나오는 문제점들
바꿨으면 하는 요청들과 함께 일거리가 불어났다. 현장테스트에 이상없이 진행할수 있게는 해줘야지 하며...
체크 리스트를 만들어가며 문제를 하나씩 풀어갔다. 현장 테스트 하기 바로 전날 밤꼴딱 새버렸다.
 새벽 2시쯤 끝낼수 있을것 같아요가... 5시가 되어버렸던것이다. 밤새니 집중이 안되고 ... 뭐 그런 상황이랄까?
kcc직원분은 밤새고 현장으로 출장가셨다.

 현장테스트는 3일간 이뤄졌고 개선되어야 할 사항 버그등을 가져오셔서 또 회의에 들어갔다.
새로들어온 내용들을 무조건 컷트할 수는 없고, 어차피 kcc에 들어오기전 업무에 대한 정의가 없던 것을 만든것이라 요구사항이 바뀔수밖에 없으니 적절히 보안과 관련해서 정책에 맞는지 체크하면서 개선될 내용들을 추려서
또 다시 작업에 들어갔다. 오픈일이 2월 초 였기에 개선된 내용들을 몽땅 처리하려면 시간이 빠듯했다. 
 거기에 2월 초에 설이 끼어 있어서 연휴가 끝나면 바로 오픈일!

오픈을 위해 이런 저런 처리를 마치고 오픈을 위한 테스트를 1월 말 테스트하면서 버그를 수정해간다. ...

To be...

- 12월 초 ~ 2월 말 까지  프로젝트를 직접 진행하며 개발까지의 과정을 담아본다.


11월 말쯤 부장님으로 부터 파견 제의가 들어왔다. 
Two Man Month Power 라는 계약이 되어 있어 2달간 프로젝트가 끝나든 안끝나든 철수하면 된다는 조건이었고
간단히 그룹웨어를 사용하는 일부 사용자들에 대해 보안형태의 제약을 걸어주면 되는 프로젝트였다.

 업무설명은 대략 듣고 들어갔지만, 실제적으로 들어가서 혼자 협의 해가면서 업무정의 및 개발을 하면 되는것이었는데 우려되는 문제가 있었으니 
 1. 기존 그룹웨어와 관련된 내용을 모르고 들어감.
 2. 문서도 없음. 
 3. 혼자 다해야 됨. 
 
 어릴적 축구를 워낙 좋아했고 늘 포지션에서는 온 운동장을 다 뛰어다닐정도로 좋아했지만... 기존 프레임웍에 대한 이해도 없이 플젝을 혼자 해야된다는 부담감이 있는 상황에 계약조건이 Power 라는 계약이므로 해도 그만 안해도 그만... 이라는 얘기만 듣고 갔는데.... 

 들어가서 초기 kcc내에서의 해야 될 내용을 들으면서 이런 저런 업무정의 및 일정을 잡아갔다. 
- 목표
   : 기왕 하는거 잘 하자.
   : 종이보다 문서를 작성하는 툴을 좀더 자유롭게 익히자!

- 사용툴 
   : 마인드맵( FreeMind ) : 업무정의하면서 구분별로 해야할 일들을 리스트화 하고 상세 내용들을 꼬리로 달아놓았는데 보기도 좋고 정의하기도 좋았음. 
   : 파워포인트 : 업무내용 관련해서 실제 코멘트 및 그림을 포함해서 그려가면서 수정을 반복 해서 20본 정도 수정한듯 함. 일단 글과 그림을 함께 둘수 있어 편하긴 한데... 이쁘게? 란는 압박이 ... 

 업무 협의를 하면서 대략적으로 어떤 흐름으로 이끌어 가면 되겠구나 하고 생각은 했으나, 정작 기존 프레임웍을 모르니 어떻게 합칠까? 라는게 고민이 되었는데... 본사들어와서 협의 하고 물어보고 해서 대략적으로 잡아갔음...

일정 
 - 12월 초 : 업무정의 
 - 12월 중 : 뷰어 관련 작업 
 - 12월 말 : 집중 코딩작업 ( 관리 페이지, 뷰어 페이지, 기존 페이지 수정 )
 - 1월 초 : 집중 코딩( 메일 수정 및 신규 프로세스 ) 
 - 1월 중 : 테스트 
 - 1월 말 : 테스트 
 - 2월 초 : 오픈예정

 12월 2주간 업무정의 및 구현 방법등 정리하면서 기존 프레임웍을 하나 하나 분석하다보니 훌쩍 시간이 갔고
드디어 뷰어가 설치되었고 관련 스크립트를 작성하였다.  이것도 뷰어가 3일 늦게 설치되고 소스 만들고 테스트 하는데 2일 정도 해먹고 거의 일주일 일정이 밀리기 시작했다. 워~~ 고생길이 점점 보이는데...? 

 작업들은 다음과 같이 진행되었다. 
 - 결과물을 예상하고 테스트 시나리오 간단히 정의 
 - 기존 페이지 중 작업페이지 선별 
 - 로직들 추가. 기존 로직들과 연계 시킴. 
 - 테스트

이중 가장 오래 걸린 작업은 기존 페이지들에서 로직들이 추가될 위치를 찾는 것이었다.
4줄 코딩하고 찾기를 30분씩 했으니.. 오래 찾은건 3시간도 찾았다. 

 하루 하루 퇴근시간이 늦어지면서 지치기 시작하지만 KCC에서는 그룹웨어만 아닌 가상화 도입으로 다른 업체들 일정까지 있으니 기간에 맞춰달라는 얘기를 하며 거의 맡겨놓고 가상화 관련 작업들에 몰두해 있었다. 

 그러던중 일이 터졌다! 그룹웨어에 결재가 12월말이어서 폭주? 했다고 할까나... Agent에 처리 성능에 뭔가 문제가 있어 난리가 났다. 전화벨소리, 여기저기 아우성 ... 정작 난 결재가 어떻게 도는지도 모르는 상황!! 이고 본사에서 Agent 작업문제로 본사에서도 대응한다고 밤새고 .....   이렇게 해서 내가 게으름 피울상황이 사라졌음을 느꼈다. 젠장~!!!

To be...