애자일 방법론(Agile Methodology)

곽태민·2023년 5월 4일
0

TIL

목록 보기
22/63

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


소프트웨어 개발 방법론 중 하나로 반복적이고 점직전인 개발 방법을 통해서 개발을 진행하는 것을 의미한다. 개발 초기에 고객의 요구 사항을 반영해서 빠르게 개발하고 그 과정에서 지속적으로 피드백을 받아 개발을 진행한다.

각 단계는 계획 및 분석 -> 설계 -> 개발 -> 테스트 단계를 작은 단위의 사이클로 분리하고 사이클이 종료가 되면 다음 사이클로 반복적으로 진행한다.

애자일 방법론(Agile Agile Methodology) 종류


애자일 방법론 종류는 대표적으로 칸반(Kanban), 스크럼(Scrum), 익스트림 프로그래밍(Extreme Programming, XP)이 존재한다.

칸반 (Kanban)

칸반은 애자일 소프트웨어 개발 방법론 중 하나로 개발 과정에서 사용되는 시각적인 작업 관리 도구다. 개발 과정에서 발생하는 작업들이 카드 형태로 시작적으로 표시되고, 작업의 진행 상황을 실시간으로 파악할 수 있다는 특징이 있다.

각 작업이 어떤 상태인지 파악하기 쉽기 때문에, 개발 과정에서 일어나는 문제를 빠르게 파악하여 대처할 수 있다. 칸반은 칸반 보드로 물리적 보드, 디지털 보드를 이용하여 운영한다.

물리적 보드 : 화이트보드 내의 구성
디지털 보드 : JIRA, Trello, Redmine 등

스크럼 (Scrum)

스크럼은 프로젝트 진행하는데 있어서 유연성과 적응성을 강조하는 방법론으로 작은 팀으로 구성되어 각 팀원이 적극적으로 참여하여 프로젝트를 진행하는 방식을 취한다.

개발 주기를 일정 기간으로 나눠서 각 주기마다 일정한 목표를 설정하고, 그 목표를 달성할 수 있도록 팀원들이 협력하여 일하는 방식을 취한다.

이러한 방식으로 작업을 진행하면서 문제가 발생하면 팀원들끼리 빠르게 의사소통을 통해서 문제를 해결하는 것이 스크럼의 핵심이다.

스크럼의 수행과정

  1. 스크럼에서는 일정 기간동안 (보통 1 ~ 4주) 프로젝트를 진행하는 스프린트라는 주기를 사용한다.
  2. 각 스프린트마다 목표 설정하고 해당 목표를 달성하기 위해서 필요한 작업을 백로그에서 우선순위에 따라 선정하여 진행한다.
  3. 스프린트 중 매일 스탠드업 미팅을 진행하여 진행 상황과 문제를 공유한다.
  4. 스프린트 종료 후 해당 스프린트에서 개발한 제품의 작동 여부를 검증한다.

이러한 과정을 반족하여 제품을 완성해 나간다.

익스트림 프로그래밍 (Extreme Programming, XP)

익스트림 프로그래밍은 개발자 중심의 방법론으로, 고객과 개발자가 함께 일하며 고객이 원하는 기능을 우선순위에 따라서 작은 단위로 나누어 개발한다. 이를 통해서 고객의 요구사항을 빠르게 반영하고 문제 발생 시 빠르게 대처할 수 있다.

기존의 전통적인 소프트웨어 개발 방법론과는 다르게 빠르고 유연한 반복 개발 방식을 중심으로 한다. 익스트림 프로그래밍은 페어프로그래밍, 단순 설계, 테스트 주도 개발, 지속적인 통합, 적극적인 리팩토링을 통해서 높은 소프트웨어 품질을 만든다.

profile
Node.js 백엔드 개발자입니다!

0개의 댓글