Software Engineering2007. 4. 1. 19:14

Stay agile, expect change

언제나 유연하게 변화에 대응할있도록 한다.



UML의 창시자 중 한명인 Grady Booch는 그의 저서 "The Unified Software Development Process"에서 이렇게 말하기도 했다.
"It is one of the constants of software development that the requirements change."
"요구사항의 변화는 소프트웨어 개발에서 상수(Constants)중의 하나이다"

그래서 Grady Booch 등이 만든 Rational Unified Process 방법론에서는 Iterative(반복적)이고 Cumulative(점진적)인 개발 방법론을 제시하고 있다. 나도 여러 프로젝트에서 몇 단계의 Iteration으로 프로젝트를 나누는 형태로 진행해본 적이 있었다. 그리고 최근의 XP, Agile 방법론 등에서 매우 중요시하는 것도 이 "Agile"이기도 하다.

내가 몸담고 있는 우리 나라 SI에서는 이런 유연성이 상당히 부족하다. 변화를 아예 받아들이지 못하는 것은 아니지만, 그 변화를 주기 위해서 많은 사람들이 고생을 하게 된다..-_-;; 즉, 변화를 잘 받아들이지 못하는 구조로 일정이나 예산 등이 처음에 책정되기 때문인데, 이런 현상 자체가 이미 이 원칙에 대한 의식이 많이 결여되었다는 것을 보여준다. 문제는 이 때문에 퀄리티가 떨어진다는 것이다.

언제나 변화에 빠르게 대응할 수 있는 환경(시간, 예산 상의 버퍼)을 만들어 놓는 것은 그래서 너무나 중요하다. 그것이 먼저이고, 그 후에는 변화에 대응할 수 있는 팀 구조, 방법론(Iteration이나 XP 등)의 적용을 하자.




다른 원칙 보기

Foster open Communications (열린 커뮤니케이션을 장려한다)

Work toward a shared vision (비전을 공유하고, 그 비전을 목표로 작업한다)
Empower Team Members (팀 멤버들에게 많은 권한을 위임한다)
Establish clear accountability and shared responsibility (팀,개인의 의무를 분명히 하고, 동시에 책임을 모두가 공유해야 한다)
Focus on delivering business value(비즈니스 가치에 초점을 맞춰야 한다)
Stay agile, expect change (언제나 유연하게 변화에 대응할수 있도록 한다)
Invest in Quality (품질에 투자한다)
Learn From all Experiences(모든 경험으로부터 배운다)

Posted by kkongchi