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 |
댓글