본문 바로가기
programming_kr/other

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

by JSsunday 2022. 8. 11.
728x90

 

  • 애자일(Agile) 방법론은 구체적인 개발 프로세스가 아닌 개발 지침, 철학에 가깝습니다.
  • 변화를 수용하고 협업과 제품의 빠른 인도를 강조하는 반복적 개발 방법입니다.
  • 문서화보다 코드, 프로그램, 소프트웨어 자체를 중요시 합니다.
  • 요구사항의 변화는 불가피하며 이에 대응하는 것이 현실적입니다.
  • 기존의 개발 프로세스는 설계 기간이 길며, 재 작업시 오버헤드가 큽니다.
  • 환경의 빠른 변화에 대응하는 것이 중요합니다.

 

애자일 방법론의 종류

  • 익스트림 프로그래밍(Extreme Programming, XP)
  • 짝 프로그래밍(Pair Programming)
  • 테스트 주도 개발(Test Driven Development, TDD)
  • 스크럼(Scrum)

 

애자일 방법론의 진행 과정

  • 계획 및 분석 : 고객과 사용자가 원하는 바를 파악하여 타당성을 조사하고 SW 기능과 제약조건을 정의하는 명세서 작성, 대상이 되는 문제 영역과 사용자가 원하는 task를 이해하는 단계
  • 설계(디자인) : 기획의도에 맞는 설계 및 디자인 추가 및 수정하는 단계
  • 개발(발전) : 설계단계에서 만들어진 설계서를 바탕으로 프로그램을 작성, 코딩, 디버깅, 단위/통합테스트 수행
  • 테스트 : 발생 가능한 실행 프로그램 오류를 발견, 수정하는 단계
  • 검토(피드백) : 기획의도를 파악하고 시험결과와 기획의 따라 수정할 부분을 제시하는 단계

 

애자일 방법론의 특징

  • 고객과 개발자의 지속적인 소통을 통하여 변화하는 요구사항을 신속하게 수용한다.
  • 개발자 개인의 가치보다는 팀의 목적을 우선시하며 고객의 의견을 가장 우선시한다.
  • 팀원들과의 주기적인 회의 및 제품 시현을 통한 방지를 점검한다.
  • 진행하면서 프로그램을 시행해보고 고객으로부터 피드백을 받는다.
  • 내부 구조 형성을 통한 비용절감에 힘쓰는 동시에 프로그램 품질 향상을 위해 노력한다.

 

애자일 방법론의 장점, 단점

장점

  • 프로젝트 계획에 걸리는 시간을 최소화할 수 있다.
  • 점진적으로 테스트할 수 있어서 버그를 쉽고 빠르게 발견할 수 있다.
  • 계획 혹은 기능에 대한 수정과 변경에 유연하다.
  • 고객 요구사항에 대한 즉각적인 피드백에 유연하며 프로토타입 모델을 빠르게 출시할 수 있다.
  • 빠듯한 기한의 프로젝트를 빠르게 출시할 수 있다.

단점

  • 확정되지 않은 계획 및 요구사항으로 인한 반복적인 유지보수 작업이 많다.
  • 고객의 요구사항 및 계획이 크게 변경될 경우 모델이 무너질 수 있다.
  • 개인이 아닌 팀이 중심이 되다 보니 공통으로 해야 할 작업들이 많을 수 있다. (회의, 로그 등)
  • 반복적인 업무로 속도는 빠를 수 있으나 미흡한 기능들에 대한 대처가 필요하다.
  • 확정되지 않은 계획으로 개발 진행 시 이해하지 못하고 진행하는 부분이 많을 수 있다.

 

애자일 방법론의 Scrum

스크럼(Scrum)은 프로젝트 관리를 위한 상호, 점진적 개발방법론이며, 뚱딴지일 방법론의 중심이 될 수 있는 효율적인 협업 방법이다.

스크럼(Scrum)은 고객의 요구사항을 충족시키는 데 초점을 맞추기 위해, 목표를 짧은 주기로 점진적이며 경험적으로 시스템을 지속해서 개발(전달)하는 관리 프레임워크(기법)이며 소프트웨어 개발 프로젝트를 뿐만 아니라 소프트웨어 유지보수 팀이나 일반적인 프로젝트 관리에서도 적용될 수 있다.


참조1
참조2

 

728x90

'programming_kr > other' 카테고리의 다른 글

OAUTH 2.0 이란?  (0) 2022.10.22
REST API란?  (0) 2022.09.03
DevOps란?  (0) 2022.08.08
public cloud란?  (0) 2022.08.05
vscode tomcat war 배포하기  (1) 2022.07.21

댓글