이글루스


소프트웨어 Agile 개발 방법론

 
소프트웨어 Agile 개발 방법론[2007.01.11]
Agile 방법론은 과거 방법론의 위험 및 실패요소를 바탕으로 더 효과적인 프로젝트를 수행하기 위해 만들어졌는데 여기서 말하는 Agile이란 기본적으로 소프트웨어를 빨리 개발하여 비즈니스에 적용한다는 것..

비즈니스의 요구에 유연하고 민첩하게 대응한다

소프트웨어 Agile 개발 방법론

Agile 방법론의 등장 배경

분석, 설계, 개발, 검증, 이관 등의 단계를 순차적으로 거치는 전통적인 개발 방식인 폭포 모델(waterfall model)은 1960년대 복잡한 군사용 소프트웨어 개발을 위해 미국 해군에서 고안됐다. 폭포 모델에서 프로젝트는 정해진 순서를 따르게 된다. 각 단계의 끝에서 프로젝트 팀은 최종 점검까지 모두 끝낸 후 고객의 승인을 받게 되고, 고객이 만족하지 않는 한 다음 단계로 넘어가지 않는다.

이 때문에 소프트웨어의 구현 및 테스트 단계에 이를 때까지 잠재적인 문제들과의 대면을 미루게 되며 요구 사항, 디자인, 코딩에 숨어있는 모든 문제들이 프로젝트가 끝나기 직전에 갑자기 부상되어 고통스러운 현실을 만들어 버리는 경우가 발생하곤 한다.

이러한 전통적 폭포 모델 구현 프로세스의 문제점을 정리해 보면 아래와 같다.

● 사용자의 요구를 정확하게 반영하기 힘듦 : 각 단계를 진행하는 중에 주기적으로 요구사항을 조율할 수 있는 체계적인 방법이 없으며 사용자들은 시스템이 동작되는 것을 보기 전에 자신이 원하는 것을 정확히 알지 못한다.

 

● 지속적으로 변화하는 요구사항을 적절히 처리할 수 없음 : 하나의 단계를 완결하고 다음 단계로 진행하는 방식이기 때문에 요구사항 단계를 지나 새롭게 추가되는 요구사항을 반영하려면 프로젝트 일정에 상당한 부담을 주게 된다.

 

● 개발된 소프트웨어 모듈들이 잘 조합되지 않을 수 있음 : 개발자들이 각자 개발한 모듈들은 테스트 단계에까지 가야 서로 연동시켜 볼 수 있는데 이러한 모듈 사이의 인터페이스에 문제가 발생할 수 있다. 대부분의 중대한 시스템 결점은 프로젝트 막바지에 발견되며 이를 처리하는 것은 매우 힘든 작업이 된다.

 

● 품질 저하 : 추가적인 요구사항을 반영하기에 절대적으로 시간이 부족하기 때문에 버전에 따라 산출물들의 관계와 정보들을 체계적이고 독립적으로 관리하기 힘들어 유지보수에 큰 부담을 주며 반영시킨 요구사항에 대한 프로그램의 품질 역시 떨어지게 된다.전통적인 개발 방식은 소프트웨어 개발주기가 길며 사용자의 요구사항을 효과적으로 반영하기가 어렵다. 더욱이 기업에서는 최소의 소프트웨어 개발 투자를 통해 극대화된 효과를 원하기 때문에 새로운 개발 방식을 찾게 하는 동기를 제공하게 되었다. 이러한 배경으로 대두되고 있는 것이 Agile 방법론이다.

by nempal | 2007/05/02 18:03 | 트랙백 | 덧글(0)

트랙백 주소 : http://nempal.egloos.com/tb/1152029
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글


◀ 이전 페이지          다음 페이지 ▶