-
[개발지식] 애자일 방법론개발지식 2022. 3. 15. 18:34
애자일 방법론?
- 기민한, 날렵한이라는 뜻으로 좋은 것을 빠르게 취하고, 낭비 없게 만드는 다양한 방법론을 통칭해서 일컫는 말이다.
- 앞을 예측하여 개발하지 않고, 일정한 주기를 가지고 계속 검토해 나가며 필요할 때마다 요구사항을 더하고 수정하여 커다랗게 살을 붙히며 개발해 프로세스 모델 방식이다.
미리 정해진 몇 개의 단계에 따라서 엄격한 순서대로 이루어지는 일직선의 과정인 폭포수의 프로세스와 반대되는 개념이다.
애자일 방법론 진행 과정
- 계획 -> 설계(디자인) -> 개발(발전) -> 테스트 -> 검토(피드백) 순으로 반복적으로 진행된다.
- 계획을 세운 후 다음 단계까지 기다려서 절차대로 진행하는 폭포수 모델과 다르게 진행 후 분석, 시험, 피드백을 통해 개선해 나가는 진행 모델이다.
- 계획 및 분석: 고객과 사용자가 원하는 바를 파악하여 타당성을 조사하고, SW 기능과 제약조건을 정의하는 명세서 작성, 대상이 되는 문제 영역과 사용자가 원하는 task를 이해하는 단계
- 설계(디자인): 기획의도에 맞는 설계 및 디자인 추가 혹은 수정하는 단계
- 개발(발전): 설계단계에서 만들어진 설계서를 바탕으로 프로그램을 작성, 코딩, 디버깅, 단위/통합테스트 수행
- 테스트: 발생 가능한 실행 프로그램 오류를 발견 및 수정하는 단계
- 검토(피드백): 기획의도를 파악하고 시험결과와 기획의 따라 수정할 부분을 제시하는 단계
애자일 방법론 특징
- 고객과 개발자의 지속적인 소통을 통해 변화하는 요구사항을 신속하게 수용한다.
- 개발자 개인의 가치보다는 팀의 목적을 우선시하며 고객의 의견을 가장 우선시한다.
- 팀원들과의 주기적인 회의 및 제품 시현을 통한 방지를 점검한다.
- 진행하면서 프로그램을 시행해보고 고객으로부터 피드백을 받는다.
- 내부 구조 형성을 통한 비용 절감에 힘쓰는 동시에 프로그램 품질 향상을 위해서 노력한다.
애자일 방법로 장점과 단점
장점
- 프로젝트 계획에 걸리는 시간을 최소화할 수 있다.
- 점진적으로 테스트할 수 있어서 버그를 쉽고 빠르게 발견할 수 있다.
- 계획 혹은 기능에 대한 수정과 변경에 유연하다.
- 고객 요구사항에 대한 즉각적인 피드백에 유연하며 프로토타입 모델을 빠르게 출시할 수 있다.
- 빠듯한 기한의 프로젝트를 빠르게 출시할 수 있다.
단점
- 확정되지 않은 계획 및 요구사항으로 인한 반복적인 유지보수 작업이 많다.
- 고객의 요구사항 및 계획이 크게 변동될 경우에는 모델이 무너질 수 있다.
- 개인이 아닌 팀이 중심이 되다 보니 공통으로 해야 할 작업들이 많을 수 있다. (회의, 로그 등)
- 반복적인 업무로 속도는 빠를 수 있으나 미흡한 기능들에 대한 대처가 필요하다.
- 확정되지 않은 계획으로 개발 진행 시 이해하지 못하고 진행하는 부분이 많을 수 있다.
'개발지식' 카테고리의 다른 글
[개발지식] 서버 스케일링 (0) 2022.03.23 [개발지식] 애자일 방법론 - 스크럼(Scrum) (0) 2022.03.15 [개발지식] AWS EC2 배포하기 (mongoDB) (0) 2022.03.15 [개발지식] 자주 쓰이는 리눅스 명령어 (0) 2022.03.15 깊이 우선 탐색 (DFS), 너비 우선 탐색 (BFS) (0) 2022.03.14