43
Traditional vs Agile 2012.09.01 경기원 LG CNS 전문기술교육팀 [email protected] [email protected] SI 프로젝트에서 바라보는

Si 프로젝트에서 바라보는...traditional vs agile

Embed Size (px)

DESCRIPTION

 

Citation preview

Traditional vs Agile

2012.09.01 경기원

LG CNS 전문기술교육팀

[email protected] [email protected]

SI 프로젝트에서

바라보는 …

1/40

Who am i

Hope Agile 이 문화로 정착 되길….

• Agile 은 Culture 이다 • Agile 은 Traditional 과 상호 보완적

경기원 전임강사(2011~ ) Agile 관련 교육과정 개발 및 강의 Agile Coach(2008 ~ ) 조직 및 프로젝트 지원 Agile 확산(2008 ~ 2010) 사내강사(2008 ~ 2010) SI 프로젝트 LG CNS 전문기술교육팀 [email protected] [email protected]

2/40

1. 초기 요구사항의 50% 이상이 완전하지 못하다.

5. 문서를 작성하는 것은 두 번째로 비싼 소프트웨어 활동이다.

16. 약 5%의 응용 프로그램이 전체 결함의 50%를 내포한다.

출처 : Capers Jones 'Estimating Software Costs‘ (2007년)

“30년간 변하지 않은 SW공학 30가지 이슈”

들어가며…

3/40

LG CNS Agile History

확산 Road-map

Agile 도입기

2008~2009

Agile 적용기

Agile 잘하기

2010~2011 2012 ~

Agile 도입을 위한

컨설팅

LG CNS Agile 수립

Agile Pilot 수행

Agile BP 발굴 및

변화관리

Agile 적용 활성화

Agile Engineering

기법 적용 시도

Agile Contents 개선

(Pure 및 Hybrid Agile)

현장 BP 발굴 & 공유

선진사 적용 사례

체험을 통한 Agile

적용 점검

Agile 이행 고도화

Agile Eng 기법 내재화

Agile Coach 육성

4/40

적용현황

적용건수 1

Agile 재적용 희망 3

1~2개 46%

3~4개 35%

5~6개 17%

7개, 2%

실천기법 적용 2

야근 및 특근 4

90% ▲

LG CNS Agile History

3건

‘08 ‘09

22건

61건

‘10

71건

‘11

157건

5/40

정성적 효과

LG CNS Agile History

92%

83%

83%

Quality

Productivity

Satisfaction

• 내부 품질 강화

• Feedback 을 통한 검증

• 고객참여 및 요구사항 도출 용이

• 고객 불안감 해소

• 의사소통 리스크 조기 식별/해결

• 참여 & 책임감

프로젝트 설문결과를 정량화 함

6/40

정량적 효과

LG CNS Agile History

6%

14%

4%

고객만족도

프로젝트 생산성

개발 생산성

LG CNS 전체 평균 대비 백분율로 환산

7/40

LG CNS Agile History

적용사례

8/40

LG CNS Agile History

Agile 교육

Agile 기본(2day)

Agile 적용실무(3day)

Agile Coach 육성 프로그램

실습으로 배우는 TDD(2day)

더 나은 코드작성을 위한

리펙토링(2day)

클린코드 개발 워크샵(3day)

ALP/Agile(1day) 스토리텔링

Smart PM Plus(4h/2day)

리더를 위한 실용적

S/W 공학(3h/2day)

협력사를

위한

실무자를

위한

변화인식

을 위한

개발자를

위한

개발예정

9/40

LG CNS Agile History

회사 내 공감대

Why Agile ?

2008년

Well

2012년

How to Agile !

10/40

“Agile Manifesto” “Document”

Agile 에 대한 오해…

애자일 은

문서작성을

안 한데… 정말!!

와우~

Agile 인데

문서, 있을 건

다 있네.. 뭐!

11/40

“스크럼미팅 이 전부인 것처럼 이야기…”

Agile 에 대한 오해…

애자일 은 …

아침에 모여서

벽에 Post-it 옮기며

미팅하는 거야 …

12/40

“소규모에 적합하지, 대규모(SI)는 맞지 않다 ?”

Agile 에 대한 오해…

13/40

Agile 에 대한 오해…

“분석/설계 는 거의 없이(?) 바로 코딩 ?”

14/40

