티스토리 뷰

Developer

애자일(Agile) 개발 기법

rocksea 2012. 5. 8. 01:04

요즘들어 애자일 개발 방법론에 대해 끊임 없는 얘기가 나오고 있습니다. 이유인 즉 클라이언트의 개발 요구사항이 끊임 없이 변할 뿐더러 클라이언트가 본인이 무엇을 원하고있는지 모르고 있는 경우가 허다하기 때문입니다.

예를들면 예전에는 ATM ( Automatic Tellers Machine ) 이면 ATM 개발 및 설치라는 뚜렷한 목표가 있었지만 현재는 요구사항과 시스템이 변화가 빈번하게 일어나기 때문입니다.  이렇듯 타겟이 항상 흔들리고 변하는 형태를 무빙타겟 ( moving target ) 이라 합니다.

[ 그림 1 ] moving target

이와 반대되는 예로 워터풀 모델이 있습니다. 워터풀 모델은 이전프로세스의 완료를 전제로 다음 프로세스를 개시하는 형태 이지만 요구사항이 끊임없이 변하는 현업에서는 거의 불가능한 일이라고 볼 수 있습니다. 이러하기때문에 애자일 개발 기법이 주목을 받는 다고 할 수 있습니다.  현장에서 예측불능의 변하에 대해 여러가지 연구를 하고 이러한 연구자료를 기반으로 좀더 체계적으로 개발을 할 수 있도록 정리한 것 이라고 할 수 있습니다.

 

[ 그림2 ] Agile 개발기법 

( source : http://en.wikipedia.org/wiki/File:Agile_Software_Development_methodology.jpg )

 

Agile 의 moto

Individuals and interactions over processes and tools
Working software
over comprehensive documentation
Customer collaboration
over contract negotiation
Responding to change over following a plan

프로세스나 툴 보다 개인간의 교류를 소중히 하라

포괄적인 다큐먼트 작성에 힘을 주력하기 보다 잘 동작하는 소프트웨어 개발에 노력하라

계약의 교섭보다 고객과의 협업을 중시하라

계획에 따르기보다 변화에 유연하게 대응하는 것을 명심하라


( source : http://agilemanifesto.org/ )

정리하자면 Agile이 추구하는 목적은 클라이언트와 팀원들과의 끊임없는 교류를 통하여 변화에 빠르고 유연하게 대응 해야 한다는 것입니다. 

마지막으로 어떠한 소프트웨어를 개발하느냐에 따라 이러한 소프트웨어 개발모델이 독이 될 수도 약이 될 수 도 있다는 것을 명심해야 합니다. 예를 들면 빠르게 변화하고 빠른 승부로 판가름나는 인터넷 비지니스의 경우 Agile개발 기법은 약이 될 수있지만 ATM이라던지 이미 목적이 확실한 소프트웨어 개발에는 독이 될 수도 있습니다.

이상으로 Agile 개발 기법에대한 포스팅을 마치도록 하겠습니다.

by rocksea.

'Developer' 카테고리의 다른 글

[ mylyn + eclipse ] mylyn + eclipse 연동  (0) 2012.05.15
[ non-block ] non-block server 구현  (0) 2012.05.10
[ VMware ] kernel 3.2 patch  (0) 2012.05.02
[ inode ] inode 관련자료  (0) 2012.04.24
[hadoop] 설치 및 clustering 셋팅  (0) 2012.04.23
댓글