2010/05/28 정보통신산업진흥원 SW공학센터이세영책임 / 공학박사 1 목차 애자일방법론이란? 연구의배경및목적 국내기업애자일적용사례 애자일 SW 개발 101 결론 2
3 규정된프로세스 규정된프로세스 모든태스크가명확하게이해되어야한다. 동일입력에대해항상같은출력값이나온다. 4
SW 개발프로세스 모든태스크가명확히이해되는가? 정확히동일한입력값을사용하는가? 언제나동일한출력값이생성되는가? 5 적응적프로세스 프로세스반복이불가 변화를수용 점검과조정 6
반복프로세스 설계 테스트 v2.0 v2.1 v2.3 v2.4 혁신 7 애자일방법론의기원 스크럼 The New New Product Development Game, HBR, 1986 Ken Schwaber, Jeff Sutherland, Mike Beedle, Mike Cohn,1995 익스트림프로그래밍 (XP) Kent Beck, Ward Cunningham, Ron Jeffries, 1999 린, 크리스탈패밀리, FDD, DSDM 등 8
애자일선언문 (1/2) 2001 년 2 월, 17 명의경량방법론지지자들이모여공동으로추구하는가치천명 9 애자일선언문 (2/2) 개인과상호작용 over 프로세스와도구 동작하는소프트웨어 over 포괄적인문서 고객과의협력 over 계약협상 변화에대응 over 계획의수행 10
11 애자일사용현황 국외 (1/2) 해외선진국의경우중소기업은물론, MS, 구글, 야후, IBM, HP, 모토롤라등다수의글로벌기업이십여년전부터애자일을도입하여사용중 포레스터리서치가 2009 년 Q3 에 1298 명의 IT 개발자를대상으로실시한설문조사 (2010/01) 35%: 애자일방법론, 21%: 반복점증방법론, 13%: 폭포수방법론, 30.6%: 정형화된방법론을사용하지않음 단일방법론으로보면 11%: 스크럼, 8.4%: 폭포수방법론 가트너의사용량예측 (2009/12) 2012 년까지 SW 개발프로젝트의 80% 가애자일개발방법론을사용할것 12
애자일사용현황 국외 (2/2) * 출처 : State of Agile Survey 2011, VersionOne 13 애자일사용현황 국내 (1/2) 삼성, LG, SK, NHN 등주요대기업및다수의중소기업이최근몇년간활발하게애자일을적용중 14
애자일사용현황 국내 (2/2) * 출처 : 애자일도입성공요인분석, 김창준 (agile.egloos.com/5299932)` 15 연구목적 연구질문 국내애자일도입성공사례유형은어떤것이있는가? 성공률을높이기위해어떤실천법을적용해야하는가? 애자일도입성공을위한핵심요소는무엇인가? 연구대상 5 년이상애자일적용및코칭경험보유국내 IT 기업 연구방법 인터뷰, 설문조사, 국내외참고문헌활용 연구결과 애자일방법론가이드북제작 16
17 사례 1 팀차원의도입 ( 임베디드 SW 개발팀 ) 도입계기 코드품질저하에따른빈번한장애발생, 팀분위기쇄신 주요실천법 1 순위 : 짝프로그래밍, 코드리뷰, 단위테스트, 리팩토링 2순위 : 일일미팅, 지속적인통합 3순위 : 제품책임자, 제품백로그, 스프린트, 작업현황판, 회고 성공포인트 팀장의의지, 뛰어난애자일코치 성과및교훈 코드품질개선과더불어팀내개방, 소통, 공유문화가안착됨 단계적으로팀에유용한실천법적용 / 확대및사내에확산 18
사례 2 전사차원의도입 ( 인터넷서비스업체 ) 도입계기 유지보수이슈에따른코드품질의가시화 주요실천법 지속적인통합, 테스트주도개발 성공포인트 품질가시화를위한전사적인프라구축및지속적인지원 / 점검 성과및교훈 코드에대한지속적인관심및노력에따른서비스품질개선 코드품질가시화가관리자용지표로활용되기도하는부작용 19 사례 3 파일럿구성 ( 솔루션개발 /SI 업체 ) 도입계기 전사적도입을위해팀장급주도로기획및사전준비 주요실천법 1 순위 : 제품책임자, 사용자스토리, 테스트주도개발, 짝프로그래밍, 회고 2순위 : 릴리즈계획, 제품백로그, 추정, 플래닝포커, 스프린트, 스프린트계획, 일일미팅, 작업현황판, 소멸차트, 지속적인통합, 작은릴리즈 성공포인트 제품책임자의 commitment, 개발팀과전담테스터의짝개발 성과및교훈 외부 QA부서에의한테스트결과결함률 0% 달성 애자일도입을위한철저한준비및지속적인개선노력필요 20
사례 4 개인수준의도입 / 실천 ( 유지보수팀 ) 도입계기 업무비효율개선을위한자발적의지 주요실천법 1 순위 : 짝프로그래밍, 리팩토링, 칸반 ( 작업현황판 ) 2순위 : 지속적인통합, 간결한설계, 테스트주도개발 성공포인트 개인의지속적인노력이팀내에효과적으로확산 성과및교훈 리팩토링은테스트주도개발과맞물려사용 짝프로그래밍은신입사원교육에효과적 칸반도입으로유지보수업무가시화에따른다양한개선효과 21 사례 5 고객사에전파 ( 앱개발 /SI 프로젝트 ) 도입계기 안드로이드환경에적용가능한품질체계구축 주요실천법 1 순위 : 일일미팅, 회고 2순위 : 현장고객, 제품백로그, 추정, 플래닝포커, 작업현황판, 짝프로그래밍, 리팩토링, 성공포인트 뛰어난애자일코치, PM 의오픈마인드 성과및교훈 진행상황이잘보이고회고를통해개선의지가높아짐 유용한협업방식을도입하여업무능력개선및신속한백업이이루어짐 22
국내사례에기초한주요실천법선정 추정 (Estimation) 4 5 제품백로그플래닝포커 (Product (Planning Poker) Backlog) 6 사용자스토리 (User Story) 릴리즈계획 (Release Planning) 일일미팅 (Daily Meeting) 대시보드 (Dash-board) 지속적인통합 (CI) 리팩토링 (Refactoring) 작은배포 (Small Release) 1 2 3 7 8 9 10 11 속도 (Velocity) Scrum 소멸차트 (Burn-down chart) 12 스프린트리뷰 (Sprint Review) 13 회고 (Retrospective) XP 23 24
애자일가이드북 기획 25 애자일가이드북 설계 1. 개요 1.1 애자일선언문 1.2 애자일기원및종류 1.3 스크럼 1.4 XP 15 1.5 린 2. 주요실천법 2.1 현장고객 (On-site Customer) 2.2 사용자스토리 (User Story) 2.3 릴리즈계획 (Release Planning) 2.4 플래닝포커 (Planning Poker) 2.5 추정 (Estimation) 26 2.6 스프린트 (Sprint) 2.7 스프린트계획 (Sprint Planning) 2.8 일일스크럼 (Daily Scrum) 2.9 짝프로그래밍 (Pair Programming) 2.10 CI (Continuous Integration) 2.11 속도 (Velocity) 2.12 스프린트리뷰 (Sprint Review) 2.13 회고 (Retrospective) 3. 적용사례 3.1 팀이소통하기시작하다 3.2 지속적인통합 (Continuous Integration) 의핵심은지속적인관심 (Continuous Interest) 3.3 애자일팀에개발자말고또누가있나요? 3.4 애자일이스며들다 3.5 애자일드러내놓고해볼까? [ 별첨 1] 애자일적용시빠지기쉬운함정 [ 별첨 2] 애자일회고 [ 별첨 3] FAQ [ 별첨 4] 용어사전 26
애자일가이드북 공동집필 27 애자일 SW 개발 101 탄생 애자일 SW 개발 101 PDF 다운로드 : SW 공학센터자료실 (www.software.kr) 28
29 연구질문에대한답변 국내애자일도입성공사례유형은어떤것이있는가? 성공률을높이기위해어떤실천법을적용해야하는가? 애자일도입성공을위한핵심요소는무엇인가? 30
향후과제 애자일철학및주요실천법확산 애자일도입및적용개선지원 애자일코치양성방안연구 31 WBS 글로벌품질확보를위한품질활동관리사업 32