애자일 방법론

애자일(Agile)방법론이란?

짧은 주기로 작업 계획을 세우고 개발하고, 개선하는 작업을 반복하는 소프트웨어 개발 방식이다.

빠른 개발과 피드백을 통해 최소한의 비용으로 제품의 성공 확률을 높일 수 있으며, 현재 가장 널리 사용되는 개발 방법론이다.

 

 

애자일(Agaile)의 작업 주기를 스프린트라고 부르며, 하나의 스프린트가 "기획 ➪ 디자인 ➪ 기능구현 ➪ 테스트➪ 배포" 단계를 가진다.

 

 

 

애자일의 공통점

여러 가지 애자일 방법론이 존재하지만 모두 아래 세 가지 특징을 공통적으로 가진다.

 

Value Oriented (가치 지향)

  • 가치 없는 것은 버리고 가치 있는 것을 챙기자
  • 스프린트 과정에서 가치를 증명하고, 결과에 따라 가치있는 것을 챙긴다는 뜻이다.

Interactive (상호적)

  • 개발자, 기획자, 사용자 등 관련된 사람들 간의 상호적인 소통과 협업
  • 짧은 주기의 스프린트를 통해 빠른 피드백을 갖고, 활발한 소통이 이루어진다.

Iterative (반복적)

  • 스프린트를 계속해서 반복함으로써 결함을 찾고, 개선해 나갈 수 있다.

 

 

 

애자일 방법론 종류

린 스타트업

Build(개발) -> Measure(측정) -> Learn(학습)을 하나의 스프린트로 가진다.

Build의 산출물로 검증되지 않은 가설인 아이디어를 MVP로 만들고, Measure를 통해 MVP에서 가치를 찾아 불필요한 것을 버리고, 가치를 찾는다. 마지막으로 Learn을 통해 부족한 부분을 개선해나가는 방식이다.

 

XP

애자일의 공통적인 특징에 TDD와 페어 프로그래밍을 적용한다.

TDD로 테스트를 먼저 작성하고, 페어 프로그래밍으로 두 명의 개발자가 하나의 컴퓨터로 같이 개발한다.

 

스크럼 / 칸반

공통점

제품의 백로그(해야할 일)를 나누어 반복적으로 수행한다. 

 

차이점

스크럼은 스프린트를 1~4주 단위의 시간으로 설정한다.

칸반은 WIP(work in progress = 진행 중인 일)을 3개 이하로 제약하여 하고있는 일을 스프린트로 설정한다.