1. 영어 뜻
- 날렵한, 민첩한
- (생각이) 재빠른, 기민한
2. 정의
- 신속하고 짧은 주기의 반복 작업을 통해 실제 작동 가능한 소프트웨어를 개발하여 지속적으로 제공하기 위한 소프트웨어 개발 방식(반복주기는 1주일~1달로 진행)
- 협업과 워크플로우를 바라보는 하나의 관점이며, 우리가 무엇을 어떻게 만들지에 관한 선택을 안내하는 가치 체계
- 좋은 것을 빠르게 취하고, 낭비 없게 만드는 다양한 방법론을 통칭해 일컫는 말
- 애자일 방법론의 핵심은 작동하는 소프트웨어의 작은 구성 요소를 신속하게 제공하여 고객의 만족도를 개선하는 것
- 적응형 접근 방식과 팀워크를 활용한 지속적인 개발에 중점
- 반복적이고 점진적인 접근 방식 기반
3. 애자일 방법론의 특징
- 고객과 개발자의 지속적인 소통을 통하여 변화하는 요구사항을 신속하게 수용한다.
- 개발자 개인의 가치보다는 팀의 목적을 우선시하며 고객의 의견을 가장 우선시한다.
- 팀원들과의 주기적인 회의 및 제품 시현을 통한 방지를 점검한다.
- 진행하면서 프로그램을 시행해보고 고객으로부터 피드백을 받는다.
- 내부 구조 형성을 통한 비용 절감에 힘쓰는 동시에 프로그램 품질 향상을 위해 노력한다.
3. 애자일 핵심 가치
- 개인과 개인 간의 상호작용이 프로세스 및 툴보다 우선
- 작동하는 소프트웨어가 포괄적인 문서보다 우선
- 고객과의 협업이 계약 협상보다 우선
- 변화에 대응하는 것이 계획을 따르는 것보다 우선
왼쪽(굵게 표시) 항목을 오른쪽 항목보다 중시하면 제품 개발에 있어 더 좋은 결과로 이어질 수 있다고 제시
4. 애자일 방법론의 장점, 단점
- 장점
- 점진적으로 테스트할 수 있어 버그를 쉽고 빠르게 발견 가능
- 중간 단계에서 변화하는 기획을 수용하여 빠르게 변화 가능(계획 혹은 기능에 대한 수정과 변경에 유연)
- 고객 요구사항에 대한 즉각적인 피드백에 유연하며 프로토타입 모델을 빠르게 출시 가능
- 문서화 시간을 단축하고 빠듯한 기한의 프로젝트를 빠르게 출시 가능
- 프로젝트 계획에 걸리는 시간 최소화
- 개발자와 디자이너의 자유도가 높아 창의적인 결과를 가져올 수 있으며, 개발자와 디자이너 간 끈끈한 협업 가능
- 프로세스 내내 팀원들과 협의하여 최고의 산출물을 만들어낼 수 있음
- 요구사항이 불확실하거나 변덕스러운 프로젝트에 효과적
- 단점
- 확정되지 않은 계획 및 요구사항으로 인한 반복적인 유지보수 작업이 많고 개발 진행 시 이해하지 못하고 진행하는 부분이 많을 수 있음
- 고객의 요구사항 및 계획이 크게 변경되면 모델이 무너질 수 있음
- 개인이 아닌 팀이 중심이 되다 보니 공통으로 해야 할 작업이 많을 수 있음 (회의, 로그 등)
- 복잡한 프로젝트에 참여자의 수준이 제각각이라면 전체 진척률과 수준 관리가 어려움
- 참여자들이 애자일 사상에 공감하지 못한 상태에서 출발하면 상호 간의 R&R 문제로 번지기 쉬움
- R&R은 상호 업무자 간의 업무 역할을 설정한 범위를 말함
- R&R을 침범한다는 것은 상대 업무자의 업무 범위에 월권하는 것을 의미
- 반복적인 업무로 속도는 빠를 수 있으나 미흡한 기능들에 대한 대처 필요
- 팀과 밀접하게 움직여야 하기 때문에 애자일 전문가 역할이 필요하고 전체적인 사상과 팀워크 관리가 필요
6. 애자일 조직의 다섯가지 조건
조건 | 설명 |
Strategy 비주얼 플래닝 사용 |
업무 상황을 도식화하여 모든 팀원들과 공유하여 누구나 현재 상황을 즉시 확인할 수 있어야 한다. |
Structure 권한 위임을 받은 네트워크팀 구조 |
조직문화를 수용하고 조직원 개개인의 오너십을 가져야 한다. |
Process 빠른 의사결정과 학습 사이클 |
명확한 마감기한과 반복 주기를 통해 위험요소를 캐치하고, 빠르게 새로운 것에 변화하는 태도를 갖는다. |
People 역동적인 사람 중심 모델 |
조직의 모든 사람을 참여시키는 사람 중심의 역동적인 구조를 설계한다. |
Technology 차세대 기술 활용 |
민첩함을 기반으로 하는 애자일은 모든 기술을 데이터를 디지털화한다. |
7. 애자일 방법론 진행 과정
- 계획 및 분석 → 설계(디자인) → 개발(발전) → 테스트 → 검토(피드백) 순으로 반복적으로 진행
계획 및 분석 | 고객과 사용자가 원하는 바를 파악하여 타당성을 조사하고 SW 기능과 제약조건을 정의하는 명세서 작성 대상이 되는 문제 영역과 사용자가 원하는 task를 이해하는 단계 |
설계(디자인) | 기획 의도에 맞는 설계 및 디자인 추가 및 수정하는 단계 |
개발(발전) | 설계단계에서 만들어진 설계서를 바탕으로 프로그램을 작성, 코딩, 디버깅, 단위/통합테스트 수행 |
테스트 | 발생할 수 있는 실행 프로그램 오류를 발견, 수정하는 단계 |
검토(피드백) | 기획 의도를 파악하고 시험 결과와 기획에 따라 수정할 부분을 제시하는 단계 |
8. 애자일 방법론 유형
- 스크럼(scrum), 칸반(kanban), XP(eXtreme Programming) , 린 소프트웨어 개발, 기능 주도 개발(Feature Driven Development) 등
9. '애자일하게 일하자' vs '린하게 일하자'
- 애자일하게 일하자
- '날렵한', '재빠른'
- 변화에 빠르게 영향을 미치는 기회에 주의를 기울임
- 린하게 일하자
- '낭비가 없는', '군살을 뺀'
- 가능한 낭비를 줄이는데 중점
[참고 사이트 및 도서]
Software Requirements 3(소프트웨어 요구사항 3)
http://www.incodom.kr/%EC%95%A0%EC%9E%90%EC%9D%BC_%EB%B0%A9%EB%B2%95%EB%A1%A0
https://shiftee.io/ko/blog/article/howToKeepAgileTeams
https://www.redhat.com/ko/devops/what-is-agile-methodology
728x90
반응형
LIST
'기획' 카테고리의 다른 글
툴팁(tooltip) (0) | 2023.06.23 |
---|---|
딤, 딤처리(dim, dimmed) (0) | 2023.06.22 |
린 방법론, 프로세스(Lean) (0) | 2023.06.19 |
페이지네이션(Pagination) (0) | 2023.06.15 |
레이블(label), 플레이스 홀더(place holder) (0) | 2023.06.13 |
댓글