“기존 방법론(방식)을 대체하는 것 ?”

Agile 에 대한 오해…

IE OO CBD SOA …

애자일 이

방법론 이야 ?

아닌 것 같아

15/40

“애자일 은 국내 하도급 법 과 상충 ?”

Agile 에 대한 오해…

“상호 업무 공유 관점에서의 회의 라면…”

개인별 진척

관리 회의가 아닌

"업무 협의 또는

상호 공유"

회의로 인식하도록!

애자일

만의 문제

일까요 ?

정말

문제가

되나요 ?

Agile 과 관계 없이

모든 미팅 및 회의는

하도급 법 위반의

가능성이 있습니다.

16/40

“외부 감리 대응이 어려울 것이다 ?”

Agile 에 대한 오해…

감리는

산출물을 내놓으라

하는데 어떻게…?

Sp#1 Sp#2 Sp#N

감리 ?

17/40

Thinking

Traditional Agile

목표는 같다(프로젝트 성공, 행복, 배움) 틀리고 맞고 가 아님 상당 부분은.. 그 동안 해오던 방식과 크게 다르지 않다 다만.. Agile 가치 및 철학을 잘 실천 하려면 시간과 노력이 필요하며 유연하고 균형 있는 생각 및 실천이 필요함

18/40

Same, Difference think

Goal

Traditional Agile

Project Charter(프로젝트헌장) 사업수행 계획서

Product Goal Release Goal Sprint(=Iteration) Goal 목표는 함께 정의 하고 체크하며 지속적으로 공유 한다 Shared Vision

19/40

S/W개발 Process Model

Traditional Agile

순차모델(Waterfall) OO,CBD 등에서…

반복모델(Iterative) Increment , Evolutional Waterfall ?

Same, Difference think

“반복개발을 Agile 만의 차별화 요소 라고 할 수 있을까요 ?”

20/40

SDLC

Traditional Agile

Same, Difference think

Stage

A

D

I

T

“우린 이미 Agile 처럼 일하고 있지 않나요 ?”

D

T

A

I

Iteration

Random Cycle

&

Short Time

21/40

Iteration Type

Traditional Agile

Same, Difference think

D

T

A

I

D

T

A

I

D

T

A

I 리

뷰 T

D

I

A

리뷰

T

D

I

A

리뷰

T

D

I

A

리뷰

SW통합

A D T

I

T

I

T

I 통

A T

D

I

T

D

I

T

D

I

통합

뷰 T

D

I

A

리뷰

T

D

I

A

리뷰

T

D

I

A

리뷰

SW통합

“반복의 유형은 정해진 게 아니며 다양합니다”

22/40

Project Planning

Traditional Agile

프로젝트 계획(공정도) 주요 Milestone

Product Planning(Milestone) Release Planning Sprint(=iteration) Planning 반복주기 별 Re-Planning 계획은 가능한 팀원 모두 참여

Same, Difference think

23/40

Project Meeting

Traditional Agile

모닝미팅 ISSUE 중심 미팅 주간 미팅 월간미팅

Same, Difference think

24/40

Sprint Planning Meeting

Traditional Agile

초기 개발 계획 필요시(진척 지연 발생)

반복 주기 말 또는 시작 Re-Planning Sprint Goal 공유 Team Velocity 공유

Same, Difference think

25/40

Daily Scrum Meeting

Traditional Agile

Same, Difference think

모닝 미팅 진척 점검 미팅(PM)

3 Question 15분, 서서, 매일 공유가 목적 ISSUE 해결은 아님 모두 이야기 함 Task-board 활용 Burn-down chart

“Scrum Meeting 목적에 충실, 관리목적 활용 지양!”

26/40

Sprint Review Meeting

Traditional Agile

고객 데모 프로젝트 후반부에…

고객의 Feedback 을 이끌어냄 Yes, But 신드롬을 예방

Same, Difference think

27/40

Sprint Retrospective

Traditional Agile

Project L&L Self-organization

Same, Difference think

“누구를 위한 활동 이어야 할까요 ?”

28/40

DONE ?

Traditional Agile

0~100%

D

T

A

I

30% Done Output ?

공정 별 Task 진척 개발단계 Program List

0 or 100%

리뷰 T

D

I

A

리뷰

T

D

I

A

리뷰

T

D

I

A

리뷰

