I. 작동하는 소프트웨어 중심, 애자일 방법론의 개요
가. 애자일(Agile) 방법론의 정의
- 절차와 산출물 보다는 소프트웨어 중심으로 요구사항 변화에 유연, 신속하게 대응하여 효율적으로 개발할 수 있는 방법론
- 고객과 협업, 실행가능 SW, 환경과 고객 변화 대응의 가치를 강조하는 애자일 방법론 선언문
- (The Manifesto for Agile Software Development)
- 전통적인 모델은 산출물 위주의 거대하고 무거운 방법론에 해당한다. 이러한 방법론은 요구 사항의 변화에 유연하게 대처하기 어렵다는 큰 문제점
나. 애자일 방법론의 등장배경
등장배경 |
설명 |
S/W 개발환경의 변화 |
적시성(Time-to-Market)과 적시 배포(Release)의 중요성 증대 |
기존 개발방법론의 한계 |
문서위주, 절차중심의 기계적인 방법론으로 변화에 대응 곤란 |
II. 애자일 방법론의 개념도 및 원칙
가. 애자일 방법론 개념도
- 요구사항 변화를 신속하게 적용하여 적시 배포가 가능하도록 개발
나. 애자일의 선언문 (4문장)
기본가치 |
설명 |
작동하는 SW |
- 포괄적인 문사보다는 작동하는 SW를 중시 - 여러 문서보단 실제 작동하는 SW을 통한 소통 중시 |
고객 협력 |
- 계약협상보다 고객과의 협력을 중시 - 고객과의 협력을 통한 정확한 요구 사항 도출 중시 |
개인과 상호작용 |
- 공정과 도구보다는 개인과 상호작용을 중시 - 팀워크와 상호 작용을 통한 유기적인 업무 진행 중시 |
변화에 대응 |
- 계획을 따르기 보단 변화에 대응하는 것을 중시 - 일정 완료 보단 고객의 요구 사항 충족을 통한 고객만족 중시 |
다. 애자일의 12개 원칙
번호 |
12가지 원칙 |
핵심요소 |
설명 |
1 |
고객만족 추구 |
고객 최우선 중시 |
- 빠른 배포와 피드백 반영, 고객의 만족도 향상 |
2 |
요구 변경 적극 수용 |
요구 변경 상황 인정 |
- 고객 요구 변경 인정 및 대응을 위한 유연성 |
3 |
짧은 배포 간격 |
CI/CD 활용 |
- 도구 등을 통해 빠른 배포, 고객 피드백 반영 |
4 |
현업-개발자간 일일 의사소통 |
소통 중시 |
- 담당자와 개발자 간의 소통을 통한 업무 효율화 |
5 |
동기부여된 사람들 중용/지원 |
상호 존중 문화 |
- 동기 부여된 팀원을 중용 및 환경 지원 |
6 |
면대면 대화 |
의사소통의 효율화 |
- Daily Meeting등을 통한 면대면 대화 |
7 |
지속 가능한 개발 장려 |
일정한 속도 유지 |
- 지속 가능한 개발 및 프로젝트 진행 장려 |
8 |
작동하는 소프트웨어 |
진척도로 SW중시 |
- 직접 SW의 기능/비기능적 요소 및 진행관리 |
9 |
좋은 기술, 설계 관심 |
복잡성 줄이기 위한 기술 우수성 중시 |
- 우수한 기술, 아키텍처 중시 및 공유 |
10 |
단순성 추구 |
일정/진행사항 단순화 및 시간 절약 |
- 목표 업무와 연관 없는 일들을 최소화 |
11 |
자기 조직적 팀 |
조직 생산성 증대 |
- 책임감 부여, 생산성 증대위한 자기조직적 팀 |
12 |
정기적 효율성 제고 |
업무 효율성 증대 |
- 스프린트 리뷰를 통해 다음 스프린트에 반영 할 수 있는 요소 적용 |
'정보관리기술사&컴퓨터응용시스템기술사 > SW공학과 프로젝트관리' 카테고리의 다른 글
[객체지향 프로그래밍(OOP)], 재사용성과 객체 표현 기법 (0) | 2021.01.09 |
---|---|
[객체지향 설계 5원칙] 유지보수와 확장에 용이한 시스템을 위한 원칙 (0) | 2021.01.06 |
나선형 모델(Spiral Model), 위험 최소화를 위한 진화적 프로토타이핑 (0) | 2020.12.30 |
프로토타이핑 모델(Prototyping Model), 고객의 원활한 의사소통을 위한 시제품을 통한 점진적 개발 방법 (0) | 2020.12.22 |
[CBD(Component Based Development)], 제품생산성과 품질향상을 위한 방법론 (0) | 2020.12.22 |
댓글