Home [소프트웨어공학] 애자일 방법론
Post
Cancel

[소프트웨어공학] 애자일 방법론

애자일이란?


애자일‘날렵한’, ‘기민한’이라는 뜻으로 소프트웨어 개발 방법론 중 하나이다. 작업 계획을 짧은 단위로 세우고 제품을 만들고 고쳐 나가는 사이클을 반복함으로써 고객의 요구 변화유연하고도 신속하게 대응하는 개발 방법론이다. 애자일을 더 알아보기 위해 폭포수 모델 방법론과 비교하여 알아보자.

폭포수 모델 방법론(Waterfall Methodology)


Untitled.png

위의 사진과 같이 폭포수 모델요구사항 분석- 설계 - 구현 - 테스트 - 유지보수의 단계를 거쳐 개발하는 방식이다. 이 방식의 문제점은 각 단계가 종료된 후에만 다음 단계로 넘어갈 수 있다는 것이다. 소프트웨어 개발에 있어 고객의 모든 요구사항이 완벽하게 수집된다면 문제가 되진 않지만 이 가정은 매우 비현실적이다.

이러한 문제점으로 애자일 방법론이 대두 되었다.

애자일 방법론(Agile Methodology)


Untitled.png

애자일 방법론은 하나의 사이클안에 분석 - 설계 - 테스트 - 구현을 두어 주기를 돌게 한 후 여러번 반복하는 방식이다. 이러한 반복적이고 점진적인 개발 방식을 통해 사이클마다 피드백을 받고 요구사항들을 쉽게 수용할 수 있는 유연한 개발방법이다. 이 개발방법을 이용해 많은 종류의 방법론이 나오게 되고 그 중 대표적인 스크럼에 대해 알아보자.

스크럼(Scrum)


스크럼은 애자일 방법론 중 하나이며 비즈니스 요구를 충족시키는데 초점을 맞추기 위해, 작은 목표를 짧은 주기로 점진적이며 경험적으로 제품을 지속적으로 개발하는것에 목표를 가지고 있다.

Untitled.png

위의 사진은 스크럼 프로세스를 나타내고 스크럼 프로세스 동안 계획회의, 일일 스크럼 등 여러 단계를 수행하며 주요 용어는 아래와 같다.

  • 제품 백로그(Product Backlog) : 개발할 제품의 요구사항인 사용자 스토리 집합이며, 우선순위로 관리.
  • 스프린트(Sprint) : 계획,개발,리뷰 작업 등 최소 단위의 Cycle이다.
  • 스프린트 계획 회의(Sprint Planning Meeting) : 스프린트 목표와 스프린트 백로그를 계획하는 회의.
  • 스프린트 백로그(Sprint Backlog) : 각각의 스프린트 목표에 도달하기 위해 필요한 작업 목록.
  • 일일 스크럼(Daily Scrum) : 매일 어제 한일, 오늘 할일, 해결해야 할 장애/문제 요소를 공유하는 회의(매일 15분 정도 수행)
  • 스프린트 리뷰(Sprint Review) : 스프린트 마지막날 개발자가 개발한 내용을 Stakeholder, 고객, 제품 책임자에게 시연하고 검토.
  • 스프린트 회고(Sprint Retrospective) : 스프린트 마지막날 좋았던 점, 개선할 점을 도출하고 더 나은 방향으로 개선.

이러한 유연하고 효율적인 개발을 할 수 있도록 만드는 애자일 방법론은 고객의 요구사항을 한 주기마다 파악할 수 있고, 피드백을 받을 수 있다는 점에서 소프트웨어의 품질을 지속적으로 개선할 수 있게 된다.