애자일(Agile) 방법론이란?
: 소프트웨어 개발 방법론의 하나로서 개발과 함께 즉시 피드백을 받아서 유동적으로 개발하는 방법
애자일 방법론 등장 배경
- 소프트웨어 개발 환경의 변화
: 소프트웨어 개발 트렌드가 모바일 환경으로 변화
: 시장 적시성과 잦은 배포의 중요성 부각
- 기존 개발방법론의 한계
: 전통적 방법론은 문서 및 절차 위주의 변화에 신속한 대응이 어려움
: 빠르게 적용하고 효율적으로 개발할 수 있는 방법론의 필요성이 증가
애자일 방법론 특징
1) 프로젝트 요구사항은 기능 중심으로 정의 >> 동작하는 소프트웨어
2) 절차와 도구보다 개인과 소통을 중요하게 생각 >> 개인과 상호작용
3) 작업 계획을 짧게 세워 요구 변화에 유연하고 신속하게 대응 >> 변화에 대응
4) 소프트웨어가 잘 실행되는데 가치를 둚
5) 고객과의 피드백을 중요하게 생각 >> 고객과의 협력
애자일 선언문
: 애자일 방법론 실천을 위한 주요 원칙
1) 공정과 도구보다 개인과 상호 작용
2) 계획을 따르기보다 변화에 대응하기
3) 포괄적인 문서보다 동작하는 소프트웨어
4) 계약 협상보다 고객과의 협력
애자일 방법론 유형
1) XP(eXtreme Projtramming)
2023.08.14 - [학습 기록/정보처리기사] - [1. 소프트웨어 개발] XP(eXtreme Programming)
[1. 소프트웨어 개발] XP(eXtreme Programming)
XP(eXtreme Programming)이란? : 의사소통 개선과 즉각적 피드백으로 소프트웨어 품질을 높이기 위한 방법론 : 기존의 방법론에 비해 실용성을 강조 : 1~3주의 반복 개발 주기를 가지며, 5가지 가치와 12
kcode-recording.tistory.com
2) 스크럼(SCRUM)
2023.08.14 - [학습 기록/정보처리기사] - [1. 소프트웨어 개발] 스크럼(SCRUM)
[1. 소프트웨어 개발] 스크럼(SCRUM)
스크럼(SCRUM)이란? : 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 개발론 스크럼 주요 용어 1) 백로그(Backlog) : 제품과 프로젝트에 대한 요구사항 2) 스프린
kcode-recording.tistory.com
3) 린(Lean)
2023.08.14 - [학습 기록/정보처리기사] - [1. 소프트웨어 개발] 린(Lean)
[1. 소프트웨어 개발] 린(Lean)
린(Lean)이란? : 도요타의 린 시스템 품질기법을 소프트웨어 개발 프로세스에 적용해서 낭비 요소를 제거하여 품질을 향상시킨 방법론 : JIT(Just In Time), 칸반(Kanban) 보드를 사용 : 7가지 원칙 존재
kcode-recording.tistory.com
4) 크리스탈(Crystal)
: 일반적으로 프로세스나 도구보다는 사람에게 더 많은 중점을 두는 방법론
: 생명이 중요하지 않은 시스템에서 작업하는 최대 6명 또는 8명의 공동 배치 소프트웨어 개발자 팀에 적용
5) ASD(Adaptive Software Development)
: 개발을 혼란 자체로 규정하고, 혼란을 대전제로 그에 적응할 수 있는 소프트웨어 방법을 제시하기 위해 만들어진 방법론
: 합동 애플리케이션 개발에 사용
6) FDD(Feature Driven Development)
: 상품이나 서비스 단위가 아니라 신규 기능 단위로 하는 개발 방법론
애자일과 전통적 방법론 비교
비교 대상 | 애자일 방법론 | 전통적 방법론 | ||
계획수립 | 유동적 범위 설정 | 확장적 범위 설정 | ||
업무수행 | 팀 중시 업무 수행 | 관리자 주도적 명령과 통제 개인 단위로 업무 수행 |
||
개발/검증 | 반복 주기 단위로 소프트웨어 개발/검증 | 분석, 설계, 구현, 테스트를 순차적으로 수행 | ||
팀관리 | 업무 몰입, 팀 평가 | 경쟁. 개별 평가 | ||
문서화 | 문서화보다는 코드를 강조 | 상세한 문서화를 강조 | ||
성공요소 | 고객 가치 전달 | 계획/일정 주수 | ||
유형 | XP, 스크럼, 린 | 폭포수, 프로토타입, 나선형 |
'학습 기록 > 정보처리기사' 카테고리의 다른 글
[1. 소프트웨어 개발] 스크럼(SCRUM) (0) | 2023.08.14 |
---|---|
[1. 소프트웨어 개발] XP(eXtreme Programming) (0) | 2023.08.14 |
[1. 소프트웨어 설계] 시퀀스 다이어그램 (0) | 2023.08.13 |
[1. 소프트웨어 설계] 유스케이스 다이어그램 (0) | 2023.08.13 |
[1. 소프트웨어 설계] 클래스 다이어그램 (0) | 2023.08.13 |