본문 바로가기

기술면접대비

애자일(Agile)

Agile : 민첩한, 기민한

소프트웨어 개발 기법 중의 하나로, 계획 중심의 프로세스(ex) 폭포수 모형)와 반대되는 입장을 취하고 있다.

2000년대 초에 대두되었다. 1990년대에는 주로 많은 인원의 개발자가 오랜 기간 동안 소프트웨어를 개발하곤 했다. 그러한 개발 방식은 대형 소프트웨어 개발 프로젝트엔 적합할지 몰라도, 소규모 프로젝트에는 오히려 개발을 더디게 만드는 걸림돌로 작용했다.

개발에서의 창의성이나 혁신은 단순히 계획에서 나오는 것이 아니라고 생각하는 경량방법론주의자들로부터 시작되었다. “규칙은 적게, 가볍게 대응할 수 있도록”, “해 보고 고쳐나가자”를 내세우고 있다.

 

애자일 방식의 특징

애자일 모형이라고도 한다. 특정한 개발방법론을 명명하는 것이 아니며, 고객과의 소통에 초점을 맞추는 방법론을 통칭하는 단어이다. 협력과 피드백, 불확실성에 대하여 어떻게 대응할 것인지에 대한 것을 중요하게 생각한다.

피드백에 대하여 빠른 결과물을 내놓기 위해서 일정한 주기를 반복하면서 개발 과정을 진행한다. 고객과의 요구사항에 유연하게 대응하기 위함이며, 주기마다 요구사항을 다시 확인하여 고쳐나가면서 개발한다.

소프트웨어는 계획하면 그 계획에 맞추어 무조건 만들어지는 것이 아니다. 인력과 예산, 개발 환경 및 다양한 외부 조건에 의해 영향을 받는다. 애자일 방식은 개발 환경을 고려하여 고객과 개발자를 중심에 둔다. 고객이 개발 프로세스에 적극적으로 참여하여 우선순위를 정할 수 있으며, 개발자의 능력 혹은 피드백에 맞추어 계획을 변경하는 등 유연한 개발이 가능하다.

계획과 개발, 출시와 같은 개발 주기가 여러 번 반복되며, 개발 환경에 맞게 요구사항이 추가되거나 변경된다. 결과적으로 애자일 소프트웨어 개발은 고객에게 좀 더 빨리 결과물을 내놓을 수 있고, 고객의 피드백에 민첩하게 반응할 수 있다. 수요에 대한 빠른 판단과 반복적인 테스트를 거쳐 보다 사용자에게 적합한 결과물을 도출할 수 있다.

애자일 방식의 대표적인 성공 사례

 - ‘마이크로소프트’의 인터넷 익스플로러
 - 스웨덴의 음원 사이트 ‘스포티파이

 

애자일 조직의 세 가지 조건
  1. 경계 없는 조직문화 : 구성원 간의 경계를 허무는 것에서 애자일 조직이 시작된다. 조직원들의 자유로운 의사소통을 위하여 노력하여야 한다.  
  2. 업무 마감 기한 설정 : 애자일 조직은 명확한 마감 기한을 가지며, 제한된 시간 안에 무엇이든 만들 수 있도록 독려하는 분위기를 가지고 있다. 변화하는 상황에 대비하기 위하여 마감 기한은 최대 1달을 넘기지 않도록 한다.
  3. 비주얼 플래닝 : 업무 상황을 도식화하여 공유한다. 현재 진행 상황을 개발에 참여하는 모두가 알 수 있도록 시각화하여 공유하면 불필요한 미팅이 줄어들고, 막힘이 있는 부분이나 해결책이 필요한 부분을 모두가 쉽게 이해할 수 있기 때문에 효율적이다.
애자일 방식을 이용한 개발방법론에는 무엇이 있을까?

애자일 방식을 이용한 개발방법론은 여러 가지가 있다.

  • 익스트림 프로그래밍(XP)
  • 스크럼 방식
  • 크리스탈 패밀리
  • 피처그리븐 개발 등