+ All Categories
Home > Technology > Intro Of Agile

Intro Of Agile

Date post: 15-May-2015
Category:
Upload: sam-soonsam-hwang
View: 2,568 times
Download: 0 times
Share this document with a friend
Description:
introduction of agile methodogogy for Korean
Popular Tags:
63
Introduction of Agile Introduction of Agile Sam Hwang Sep 2009
Transcript
Page 1: Intro Of Agile

Introduction of AgileIntroduction of Agile

Sam HwangSep 2009

Page 2: Intro Of Agile

• Topic of conversation in Agile• Agile Back grounds• Agile Characteristics• Agile methodologies (Scrum, XP, Lean) •• Agile10 key principlesAgile10 key principles•• Agile books to read (translate into Korean)Agile books to read (translate into Korean)

Table of contents

Page 3: Intro Of Agile

Topic of conversation in Agile

Non-Agile??

Agile??

Page 4: Intro Of Agile

Topic of conversation in Agile

Page 5: Intro Of Agile

Topic of conversation in Agile

Page 6: Intro Of Agile

Topic of conversation in Agile

Page 7: Intro Of Agile

Topic of conversation in Agile

Page 8: Intro Of Agile

Topic of conversation in Agile

Page 9: Intro Of Agile

Topic of conversation in Agile

Page 10: Intro Of Agile

Topic of conversation in Agile

Page 11: Intro Of Agile

Topic of conversation in Agile

T T

C C

Page 12: Intro Of Agile

Topic of conversation in Agile

Page 14: Intro Of Agile

The Birth of Agile Development• 1970: Waterfall Model• 1975: Iterative Enhancement• 1988: Spiral Development Model• Early 1990s: Crystal Methods, Lean, DSDM• 1993: Capability Maturity Model• 1996: Scrum• 1998: Extreme Programming (XP)• 2001: Agile Manifesto• 2002: Agile Modeling

By Kevin Aguanno

Page 15: Intro Of Agile

Enterprise Agile Adoption

2008년 2월 Forrester Research가 내놓은 ‘Enterprise Agile Adoption in 2007’이라는 보고서에는 미국과 유럽기업의 25%가 애자일 방법론을 이용하고 있으며2006년과 2007년간 도입 속도가 2005년과 2006년의2.5배에 달할 정도로 가속화되고 있다고 언급

“Enterprise Agile adoption has accelerated, increasing approximately two and a half times faster between 2006 and 2007 than between 2005 and 2006.”

http://www.forrester.com/Research/Workbook/0,9126,45015,00.html

Page 16: Intro Of Agile

Top 10 reasons for success

http://www.forrester.com/Research/Workbook/0,9126,45015,00.html“ CHAOS 2004 Survey Results”

Page 17: Intro Of Agile

Enough of processes

• 프로세스의 쇠퇴

–프로세스의 공통성–완전성의 함정–비동기화된 프로세스의 문제

(현실과 괴리) –지식 습득의 문제–우둔한 프로세스의 문제

By Ivar Jacobson, 2007.05~06 마소연재 기사

Page 18: Intro Of Agile

Time for Practices• 프랙티스의 시대

– 프랙티스: 문제의 특정한 부분을해결하는 체계적이고 검증 가능한방법 및 원칙

– 프랙티스의 종류: • Software engineering practice• Social engineering practice• Organizational practice

– 프랙티스의 장점• 원하는 것만 사용할 수 있음• 확장 및 추가가 용이• 프로세스를 상호 연관된

프랙티스의 조합으로 정의 : 점진적이고 실무적 차원에서개선이 가능

– 좋은 프랙티스의 조건• 자신을 증명

– 프로세스의 변화• 개별 프랙티스를 배우고 점진적

적용 By Ivar Jacobson, 2007.05~06 마소연재 기사

Page 19: Intro Of Agile

Agile Manifesto• 가벼운 프로세스 (Light weight process)

• 문서와 산출물 중심의 무거운 방법론을 대치할 대안의 필요성 공감• 2001년 Agile Manifesto for Agile software development • 애자일 프로세스: Extreme programming, Scrum, Lean software development, Adaptive system development, Dynamic System Development, Crystal method, etc.

Page 20: Intro Of Agile

Agile Characteristics

• 애자일 프로세스의 공통적 특성

– 경험을 바탕으로 출발: XP나 Scrum의 경우 저자의다양한 프로젝트 경험을 바탕으로 발전하였으며, Crystal은 Cockburn이 여러 프로젝트 참여자들에게수행한 인터뷰와 관찰을 통해 시작됨

– 가벼우며 실천적이고 결과 중심– 의사소통과 협력을 통한 상호 작용 강조– 짧은 반복 과정에서 얻은 경험을 최대한 반영하여 개선

– 가장 애자일스러운 것이란???

Page 21: Intro Of Agile

Agile principles focus on the following:

Improve visibilityImprove customer satisfactionImprove project flexibility/responsiveness to changeImprove speed of deliveryImprove delivery of value to customerReduce risk

Agile Development Principles

