1. 애자일 모델 개념
- 소프트웨어 개발과정에서 지속적으로 발생하는 변경에 유연하고 기민하게 대응하여 생산성과 품질향상을 목표로 하는 협력적인 모델
※ 애자일(Agile)
- 사람(고객 소통, 고객 협업)이 중심이 되어 전체 개발 단계에서 변화에 대한 신속히 대응할 수 있도록 일정 주기를 반복하여 좋은 결과를 빠르고 낭비없게 만들기 위한 방법론
- 급변하는 요구사항에 적합
- 소규모 프로젝트에 적합
- 숙련된 개발자 필요
- 폭포수 모델은 계획 중심
2. 애자일 방법론
1) 스크럼(Scrum)
매일 정해진 시간에 정해진 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 중심의 방법론.
1~4주의 짧은 개발 기간으로 분리하여 반복적으로 수행하는 스프린트(Sprint)를 중심으로 진행한다.
2) 스크럼 팀 구성원
- 제품책임자(개발의뢰자, 사용자)
ㄴ 제품 기능목록에 해당하는 제품 백로그를 만들고, 우선순위를 조정하거나 새로운 항목을 추가하는 일을 관리한다.
ㄴ 스프린트에 대한 계획을 수립할 때 까지만 관여하고 이후에는 팀 운영에 관여하지 않는 것이 좋다.
※ 제품 백로그 : 이해관계자가 요구하는 제품이 제공해야하는 기능이나 요구사항 목록
- 스크럼 마스터(개발팀장)
ㄴ 문제해결, 방해요소 제거, 스크럼의 원칙과 가치를 지키면서 개발 진행이 가능하도록 지원한다. (팀의 가이드 역할)
- 스크럼 팀(개발팀)
ㄴ 5~9명으로 구성됨
ㄴ 하나의 스프린트 동안 구현해야할 기능들을 사용자 스토리로 도출하고 구현한다.
※ 사용자 스토리 : 최종 사용자 입장에서 무엇이 필요하고, 그것이 왜 필요한지 설명한 것
3) 스크럼 개발 프로세스
순서
- 제품 백로그 작성 → 스프린트 계획 회의 → 스프린트 수행 → 일일 스크럼 회의 → 리뷰(검토) → 회고
- 스프린트 계획
ㄴ 각 스프린트에 대한 목표를 세우고 제품 백로그로부터 스프린트에 진행할 항목을 선택한다.
ㄴ 항목별 담당자가 배정되고, 테스크(Task, 작업) 단위로 계획을 수립한다.
- 일일 스크럼
ㄴ 매일 진행하는 15분간의 프로젝트 진행 상황을 공유하는 회의.
ㄴ 모든 팀원이 참석하여 매일매일 각자의 일, 문제점을 공유한다.
- 스프린트 리뷰
ㄴ 스프린트 목표를 달성했는지, 작업 진행과 결과물을 확인하는 회의.
ㄴ 스프린트 동안 진행된 모든 작업에 대한 데모를 진행한다.
- 스프린트 회고
ㄴ 스크럼 마스터가 스프린트 동안 잘된 점, 아쉬운 점, 개선할 사항들을 찾기 위한 회고를 진행한다.
3가지 산출물
- 제품 백로그
ㄴ 제품에 담고자하는 기능의 우선순위를 정리한 목록
- 스프린트 백로그
ㄴ 하나의 스프린트 동안 개발할 목록으로 사용자의 스토리와 이를 완료하기 위한 작업을 테스크로 정의.
ㄴ 각각의 테스크의 크기는 시간 단위로 추정한다.
- 소멸차트
ㄴ 개발을 완료하기까지 남은 작업량을 보여주는 그래프.
ㄴ 각 주기 별로 남아있는 작업량을 스토리 포인트라는 것으로 나타낸다.
※ 스토리 포인트 : 개발에 소요되는 시간, 복잡도 등을 고려하여 추상적인 개념으로 변환한 단위
4) 익스트림 프로그래밍(XP : eXtreme Programing)
- 고객과 함께 2주 정도의 반복 개발로 고객 만족을 강조하고 테스트와 우선 개발을 중시.
- 짧고 반복적인 주기, 단순한 설계, 고객의 적극적인 참여를 추구.
※ XP의 5가지 핵심가치 : 의사소통, 단순성, 피드백, 용기, 존경
5) 린(Lean) 소프트웨어 개발 방법론
- 도요타의 생산방식을 소프트웨어 개발론에 적용
- 구체적인 개발 프로세스가 아닌 철학적인 접근
- 낭비를 줄이는 방법론
※ Lean의 7가지 원칙
- 낭비 제거 : 80%의 가치를 제공하는 20%의 기능 구현에 모든 초점을 맞추어 집중하고 낭비되는 요소 제거
- 품질 내재화 : 개발 중 검증단계에 이르러서야 결함을 발견한다면 그 프로세스는 결함이 있는 것이다.
- 내재 : 어떤 현상이나 성질 따위가 일정한 사물이나 범위안에 들어 있음
- 지식 창출 : 과학적 방법 사용, 모든 사람들이 따라하고 잘 알려진 실천법을 표준에 포함하되, 누구든지 표준에 도전하고 변경하도록 장려.
- 늦은 확정 : 마지막까지 변화를 수용할 수 있도록 코드 작성.
- 빠른 인도 : 신속한 배포, 고품질, 저비용은 동시에 가능하다.
- 사람 존중 : 효과적인 리더쉽을 제공하고 팀은 자부심, 책임감, 신뢰, 칭찬을 통해 번성한다.
- 전체 최적화 : 고객요구에서 SW 배포까지 전체 가치흐름에 초점을 맞춘다.
※ 폭포수 방법론과 애자일 방법론의 비교
'정보처리기사 > 실기' 카테고리의 다른 글
모델링 #2 (비용산정) (0) | 2024.01.15 |
---|---|
모델링 #1 (분석모델) (0) | 2024.01.15 |
소프트웨어 생명 주기 #1 (폭포수, 프로토타입, 나선형, 반복 점증적, RAD 모델) (1) | 2024.01.08 |
현행 시스템 분석 - 네트워크, DBMS (0) | 2024.01.02 |
현행 시스템 분석 - 운영체제(OS : Operation System) (1) | 2023.12.01 |