[프로그래밍/기업] 익스트림 프로그래밍 (XP)의 '명암'(1)
익스트림 프로그래밍 (XP)의 '명암'(1)
[출처 : 아이비즈투데이(ibiztoday.com) : 2002년 05월 03일]
--------------------------------------------------------------------------------
남자 두명이 노란색 포스트잇 (Post-it) 쪽지가 널려있는 회의실에서 랩탑 컴퓨터 스크린을 응시하고 있다.
두 사람사이 대화는 키보드 소리를 사이에 두고 이어졌다.
조 투세인트 (Joe Toussaint)가 파트너인 앤디 파브리니 (Andy Fabbrini)에게 불쑥 한마디했다.
"그건 한 필요가 없어"
"그래?"
투세인트는 컴퓨터 스크린을 가리키며 "이 곳을 돋보이게만 해"라고 말했다.
"그래 좋아"
두 프로그래머는 소프트웨어 개발 혁명의 새 물결인 '익스트림 프로그래밍 (XP : Extreme Programming)'중이다.
이처럼 혼자서 밤 늦게까지 큐비클 (칸막이 사무공간)에서 작업하는 방식 대신에 오전 9시에서 오후 5시까지 낮시간에 다른 프로그래머와 의견을 주고받으며 공동 협력해 고객의 요구에 가장 잘 맞는 소프트웨어를 만드는 방식이 익스트림 프로그래밍이다. 이 새 운동의 이름 익스트림 프로그래밍은 랩탑을 들고 번지 점프하는 하이테크 광의 이미지를 내포하는 것으로 그 혁신적 개념을 상징하는 말이다.
XP 선두업체인 샌프란시스코 피보털 컴퓨터 시스템스 (Pivotal Computer Systems) 롭 미 (Rob Mee) 최고경영자 (CEO)는 "실리콘 밸리에서는 새벽 2시까지 큐비클에 처박혀 일하며 졸트 (Jolt) 콜라를 마시고 피자를 먹지 않으면 인정해주지 않는 문화가 존재한다"며 "XP는 이런 문화를 바꿔 프로그래머가 더 건전한 생활을 하고 사회성을 키우도록 만들어 준다"고 설명했다.
새 소프트웨어 개발 방법의 핵심은 바로 두 사람이 함께 프로그래밍을 하는 '페어 프로그래밍 (pair programming)'이다. 소프트웨어 개발진은 컴퓨터 1대로 공동 작업하며 키보드를 당겼다 물렸다하면서 같이 쓴다. 페어 프로그래밍은 때로는 논쟁도 벌어지지만 협동 작업으로 생산성이 높아지고 더 좋은 소프트웨어를 만들 수 있다는 믿음을 그 바탕에 깔고 있다.
페어 프로그래밍의 개념은 지난 99년 소프트웨어의 '락 스타'같은 존재인 켄트 베크 ( Kent Beck)의 저서 '익스트림 프로그래밍 해설 (Extreme Programming Explained)'에서 정립된 뒤 휴렛 팩커드 (HP : Hewlett-Packard)와 퀘스트 커뮤니케이션스 (Qwest Communications) 같은 대형 중견업체는 물론 신생업체간에 인기를 끌면서 도입되기 시작했다.
현재 30개 이상의 웹사이트가 익스트림 프로그래밍을 지지하거나 반대하든 이를 취급하고 있고 베이 지역 XP (Bay Area XP) 등 관련 단체는 XP와 관련된 전자메일을 교환하고 오프라인에서 회의까지 열고 있다. 베이지역 (Bay Area - 샌프란시스코만 주변의 실리콘 밸리)에는 XP 방식을 이용하는 소프트웨어 엔지니어만도 수천명이나 되는 것으로 추산된다. 여기서 XP는 마이크로소프트 (Microsoft)의 윈도 (Windows) XP 운영체제와는 관련이 없다.
XP가 미국 소프트웨어 개발진이 가장 많이 몰려있는 실리콘 밸리에 발판을 마련한다면 XP의 명성이 세계로 퍼져나가는데 도움이 될 것이다. XP 원칙은 세계 각국의 하이테크 센터에서 채택하고 있으나 아직 소프트웨어 개발방식의 주류로는 자리잡지 못한 상태다.
지난 90년대 중반부터 베크와 함께 XP를 이용한 롭 미 피보털 컴퓨터 시스템스 CEO는 "실리콘 밸리는 프로그래밍 세계를 선도하고 있다"고 밝혔다.
XP는 소프트웨어 암호를 더 융통성있게 만들기 위한 애자일 프로그래밍 (Agile Programming) 개발 방법 중 하나다.
XP 지지자들은 XP가 적응성이 아주 뛰어난 것을 높이 평가한다. XP는 전통적인 소프트웨어 개발의 복잡하고 세련된 코드보다는 고객이 지시하는 단순성과 소프트웨어를 더 중시한다.
XP는 비판하는 이들은 XP가 개발진이 만들 내용을 미리 문서화하지 않는 약식 소프트웨어 개발 방법이라고 이를 평가절하한다.
XP 비판 사이트 운영자인 영국 소프트웨어 개발진 매트 스티븐스 (Matt Stephens)는 "선행 설계는 미리 생각하는 것과 같다"며 "XP는 소프트웨어 개발에서 아주 중요한 이 점을 무시해 스스로 근시안적 개발 방식으로 전락했다"고 비판했다.
스티븐스와 일부 열렬한 XP 이용자마저 프로그래머가 항상 공동 작업을 하게 되면 생산성이 저해될 것이라고 본다.
XP를 이용하는 샌프란시스코 카본 파이브 (Carbon Five) 아론 새런트 (Alon Salant)는 "특히 새로운 작업이 아니면 모든 일에 두명의 프로그래머가 필요하지 않다"며 "페어 프로그래밍은 가장 경험많은 프로그래머의 생산성은 줄이고 가장 경험이 적은 프로그래머의 생산성은 높인다"고 해석했다. - (mark@ibiztoday.com)
'IT-개발,DB' 카테고리의 다른 글
[개발/델파이] Callback 함수 구현 (0) | 2012.11.30 |
---|---|
[프로그래밍/기업] 익스트림 프로그래밍 (XP)의 '명암'(2) (0) | 2012.11.27 |
[개발/DB] MS Access MDB 함수 요약 (0) | 2012.11.26 |
[개발/DB] MDB 도움말 (5) - 문자열 비교에 와일드카드 문자 사용 (0) | 2012.11.26 |
[개발/MFC] VC++/MFC API 팁 (0) | 2012.11.15 |
댓글