Page 22: Intro Of Agile

Project Characteristics:

Early and continuous delivery of usable deliverablesUsable deliverables measure progressAccept changing requirements, even late in projectShort delivery cyclesSimplicity in all aspectsSound, flexible design/architecture is essential

Agile Development Principles

Page 23: Intro Of Agile

Systems Development Methods

A

A B C

Month 1

The Agile Approach is Iterative AND Incremental

B

A B C

Month 2

C

A B C

Month 3

A1 C1 A2 C2 A3 C3B1 B2 B3

Iterative

Incremental

Agile

A/B/CWaterfall

Page 24: Intro Of Agile

Always A Potentially Shippable Product

• Agile methods require that at the end of each iteration, the features are complete.– No vapourware, or mock-ups for

demonstration– Fully tested– Full functional demonstration by customer– Includes required documentation

Page 25: Intro Of Agile

Team Characteristics:

Business people involved daily with project teamMotivated, trusted, experienced team membersSelf-organizing teams (empowered)Maximize the use of face-to-face conversationPromote sustainable developmentContinuous improvement of processes (learning)

Agile Development Principles

Page 26: Intro Of Agile

Being Agile is our favourite thing

Page 27: Intro Of Agile

Agile layer

Page 28: Intro Of Agile

Extreme Programming (XP) process

Page 29: Intro Of Agile

29

XP PracticesXP PracticesOrganizationOrganization• Small releases• Customer tests • Planning Game

TeamTeam• Collective ownership • Coding standard • Sustainable pace • Metaphor • Continuous integration

IndividualIndividual

• Test-driven Development • Pair programming • Simple design • Refactoring

Page 30: Intro Of Agile

Manager Customer

XP ValuesCommunication

Simplicity

Feedback

Courage

Respect

Developers

Roles & values in XPRoles & values in XP

Do the Simplest Thing That Could Possibly Work

Developer need feedback from the users

To being honest about what you can and cannot do

All team members, customers, project managers, programmers

Page 31: Intro Of Agile

Scrum process

Page 32: Intro Of Agile

Empirical Process Management

• Complicate & Uncertain• How to control noisy

Page 33: Intro Of Agile

33

Roles in ScrumRoles in ScrumChickens: Someone who has something to gain by

the work done by the “pigs”.: Assist in accomplishing the work

Pigs: Someone whose bacon is on the line.Performers, people who do the work

Page 34: Intro Of Agile

Lean Software DevelopmentLean Software DevelopmentToyota Managements

• Fostering an atmosphere ofcontinuous learning and improvement

• Satisfying customers andeliminating waste

• Quality first and consistently

• Teaching employees to becomeproblem solvers

• Growing together with suppliers and partners for mutual benefit

Page 35: Intro Of Agile

Concept of Lean Software Concept of Lean Software

• Abstract from Toyota Product System

•Looks at production process from the end customer’sstandpoint

• Treat non-value-added activities as waste

• Fast delivery, high quality and low cost are achieved

Lean = Continuous ImprovementLean = Continuous Improvement

Page 36: Intro Of Agile

The Seven WastesThe Seven WastesManufacturing Software Development

Waiting TimeOverproductionTransportation

InventoryExtra Processing

MotionDefects

Waiting TimeExtra Features

Task SwitchingPartially Done Work

PaperworkHand – off

Defects

Page 37: Intro Of Agile

Seven simple principlesSeven simple principles1.1. Eliminate WasteEliminate Waste2.2. Amplify LearningAmplify Learning3.3. Decide as late as possibleDecide as late as possible4.4. Deliver as fast as possibleDeliver as fast as possible5.5. Empower the teamEmpower the team6.6. Build integrity inBuild integrity in7.7. See the wholeSee the whole

Page 38: Intro Of Agile

10 key principles 10 key principles ofof

agile software developmentagile software developmentallaboutagile.com | by kelly.waters

Page 39: Intro Of Agile

• an alternative way of managing software

development

• different values & principles

to traditional development

• incremental, iterative & collaborative, rather

than distinct stages

what is agile software development?

Page 40: Intro Of Agile

• individuals & interactions over processes and tools

• working softwareover lengthy documentation

• customer collaborationover contract negotiation

• responding to changeover following a plan

“While there is value in items on the right, agile teams value items on the left more”

- agile manifesto

agile development values

Page 41: Intro Of Agile

principle #1 principle #1 –– active user involvement is imperativeactive user involvement is imperative[to give and receive continuous feedback][to give and receive continuous feedback]

Page 42: Intro Of Agile

principle #2 principle #2 –– agile teams must be empoweredagile teams must be empowered[to give their full commitment and make timely decisions][to give their full commitment and make timely decisions]

Page 43: Intro Of Agile

principle #3 principle #3 –– time waits for no mantime waits for no man[requirements emerge, timescales are fixed][requirements emerge, timescales are fixed]

Page 44: Intro Of Agile

principle #4 principle #4 –– agile requirements are barely sufficientagile requirements are barely sufficient[high level, visual and piecemeal, just in time as each feature [high level, visual and piecemeal, just in time as each feature is is developed]developed]

