[정처기 필기] 애자일 개발 방법론 종류, XP, SCRUM
by 볼빵빵오춘기애자일(Agile) 방법론
개념
요구사항부터 시작해서 설계, 구현, 테스트를 거치면서 완벽한 SW가 개발될 때 까지 지속적으로, 중간중간 요구사항이 변경되더라도 설계, 구현, 테스트에 계속 반영하여 최종 결과에 점점 가깝게 다가가며 완성에 이르는 개발 방법
특징
- 날렵한, 재빠른 이란 사전적 의미와 같이 SW 개발 중 설계 변경에 신속히 대응하여 요구사항을 수용할 수 있다.
- 절차와 도구보다 개인과 소통을 중요시하고 고객과의 피드백을 중요하게 생각한다.
- SW가 잘 실행되는데 가치를 둔다.
- SW 배포 시차를 최소화할 수 있다.
- 특정 방법론이 아닌 SW를 빠르고 낭비 없이 제작하기 위해 고객과의 협업에 초점을 두고 있다.
- 짧은 릴리즈와 반복
- 점증적 설계
- 사용자 참여
- 문서 최소화
- 비공식적인 커뮤니케이션 변화
애자일 개발 방법론(종류)
- 익스트림프로그래밍(XP, eXtreme Programming)
- 개발 단계 중 요구사항이 시시각각 변동이 심한 경우 적합한 방법론으로 테스트 우선 개발(TDD)을 특징으로 하는 명시적인 기술과 방법을 가지고 있다.
- 스크럼(SCRUM)
- 매일 정해진 시간에 정해진 장소에서 짧은 시간의 개발을 하는 팀을 위한, 프로젝트 관리 중심의 방법론이다.
- 크리스털 패밀리
- 애자일 개발 방법론 중 가장 소규모 팀에 적용하는 크리스털 클리어는 익스트림 프로그래밍만큼 엄격하지도 않고 효율도 높지 않지만, 프로젝트에 적용하기 쉬운 방법론이다.
- FDD(Feature Driven Develompment, 기능 중심 개발)
- Feature마다 2주 정도의 반복 개발을 하는 것으로 Peter Coad가 제창하는 방법론이다.
- ASD(Adaptive Software Development)
- SW 개발을 혼란 자체로 규정하고, 혼란을 대전제로 그에 적응 할 수 있는 SW방법을 제시하기 위해 만들어진 방법론이다.
- 나선형 모델
- 위험 분석에 중점을 두어 프로토타입을 발전시키는 진화적 프로토타입 모델의 대표적인 모델 방식이다.
- 린(Lean), DSDMD(Dynamic System Development Method, 동적 시스템 개발 방법론) 등
XP(eXtreame Programming)
- 1999년 Kent Beck이 제안하였으며, 개발 단계 중 요구사항이 시시각각 변동이 심한 경우 적합한 방법론이다.
- 요구에 맞는 양질의 SW를 신속하게 제공하는 것을 목표로 한다.
- 요구사항을 모두 정의해 놓고 작업을 진행하는 것이 아니라 요구사항이 변경되는 것을 적용하는 방식으로 예측성보다는 적응성에 더 높은 가치를 부여한 방법이다.
- 요구사항을 모두 정의해 놓고 진행을 진행하는 것이 아니라 요구사항이 변경되는 것을 적용하는 방식으로 예측성보다는 적응성에 더 높은 가치를 부여한 방법이다.
- 고객의 참여와 개발 과정의 반복을 극대화하여 생산성을 향상시키는 방법이다.
XP 핵심 가치
- 소통(Communtication) : 개발자, 관리자, 고객 간의 원활한 소통을 지향한다.
- 단순성(Simplicity) : 부가적 기능 또는 미사용 구조와 알고리즘은 배제한다.
- Feedback : 소프트웨어 개발에서 변화는 불가피하다. 이러한 변화는 지속적 테스트와 통합, 반복적 결함 수정 등을 빠르게 피드백한다.
- 용기(Courage) : 고객 요구사항 변화에 능동적으로 대응한다.
- 존중(Respect) : 개발 팀원 간의 상호 존중을 기본으로 한다.
SCRUM 개념과 특징
- 요구사항 변경에 신속하게 대처할 수 있도록 반복적이고 점진적인 소규모 팀원 간 활발한 소통과 협동심이 필요한 팀 중심의 SW 개발 방법론이다.
- 신속하게 반복적으로 실제 작동하는 SW를 제공한다.
- 개발자들의 팀 구성과 각 구성원의 역할, 일정 결과물 및 그 외 규칙을 정하는 것을 말한다.
- 기능 개선점에 우선순위를 부여하고, 개발 주기 동안 실제 동작 가능한 결과를 제공한다.
- 커뮤니케이션을 위하여 팀은 개방된 공간에서 개발하고, 매일 15분 정도 회의를 한다.
- 팀원 스스로 팀을 구성해야한다.(Self Organizing)
- 개발 작업에 관한 모든 것을 팀원 스스로 해결해야 한다.(Cross Functional)
SCRUM 기본 원리
- 기능 협업을 기준으로 배치된 팀은 스프린트 단위로 SW를 개발한다.
- 스프린트는 고정된 30일의 반복이며, 스프린트시행하는 작업은 고정된다.
- 요구사항, 아키텍처, 설계가 프로젝트 전반에 걸쳐 잘 드러나야 한다.
- 정해진 시간을 철처히 지켜야 하며, 완료된 모든 작업은 제품 백로그에 기록된다.
- 가장 기본적인 정보 교환 수단은 일일 스탠드 업 미팅, 또는 일일 스크럼이다.
'📚 자격증 > 정처기' 카테고리의 다른 글
[정처기 필기] 개념 모델링, UML, 유스케이스, 럼바우 기 (0) | 2023.07.11 |
---|---|
[정처기 필기] EAI, FEP, DBMS 분석 시 고려사항, 요구사항 분석/검증방법 (0) | 2023.07.11 |
[정처기 필기] 디자인 패턴 (0) | 2023.07.11 |
[정처기 필기] 재공학, 리팩토링, CASE, 공통 모듈 명세 작성원칙 (0) | 2023.07.10 |
정보처리기사 필기 실기 자격요건 시험과목 (0) | 2023.07.10 |
블로그의 정보
Hello 춘기's world
볼빵빵오춘기