본문 바로가기
기획

애자일 방법론(Agile)

by 오구송이 2023. 6. 20.

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#h_fcaf93fc19ad62324ac3f895bff6b772

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

댓글