본문 바로가기

IT 최신 정보

[IBM] Erich Gamma 와 함께 여는 개발자 세상 세미나 후기

일시 : 2009.08.18 (화) 13:30 ~ 17:10 
장소 : 그랜드 인터컨티넨탈 호텔 오키드룸 (2F) 

 

이 날 "디자인 패턴" 의 공동 저자이자 "이클립스" 의 창시자로 부리우는 
SW분야의 마이스터 "에릭 감마" 를 만나고 왔습니다. 
평일에 열린 행사였지만 에릭 감마를 만나기 위해 IT 관련 기업들과 
대학에서 온 100 여명의 참석자들을 볼 수 있었습니다. 
에릭 감마의 프리젠테이션 청취를 도와주었던 통역사 분 덕분에 
에릭 감마의 프리젠테이션을 무리없이 들을 수 있어서 좋았습니다. 

에릭 감마의 프리젠테이션은 이클립스의 아키텍처에 관한 이야기부터 시작 되었습니다. 
그는 이클립스의 아키텍처를 건축과 Layer 로 비유하였습니다. 
그의 이클립스의 아키텍처에 대한 영감이 바로 이것으로 부터 나왔다는 이야기였습니다. 
즉, 사용빈도나 향후 수정하는 정도에 따라서 Layer 를 나누어 설계한다는 관점입니다. 
한 번 만들어 놓으면 구조가 변경되지 않을 부분으로 큰 윤곽으로 둘러쌓고 
안쪽으로 차례대로 Layer 를 설계한다는 방식이었습니다. 
플러그인 아키텍처를 설명하면서 그는 플러그인의 강점이자 중요한 요소인 Extension point 를 강조했습니다. 
플러그인 아키텍처의 중요한 요소인 만큼 잘 사용해야 한다고 이야기 했습니다. 
플러그인에 사용되는 API 를 정의 할 때 사용의 용이성과 편의성을 고려하라고 했습니다. 
API 의 테스트는 유닛테스트를 통해서 확인하고 고객에게서 피드백을 받는 것이 
"좋은" API 를 만들 수 있는 방법이라고 설명했습니다. 
IAdaptable 을 이용한 Interface 의 확장성에 대해서도 설명해 주었습니다. 

이클립스 프로젝트는 2000년에 시작되었지만 처음에는 마치 스위스 은행처럼 은폐되어 있다가 
2002년에 비로소 Open Source 프로젝트로 세상에 나왔다고 이야기 했습니다. 
2001년에 1.0 버전의 이클립스 부터 3.0.. 이 후의 버전에 이르기 까지의 꾸준한 버전업 차트를 보여주면서 
주어진 기간안에 성실히 개발을 완료해 왔다는 것을 보여주었습니다. 
처음에 자신들이 만들어 놓은 이클립스를 Open 한다는 것에 대해 고민을 많이 했고 주변에서도 걱정을 했다고 합니다. 
하지만 그와 그의 팀은 결단을 내렸고 결국 이클립스를 세상에 Open 하였습니다. 
그간의 우려도 잠시 기대 이상의 상황을 맞이 했다는 이야기를 했습니다. 
개발의 투명성은 여러 개발자들의 관심을 모을 수 있고 그에 따라 적절한 피드백을 받을 수 있게 해주었다고 했습니다. 
고객, 개발자들을 아우르는 Community 와의 소통은 소스코드를 향상시키는 좋은 
방법이며 재즈의 기본 철학이 되었다는 것이었습니다. 
그리고 XP, Scrum 등 애자일 개발 방법론의 장점을 기존의 개발 방법과 비교 설명해주었는데 
현재 RM 도구에서 사용하는 개발 방법론과 동일하여 우리가 앞서가는 방법론 아래서 개발 하고 있는 것에 자부심이 들었습니다. 
프로젝트를 진행하는데 있어서 Risk 를 낮추고 이를 잘 해결하는데 있어서 
Pain Points 를 찾는데 노력하는 것이 중요하다고 말했습니다. 
버그 트래커나 CI 서버와 같은 도구에서 하는 일들을 말하는 것 같았습니다. 

[ Jazz & RTC for collaboration ] 
그리고 개발자들 간의 유기적인 협업을 지원하는 Jazz 플랫폼과 RTC(Rational Team Concert) 툴에 
대한 설명이 데모를 통해 본격적으로 이어졌습니다. 
RTC 에서는 프로젝트를 진행 중 새로운 개발자가 추가 투입되더라도 적응에 대한 최소한의 노력을 
들이도록 해주는 그야말로 프로젝트에 관련한 모든 사항을 볼 수 있게 해주는 환경을 제공했습니다. 
svn 과 같이 소스의 한 부분에 대해 누가 수정했는지를 보여주는 기능, 
CI 서버와 같이 빌드에 대한 리포트를 제공하는 기능, defect 발견과 관리기능, 
해당 프로젝트의 이슈를 읽을 수 있는 Cloud Tag 기능, 프로젝트 진행에 관한 그래프 제공 등 
이 모든 정보들을 대시보드를 통해 한 눈에 파악 할 수 있으며 
팀리더와 개발자들 간의 정보 공유의 장을 제공해 주었습니다. 
에릭 감마는 Jazz & RTC 를 통한 투명성/가시성의 제공을 통해 협업의 효율을 극대화 할 수 있다고 생각했습니다. 
이렇게 제공된 투명한 환경은 팀리더와 팀원들간의 양방향성을 제공하여 프로젝트에 관한 
Task 내용, 방해요소, 빌드상황, Plan 내용 등을 공유, 비교하면서 질문을 하지 않아도 개발 할 수 있게 해주고 
작업의 Ranking 을 통해 우선순위를 조절하는데 유리하다고 말했습니다. 
XP 방법론에서 지향하는 의사소통 중심의 개발과는 상충되는 대목이었지만 원격으로 개발하는 팀에서는 
더할나위 없이 반가운 환경이 될 것이라고 생각했습니다. 

협업을 위한 환경인 Jazz & RTC 는 XP, Scrum 과 같은 개발 방법론을 이클립스 기술로 풀어놓은 것 같았습니다. 
이러한 방법론은 RM 도구에서도 사용하고 있는 방법론과 비슷했고 
VersionOne, Trac 등의 도구와도 비슷했습니다. 
Jazz & RTC 는 이렇게 진보한 방법론을 개발자들이 실천 할 수 있도록 도와주는 편리한 개발 환경이었습니다.