자바 프로그래머에서 개발자로
예전 직장에서 개발자 대상의 뉴스레터에 기고한 글입니다. 글 작성일: 2004년 7월 --- 자바 프로그래머에서 개발자로 우리는 개발자와 프로그래머라는 말을 뚜렷하게 구분하여 사용하고 있지는 않다. 하지만, 썬에서 발급하는 자바 자격증을 보면, SCJP, SCJD, SCAJ 등으로 구분하여, 프로그래머(Programmer), 개발자(Developer), 아키텍트(Architect)의 3단계로 구분하고 있다. 이 순서대로 경력과 능력이 올라가야 그 수준을 달성하게 된다. 즉, 개발자와 프로그래머 사이에서는 개발자가 좀 더 놓은 수준의 능력을 갖춘 사람이 된다. 이 둘 사이에는 무슨 차이가 있을까? 공식적으로는 뚜렷하게 차이점이 정의되어 있지는 않다. 필자는 최소한 다음을 잘 이해하고 있는 사람은 개발자로서 프로그래머와의 구분을 가져오는 차이가 있다고 생각한다. 개발 방법론 개발 방법론은 프로젝트 초기에 선택되어야 할 가장 최우선적인 항목의 하나다. 많은 프로젝트에서 Waterfall에 근간을 둔, 정보 공학적인 방법론을 사용한다. 요즘에는 CBD나 XP (eXtreme Programming)이 많은 프로젝트에서 사용된다. 하지만, 아직까지는 CBD의 성공적인 적용이나, XP를 기가 막히게 사용해서 좋은 효과를 얻었다는 얘기를 그다지 많이 듣지 못했다. 필자의 판단으로는 현재 가장 쓸만한 방법론은 UP(Unified Process)며, 현실적인 프로젝트에서는 UP를 간단화 시킨 UP-Lite를 사용하는 것이 좋다고 판단된다. UP는 Rational사(현재는 IBM으로 합병됨)에서 RUP라는 이름으로 널리 알려진 개발 방법론이다. 필자의 판단으로 가장 가슴에 와 닿는 UP의 주장이나 개념은 시스템이나 고객의 requirement는 초기에 결정되지 않는다는 점이며, 이 때문에 많은 workflow들이 칼로 무를 자르듯 뚜렷하게 구분되지 않는다는 것이다. 얼마나 많은 프로젝트에서, “언제 설계가 끝나나요?”, “설계서는 언제 나오나요?” 등의 waterfal