본문 바로가기

Project

4. 프로젝트 프로세스에 관하여(+근황)

대충 1년정도 시간을 잡고 하는 프로젝트인지라, 어디서부터 시작해야 할 지 감을 잡는게 쉽지 않은 것 같다.

현재 고민해본결과는 Khanban 기반 프로젝트 관리 시작 -> 시장분석 ->  Use Case 정리 -> UML작성 -> Architecture 설계 -> TDD기반 개발 순으로 진행하는 것이다. 물론 각 단계단계마다 공부할 것도 많고 거쳐야 할 것도 많다(몇몇 부분은 공부를 끝낸것도 있고 진행중인것도 있음) 일단 첫번째 단계인 프로젝트 관리는 아마 가장 빨리 끝날 것이다. 시장분석단계가 매우 중요한데... 이것은 일단 공부를 위해 생각해놓은 책이 2개정도 있다.

1) Where to play, 2) Testing business idea.

 

사실 개인의 관심은 사업을 한다기 보다는 취미로 개발하는 영역에 가깝지만 내가 만든 프로그램이나 기능들이 이미 세상에 존재한다는것을 깨달은 순간은 이미 늦은 순간일 것이고, 우리는 허무맹랑한 기분을 느끼고 싶지 않다. 따라서, 어느정도의 시장조사는 가치나 부를 창출하는 것이 아니더라도 필요하다고 생각한다. 그리고 우리가 머릿속으로만 생각하는 것들 너머에 실존하는 세상에 대해 더 잘 이해함으로서 너 많은 아이디어를 창출할 수 있을 것이다.

최근에 코드리뷰를 할 일이 있기도 하고, Robert Martin의 책에 꽤 큰 흥미를 느껴서 그분이 쓴 다른 책인 Clean Code라는 책을 읽고있다(이 책이 더 유명한거 같다...) 그런데 재밌어서 그냥 읽다보니 뭔가 프로젝트가 진행이 안되는거 같아서, 다시 프로젝트에 집중하려고 한다. 물론 틈틈히 이 책도 볼 것이다. 개인적으로 시작하고 중간에 그만두는걸 싫어해서(그러면서 일을 벌이기만 하는느낌.....)

 

요즘은 상용 WEB/WAS 서버관련 문서를 읽고있다. 어플리케이션이 아닌 시스템 전체의 관점에서 바라보고, 관리적 관점에서 그리고 프로세스 관점에서 바라보게 되는거 같다. 오늘은 컨테이너 내부 Thread Pool이 모두 Active상태가 되어 시스템이 먹통이 되었는데 다음번에는 Dump를 뜨거나 JSP코드를 보면서 확인을 좀 해봐야겠다는 생각이 든다(같이 일하시는 분이 이미 만병통치약같은 컨테이너 재기동을 해버림..ㅎㅎ). 개인적으로는 DeadLock같은데.. 아무튼 가끔씩 이런 일이 있다. 엔터프라이즈 시스템의 내부를 들여다보는 것은 나름 흥미로운 일인 거 같다. 거기서 얻은 개념들을 응용해서 최종적으로 시스템 설계시에 반영하려고 한다.

 

운영일을 하다보면 확실히 사용자 관점에서 볼 때가 가장 많다. 이것은 꽤나 나에게 많은 도움이 된다. 사용자의 특성에 대해 더 잘 이해할 수 있게 된다고 할까... IT관점에서 개판인 것도 그냥 뭐 업무적으로 잘만되면 신경도 안쓰기도하고.... 뭐 그렇다. 

 

패러다임이라는 것에 대한 생각도 해봤는데, 패러다임이라는 것은 사실 돌고도는 것이라는 생각이 든다. 최신 유행하는게 알고보면 예전에도 있었던 것인데 뭔가 리뉴얼되서 나온 거 같기도 하고, 결국엔 방법론이나 개발 트렌드나 뭐 그런 것들도 다 돌고도는 것이라.... 뭐가 옳고 그르다는 판단보다는 그냥 옛날방식이 좋으면 그걸 따르는것도 충분히 정답인 것 같다.

 

항상 드는 생각은 사람은 겸손해야 한다고 생각한다. 내가 많이 안다고 생각했던 것도 사실은 별게 아니고, 내가 처음에 뭐 이런 시스템이 있다고 생각한것도 사실 알고보면 굉장히 어렵고 정교한 것들이 많다. 딱 아는만큼 보인다는게 맞는듯... 그래서 지식이나 경험앞에서는 겸손해야 한다. 

 

개인적인 이야기는 여기까지 하고 다음번 포스팅은 Kanban에 관한 것을 포스팅할 것이다.