728x90
1. 애자일 방법론
소프트웨어 개발 및 프로젝트 관리에서 사용되는 접근 방식 중 하나로, 반복적이고 협업 중심의 개발 방법론. 작업 계획을 짧은 단위로 세우고 시제품을 만들어 나가는 사이클을 반복함으로써 고객의 요구 변화에 유연하고도 신속하게 대응하는 방법론이다.
- 계획 및 분석 : 고객과 사용자가 원하는 바를 파악하여 타당성을 조사하고 SW 기능과 제약조건을 정의하는 명세서 작성, 대상이 되는 문제 영역과 사용자가 원하는 task를 이해하는 단계
- 설계(디자인) : 기획의도에 맞는 설계 및 디자인 추가 및 수정하는 단계
- 개발(발전) : 설계단계에서 만들어진 설계서를 바탕으로 프로그램을 작성, 코딩, 디버깅, 단위/통합 테스트 수행
- 테스트 : 발생 가능한 실행 프로그램 오류를 발견, 수정하는 단계
- 검토(피드백) : 기획의도를 파악하고 시험결과와 기획에 따라 수정할 부분을 제시하는 단계
2. 특징
- 고객 중심 : 고객의 피드백을 중요하게 여기며 제품을 지속적으로 개선
- 반복과 적응 : 짧은 개발 주기를 갖고 각 주기의 끝에서 피드백을 받아 제품을 수정하고 개선
- 자기 조직화된 팀 : 작은 자기 조직화된 팀을 강조하며 각 팀은 다양한 역할을 수행하고 소통을 강화하여 프로젝트를 성공적으로 수행
- 협업과 피드백 : 팀 간 협업 강조하고 이를 통해 문제를 신속하게 해결하고 결정을 내림. 또한 고객과의 지속적인 소통을 통해 피드백을 수용하고 변경을 수용
- 작은 릴리스와 반복: 작은 릴리스로 제품을 나누고 각 릴리스를 반복하며 개선. 이를 통해 초기 가치를 빠르게 제공하고 제품을 점진적으로 완성
3. 장점과 단점
장점
- 프로젝트 계획에 걸리는 시간 최소화
- 점진적으로 테스트하여 버그를 쉽고 빠르게 발견 가능
- 계획 또는 기능에 대한 수정과 변경에 유연
- 고객 요구사항에 대한 피드백을 즉각적이고 유연하게 대처 가능
단점
- 확정되지 않은 계획 및 요구사항으로 반복적인 유지보수 작업 많아짐
- 고객의 요구사항이나 계획이 크게 변경될 경우 모델이 무너질 수 있음
- 반복적인 업무로 미흡한 기능들에 대한 대처 필요
4. 주요 애자일 방법론
- 스크럼(Scrum
- 익스트림 프로그래밍(Extreme Programming, XP)
- 칸반(Kanban)
728x90
'CS' 카테고리의 다른 글
[CS / 자료구조] List (0) | 2024.02.15 |
---|---|
[CS / SW] 객체 지향 프로그래밍 (0) | 2023.10.24 |
[CS / SW] TDD (Test Driven Development) (0) | 2023.10.19 |
[CS / SW] 클린코딩 & 리팩토링 & 시큐어코딩 (0) | 2023.10.19 |
[CS / OS] 파일시스템 (0) | 2023.10.10 |