Agile 프로세스

I. 단순 설계의 시작, Agile 프로세스 개요

가. Agile 프로세스 정의

절차와 산출물 보다는 소프트웨어 자체에 초점을 맞춘 방법론으로, 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 방법론

나. Agile 프로세스 특징

특징내용
사람 중심개발팀의 기술이 인식되고 활용됨
구성원들은 규정된 프로세스 없이 자체 작업 방식 개발
고객 참여고객이 프로세스 전체에 긴밀하게 참여
요구사항 개발, 요구사항 우선순위 결정
변경 수용요구사항이 후반부에서도 변경될 수 있음
요구사항 변경을 수용가능하도록 시스템 설계 필요
점증적인 인도작동하는 소프트웨어를 고객에게 자주 전달하여 요구사항 신속하게 적용하고 피드백
PM의 역할
변화
프로젝트 관리자에서 촉진자로 변경
프로젝트 계획수립 및 통제의 책임이 팀원에게 이양
적용범위중소형, 아키텍처 설계, 프로토타이핑에 적합

다. Agile 프로세스 등장배경

환경의 변화정보시스템에 대한 사용자요구가 다양해짐
정보시스템 수명주기 단축
적시성(time-to-market)과 적시 배포(Release)가 중요해짐
방법론의 한계문서위주, 절차중심의 방법론은 변화에 신속적응 어려움
변화에 빠르게 적응하고 효율적 개발이 중요
중소교모 시스템에 무거운 기법 적용 시 오버헤드 커짐

 

II. Agile 프로세스 유형

종류내용
XP의사소통 개선, 즉각적인 피드백에 의해 단순코딩하여 소프트웨어의 품질을 높이기 위한 방법
SCRUM사용자의 요구사항을 만족시키기 위해 프로토타입을 반복, 점진적으로 개발하는 Agile 방법론
Kanban적시개발(just-in-time)을 지원하는 방법론으로 매우 적은 규칙을 가지고 있는 Agile 방법론
LeanTPS(Toyota Production System)를 벤치마킹하여 재정립한 경영방법론을 소프트웨어 개발에 적용한 개발 방법론

 

III. Agile 프로세스를 위한 조직 구조(PO, SM)

가. Agile 프로세스를 위한 조직구조 유형


팀 내 업무에 필요한 모든 기능이 속해 있어 커뮤니케이션 및 협업 용이
COP는 기술 중심의 모임으로 정기/비정기적으로 만나서 Practice를 공유

나. Agile 프로세스의 팀 구성 및 구성원 역할

  • PO(Project Owner): 업무의 우선순위를 정하고 백로그 관리
  • SM(Scrum Manager): 팀의 사람 관리를 하며 실제 팀의 실행을 리딩
  • Developer: 개발자
  • Designer: 디자이너

다. Agile 조직의 특징

  • Cross Function 팀: 목적을 달성하기 위해 조직되고 목적 달성하면 해체
  • 팀장이 없음: 보고하는 대상이 없고 팀이 Daily Scrum을 통해 업무 공유
  • 제한 인원(9명): 구성원 많아지면 Comm.이 어렵고 관료화 가능성 높음
  • QA조직없음: 제품의 품질은 Agile 팀 내에서 책임을 지고 준수

 

IV. Agile 프로세스와 타 개발 모델 비교

비교항목Agile 프로세스전통적 방법론(폭포수 모델)
계획수립의
상세수준
바로 다음 반복 주기에 대해서만 상세 계획 수립다음에 이어지는 단계에 이르기까지 상세한 계획 수립
요구사항의
베이스라인
요구사항에 대한 베이스라인 설정을 강조하지 않음초기 요구사항에 대한 베이스라인을 설정
아키텍처
정의방법
실제 개발된 기능 구현을 통해 빠른 실현 가능성 증명모델을 상세화하는 과정을 통해 아키텍처를 초기에 정의
테스트
방법
많은 시간과 비용이 들어가기 전에 기능 검증특정 기능 구현 후 단위-통합-시스템 테스트로 확장
표준
적용
작은 Inspection을 통해 개발에 유연하게 적용을 강조개발 전 표준화된 개발 프로세스를 제정을 강조

 

V. Agile 방법론의 장,단점

가. Agile 방법론의 장점

구분내용
ROI 증대고객에게 가치있는 기능을 빠르고 안정적으로 전달
Delivery Time 감소요구사항 변화 유연하게 수용해 Time to Market 실현
창의성 향상팀의 자율성 강화를 통해 업무만족도와 창의성 향상
생산성 향상불필요한 산출물 제거 및 팀 협업 강화
제품 품질 향상고객의 주기적 피드백 및 빈번한 테스트

나. Agile 방법론의 단점

구분내용
체계적인 문서화
및 지침 부족
방법론 자체로 적용하기에 프로세스 정립 부족
Agile 적용을 지원하는 문서나 구체적인 지침 부족
요구사항 변경에
의한 오버헤드
비기능적 요구사항에 대한 고려가 부족
요구사항의 잦은 변경에 따른 테스트 수행노력 증가
사업관리 부분
미흡
측정지표가 개발자 기준이므로 관리자 요구 충족불가
프로젝트 리스크 관리에 대한 고려 부족
감리 대응
문제
기존방법론에 비해 적은 문서량
감리 기준에 부합되지 않는 산출물로 이슈 발생

 

One Comment

콘텐츠 사용 시 출처 표기 부탁 드리고, 궁금한 점이나 의견은 댓글 남겨주세요^^