책, 커피, 음악사랑 블로그 ★☆

Posted
Filed under 책 소개/리뷰
 Extreme Programming Installed  론 제프리즈 & 앤 앤더슨 외 지음, 박현철 외 옮김
이 책은 XP(eXtreme Programming)의 핵심원리와 XP개발 주기의 각 단계별 세부사항을 설명한다. 실제적인 도움을 주기 위해 구현을 위한 기법과 자주 부딪치는 문제점들에 대한 대책, 그리고 성공적인 실행을 위한 경험담등을 담았다.


Extreme Programming은 무엇인가?
익스트림 프로그래밍(XP : eXtream Programming)은 최근 개발방법론 중에서 급부상하고 있는 애자일 소프트웨어 개발론(Agile Software Development)의 하나로, 단순성, 상호소통, 피드백, 용기 등의 원칙에 기반해서 "고객에게 최고의 가치를 가장 빨리" 전달하도록 하는 경량 방법론이다. 요구사항 등의 변화가 자주, 많이 있거나 개발자가 소규모(10명 내외)이고 같은 공간을 사용하는 경우에 높은 효과를 볼 수 있다고 알려져 있고, 다른 규모나 원거리 XP 등의 적용이 꾸준히 시도되고 있다.


컴퓨터 공학 중에서도 나의 관심 분야는 소프트웨어공학 분야이다.
어떻게 하면 소프트웨어개발의 모든 과정에서 좀더 효율적으로 진행을 할 수 있는 것일까?!

하드웨어의 발전에 비해 소프트웨어의 발전은 10여년 가량 뒤쳐져 있다고 한다. 그 만큼 소프트웨어에서는 여러가지 요소가 복잡하게 얽혀있다. 문제는 점점 복잡해지고 프로젝트에는 더 많은 시간과 노력이 필요해지게 되었다. 이런 상황 속에서 어떻게 팀원들과의 커뮤니케이션의 문제와 현재의 문제 영역을 어디서 부터 어떻게 파악 할 수 있으며, 스케줄의 행방은 어디로 가는가?는 가장 중요한 이슈일 수 밖에 없다.

1980년대 이후 '소프트웨어의 위기(Software Crisis)'과정을 지나면서 이러한 소프트웨어의 문제점을 해결 하기 위한 많은 시도들이 진행되었으며 그결과 여러가지 개발 방법론들이 나타나게 되었다. 소프웨어 공학에서 전형적인 스파이어럴 모델, 프로토타이핑, 워터폴모델,탑다운/바틈업모델등이 그것이다. 최근의 Unified Process와 Rational Unified Process, ICONIX, XP등 모두 이런 문제들을 해결하는 방법들을 제시하고 있다.

RUP가 무거운 헤비급의 프로세스라면 ICONIX는 미들급, XP는 라이트급의 초경량 개발 프로세스라고 볼수 있다. 'Extreme Programming Installed'에서는 이러한 XP의 실제 프로젝트에서의 도입과 그에 따라 수반될 수 있는 문제 상황들을 어떻게 해결하고 진행시켜 나가는 지를 예를 들어서 지루하지 않게 설명 하고 있다. 각각의 이터레이션 단계에서 체크해야 할 사항들, 테스트의 중요성, 고객과의 원활한 커뮤니케이션 유지..등등..

이책에서는 XP의 여러가지 요소들과 함께 팀원 개인 개인의 성취감 또한 중요한 이슈로 다루고 있다. 책의 후반부의 'Bonus Tracks' 에서는 저자들이 많은 대가를 치르고 배운 노하우와 경험들에 대해서 기술하고 있는데 상당부분 공감이 간다. 개인적으로 이 책의 보너스 트랙이 아주 맘에 든다.

XP를 실제로 도입하기까지는 많은 어려움이 있다.
나 자신도 XP를 퍼트려 보려고 노력해 봤으나.. 여의치 않았다.
XP로 프로젝트를 진행하기위해서는 아군(?)을 확보하여 조금씩 주의 사람들을 물들여 가는 것이 가장 최선일 것 같다는 생각이 든다.