소프트웨어 개발에서 애자일(Agile Software Development) 방식은 계획이 너무 없는 방법과 계획이 너무 많은 방법 사이의 절충적인 방식이다. 고전적인 폭포수 모델은 계획이 너무 많은 방식으로 문서 중심으로 진행된다. 애자일은 문서를 줄이고 코드 중심으로 개발을 진행한다. 폭포수 모델은 프로토 타입이 개발 기간 후반에 만들어 지지만 애자일 방식은 프로토 타입을 초반 부터 짧은 주기로 계속해서 만들어서 개선해 나간다.
- 프로세스 / 도구보다는 사람 / 상호작용
- 문서보다는 동작하는 소프트웨어
- 계약 협상보다는 고객과 협력
- 계획을 따르기보다는 변화에 대한 대응
소프트웨어 개발을 시작하면 계발 계획을 만들어 고객에게 보인 후 확인을 받고 개발을 시작한다. 하지만, 만들어진 소프트웨어를 실제로 사용해본 고객은 마음에 들어하지 않고 변경하기를 요구한다. 실제 소프트웨어와 문서상의 계획은 느낌이 완전히 다르기 때문에 고객이 그러한 반응을 보이는 것은 당연하다. 하지만, 전통적인 개발 프로세서에는 이러한 고객의 요구를 부당한 것으로 간주하고 고객의 변경 요구가 너무 많으면 프로젝트 전체가 중단되기도 한다.
애자일 선언문에서 '고객과 협력', '변화에 대한 대응'이라고 나온 것처럼 애자일 방법론에서는 이러한 고객의 요구를 들어줄수 있는 프로세서를 사용한다. 대략적인 프로토타입을 최대한 빨리 만들어 고객에게 사용해보게 하여 고객의 요구를 듣고 소프트웨어를 변경한다. 이러한 고객의 피드백을 개발 과정 중 최대한 많이 받아 고객이 원하는 소프트웨어를 완성한다.
애자일 개발 방식은 특정 방식을 말하는 것이 아니라 애자일 하게 개발하는 다양한 방법들을 총칭하는 말이다. Agile은 '민첩한', '재빠른' 이란 뜻으로 미국에서는 애즐이라고 발음하고 영국에서는 애자일이라고 발음한다.
'컴퓨터' 카테고리의 다른 글
아파치 톰캣 이란? (0) | 2020.04.01 |
---|---|
함수형 프로그래밍이란? (0) | 2020.03.29 |
양자 암호 뜻 (0) | 2020.03.26 |
OTP 뜻 (0) | 2020.03.26 |
Telnet 대체 통신 프로토콜 SSH (0) | 2020.03.26 |
댓글