Page 45: Intro Of Agile

principle #5 principle #5 –– how do you eat an elephant?how do you eat an elephant?[one bite at a time [one bite at a time –– small incremental pieces]small incremental pieces]

Page 46: Intro Of Agile

principle #6 principle #6 –– fast but not so furiousfast but not so furious[focus on frequent delivery of products, and regular iterations][focus on frequent delivery of products, and regular iterations]

Page 47: Intro Of Agile

principle #7 principle #7 –– done means DONE!done means DONE![features completed within an iteration should be 100% done, i.e[features completed within an iteration should be 100% done, i.e. shippable]. shippable]

Page 48: Intro Of Agile

principle #8 principle #8 –– enoughenough’’s enoughs enough[apply the 80/20 rule [apply the 80/20 rule –– less is the new more]less is the new more]

Page 49: Intro Of Agile

principle #9 principle #9 –– agile testing is not for dummiesagile testing is not for dummies[testing is a continuous, integrated part of development][testing is a continuous, integrated part of development]

Page 50: Intro Of Agile

principle #10 principle #10 –– no place for snipersno place for snipers[close cooperation and collaboration between all team members [close cooperation and collaboration between all team members and stakeholders]and stakeholders]

Page 51: Intro Of Agile

incremental, iterative & collaborative approachincremental, iterative & collaborative approachincremental, iterative & collaborative approach

Page 52: Intro Of Agile

• visibility• cost control• customer satisfaction• less risk• more motivating!

benefits of an agile approach

• revenue• speed to market• quality• flexibility / agility• right product

Page 53: Intro Of Agile

A tale of two teams

Page 54: Intro Of Agile

What should I do to learn Agile

• “日日新 又日新”

– 大學 : “진실로 날로 새로워지려면, 나날이새롭게 하고, 또 날로 새롭게 하라”

– "On the bathing tub of T'ang, the following words were engraved: "If you can one day renovate yourself, do so from day to day. Yea, let there be daily renovation."

Page 55: Intro Of Agile

Agile Software Development with ScAgile Software Development with Scrrumum

55

• 스크럼을 시작하며• 스크럼 준비• 스크럼의 실천법

• 스크럼에 대한 원리와저자의 다양한 경험, 스크럼의탄생 과정, 다양한 스크럼실천방법과 사례를 상세하게설명

Page 56: Intro Of Agile

Lean Software Development Lean Software Development

56

• 린(Lean) 방식을 소프트웨어개발에 적용하기

• 낭비를 제거하라• 배움을 증폭하라• 가능한 늦게 결정하라• 최대한 빨리 납품하라• 팀에 권한을 위임하라• 통합성을 구축하라• 전체를 보라

Page 57: Intro Of Agile

Extreme Programming ExplainedExtreme Programming Explained

57

• XP란 무엇인가? • XP 탐험하기• XP 철학

• XP 실천방법의 동기와원칙에 대한 설명• XP에 대한 왜?를 알 수있도록 가치, 철학, 실천방법을 상세하게 제공

Page 58: Intro Of Agile

Scrum & XP from the TrenchesScrum & XP from the Trenches

58

•스크럼과 XP 실천방법에대한 실무적인 팁과 요령•전형적인 함정과 그 함정들에대한 대처 방법•진행했던 일들을 묘사하는다이어그램과 사진들•테스팅과 테스트 주도 개발•여러 팀으로의 확장과 팀 간조율•팀 내외부의 저항 다루기•계획 수립과 시간 추정 기법

http://www.infoq.com/minibooks/scrum-xp-from-the-trenches

Page 59: Intro Of Agile

Practices of an Agile DeveloperPractices of an Agile Developer

59

애자일 개발 실천방법(45개)에대하여 쉽게 기본적인 내용을 설명:

Devil Vs. Engel

애자일 소프트웨어 개발애자일 시작하기애자일 기르기사용자가 원하는 내용을 제공하기애자일 피드백애자일 코딩

Page 60: Intro Of Agile

Agile RetrospectivesAgile Retrospectives

60

애자일 회고(Agile retrospective) 를 위한 실무 지침서

다소 지루한 단계와 절차를소개하지만 실무에 적용할 유용한팁들을 활용할 수 있음

팀이 조사하고 적용하게 하기팀에 맞춰 회고 도입하기회고 진행하기사전 준비하기자료 모으기무엇을 할지 결정하기회고 끝내기릴리즈 회고와 프로젝트 회고그렇게 하시오부록

Page 61: Intro Of Agile

Scaling Software Agility Scaling Software Agility

61

• 애자일에 대하여 기본부터대규모 환경에 적합한프랙티스를 제공(이론적/실무적 균형)

• 소프트웨어 애자일 방법론• 애자일 확장 적용하는 7가지팀단위 애자일 활동• 엔터프라이즈 환경에 맞는애자일 방법론

Page 62: Intro Of Agile

Any Question ?Any Question ?

Page 63: Intro Of Agile

Recommended