* 소프트웨어 개발 방법론
1. 애자일 (Agile)
- 전체 개발 단계에서 변화에 대한 신속한 대응으로 요구사항 지속적으로 분석, 반영하여 배포 시간차 최소화
- SW 개발 방법에 있어 아무런 계획 없는 개발 방법과 계획이 지나치게 많은 개발 방법들 사이에서 타협점 찾고자 함
▶ 애자일 선언문 (Agile Manifesto)
- 공정과 도구보다 개인과 상호작용
- 포괄적인 문서보다 작동하는 소프트웨어
- 계햑 협상보다 고객과의 협력
- 계획을 따르기보다 변화에 대응하기
▶ 애자일 방법론 종류
▷ XP (eXtreme Programming)
- 의사소통 개선과 즉각적인 피드백에 의한 단순한 코딩으로 SW 품질 높이기 위한 방법론
- 1~3주 반복 (iteration)
- 5가지 가치 : 용기, 단순성, 의사소통, 피드백, 존경
- 12개 실천항목
▷ SCRUM (스크럼)
- 매일 정해진 시간, 장소에서 짧은 시간 개발 하는 팀을 위한 프로젝트 관리 중심 방법론
- 30일마다 동작 가능한 제품 제공하는 스프린트(Sprint) 중심으로 진행
- 백로그(backlog) : 제품과 프로젝트에 대한 요구사항
- 스프린트(sprint) : 30일 단위 짧은 개발기간으로 분리하여 반복적 수행
- 스크럼 미팅 : 매일 스크럼(15분 정도) 미팅으로 오늘과 내일의 해야 할 일 계획 수립
- 스크럼 마스터 : 프로젝트 리더, 스크럼 수행 시 문제 인지 및 해결하려고 노력하는 사람
▷ Lean (린)
- TPS(Toyota Production System) 재정립한 경영방법론인 린 시스템 품질 기법을 SW 개발에 적용
- 7가지 원칙 : 낭비제거, 품질 내재화, 지식 창출, 늦은 확정, 빠른 인도, 사람 존중, 전체 최적화
▷ Kanban (칸반)
- Workflow 가시화하고 작업 중인 항목 제한 및 작업 소요시간 측정 가능한 작업 지시서를 SW 개발에 적용
▶ 스크럼 특징
- 협업 중심
- Sprint 수행 : 통상 30 단위 Iteration 주기
- Daily Meeting : 매일 15분 정도
- 프로젝트 관리 강조
- 포괄적 정의 및 포용
▶ 스크럼 구성 요소
▷ Sprint
- Iteration 주기 (30일)
▷ Product Backlog
- 제품 요구사항 목록
▷ Sprint Backlog
- 해당 Sprint 기간에 수행할 Task 목록
▷ Daily Scrum Meeting
- 매일 15분 정도 계획, 실정, Rist 공유, Scrum Master가 주관
▷ Review
- Sprint가 완료 시 고객 검토, Feedback 받아 다음 Product Backlog에 update
▷ Retrospective(회고)
- Sprint 완료 후 Scrum 책임자, 팀원 간 내부 회의, 개선할 점 도출하고 반영
▶ 스크럼 구성원별 역할
▷ Product owner
- 요구사항 정의하고, Product Backlog 업데이트
▷ Team
- Product Backlog 구현
▷ Scrum Master
- 3자의 입장에서 Product owner와 Team이 Scrum 방법론 제대로 수행할 수 있도록 지원
▶ Product Backlog 주요 항목
- ID, 이름, 중요도/우선순위, 추정치, 데모방식, 참고
▶ 애자일과 전통 방법론 비교
항목 | Agile 방법론 | 전통적 방법론 |
요구사항의 베이스라인 |
프로젝트 전 과정에 걸쳐 진화하는 요구사항 | 초기 요구사항에 대한 Baseline 설정 |
아키텍처 정의 방법 |
실제 기능 구현 통해 빠른 시간 내 아키텍처 실현 가능성 증명해 보이고자 함 | 모델과 사양을 보다 상세화하는 과정 통해 App 과 데이터 아키텍처를 초기에 정의하고자 함 |
테스트 방법 | 빈번한 '개발-테스트' 주기 통해 많은 시간과 비용 투입되기 전 기능 검증 | 특정 기능 구현된 이후 '단위-통합-시스템' 테스트로 확장해 나가는 방식 |
표준 프로세스 적용 |
잦은 Inspection 토대로 프로세스 유연하게 개발에 적용 | 개발 착수 전에 표준화된 프로세스 제정 중요 |
릴리즈 | 빠른 릴리즈 | BigBang 릴리즈 |
중심 사상 | 학습 중심 | 계획 중심 |
'정보처리기사 > 필기' 카테고리의 다른 글
[정보처리기사] Part01-01-3. 분석모델 확인 (2) (0) | 2022.02.24 |
---|---|
[정보처리기사] Part01-01-3. 분석모델 확인 (1) (0) | 2022.02.24 |
[정보처리기사] Part01-01-2. 요구사항 확인 (1) (0) | 2022.02.24 |
[정보처리기사] Part01-01-1. 현행 시스템 분석 (0) | 2022.02.21 |
[정보처리기사] Part05-01-1. 소프트웨어 개발방법론 선정 (1) (0) | 2022.02.16 |
댓글