SW통합

30% Done Output ?

User Story 완료 기준 Done = Working

Same, Difference think

29/40

Estimation

Traditional Agile

Function Point LOC

Story Point / Planning Poker 팀이 함께 추정 추정과정에서 업무 이해도 향상 및 고객참여 유도 Biz 중요도 식별(고객) 우선순위 고려 FP/LOC ?

“누구를 위한 추정 이어야 할까요 ?”

Same, Difference think

30/40

진척 율 신드롬

Traditional Agile

A Project : 95%

B Project : 75%

“A 프로젝트 : OPEN(X)

B 프로젝트 : OPEN(O) 왜 ?”

Project Start End

To Day

Same, Difference think

31/40

Yes, But 신드롬

Traditional Agile

Same, Difference think

팀장

팀원1

팀원2

월요일 아침 Agile 이란 게 있는데 미팅도 하고, 프로그램을 둘이 개발하고 개발하기 전에 테스트 코드를 먼저 작성 한다고 하는데 그게 뭔지 금요일 오후 5시까지 정리 해주세요…

네!

네!

32/40

Pair Programming

Traditional Agile

짝이란 이름은 아니었지만

비슷한 경험 있음

에러 때문에 하루 종일

고민 했는데 옆 동료는

5분만에 찾은 기억 없으신가요 ?

적용을 위한 전략 및 코칭 필요

Same, Difference think

“요령과 발생할 수 있는 문제점 그리고 대처방식을

사전에 알려주어야 한다.”

33/40

TDD

Traditional Agile

Same, Difference think

Saligo 원칙

이미지출처 : http://psk810.springnote.com/pages/6900359/attachments/4425421

• 개발 후 테스트 코드 작성 • 테스트 자동화 가능(CI 연계)

• 개발 전 테스트에 대한 Thinking

TLP

TFP

TDD

34/40

CI

Traditional Agile

Same, Difference think

“CI 는 도입 뿐만 아니라 운영이 더 중요하다.”

Manual Tool 권장

CI는

Agile 에서만

사용 가능 한가요 ?

35/40

요구사항 확정

Traditional Agile

요구사항은 확정 해야 함

물론 변경 통제를 함

요구사항 정의/명세

Use Case 명세

요구사항은 프로젝트 전반에 걸쳐

변경된다.

User Story

Product Backlog

Same, Difference think

36/40

Visibility

Traditional Agile

개발 생산성

개인별 관리목적 강함

관리시스템 속에서

팀 Velocity 가 중요함

Burn-down

- Project Burn-down

- Release Burn-down

- Sprint Burn-down

Same, Difference think

37/40

“Agile Practices 그대로 따라 하면 되지 않나요 ?”

Agile Practices 를 그대로 따라 하기 보다는

Insight 를 가지고 우리(팀,프로젝트)들 만의 것으로…

Project 는 Unique 합니다.

Best

Agile Mindset

“Agile 을 목적이 아닌 수단으로”

38/40

“무엇을 하면 Agile 을 했다고 할 수 있나요 ?”

“17명 어느 누구도 명확한 답을 줄 수 없습니다.”

Agile Mindset

39/40

두 가지 질문을 스스로에게 해보세요.

우리는 매주(반복주기) 가치 있는 것을 고객에게 인도 하는가 ?

우리는 계속 발전하기를 위해 노력하고 있는가 ?

만약 이 질문에 "네" 라고 대답할 수 있다면

여러분은 애자일 을 하고 있는 것입니다.

출처 : 애자일 마스터 (233p)

“우리가(팀,프로젝트) Agile을 하고 있는지 어떻게 알 수 있나요 ?”

Agile Mindset

40/40

Agile Mindset

Fail early, Fail often

Fail Fast, Learn constantly

Failure is an option

Without failure, how can learning happen?

Linda Rising has a Ph.D 아리조나 주립대학 교수 http://www.lindarising.org

• 똑똑한 사람보다 노력하는 사람이 더 많이 배우고 가르칠 수 있다.

• 애자일 은 빨리 실수를 경험해야 하는 게 아닐까 ?

심리학 인문학도 중요!!!

Try again , Fail again, Fail Better

41/40

경기원

LG CNS 전문기술교육팀

[email protected] [email protected]

42/40

경기원

LG CNS 전문기술교육팀

[email protected] [email protected]