SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
SI 프로젝트에서
바라보는 …

Traditional
2012.09.01

vs

Agile
경기원
LG CNS
전문기술교육팀
kwkyung@lgcns.com
kiwon.kyung@gmail.com
Who am i
•

Agile 은 Culture 이다

•

Agile 은 Traditional 과 상호 보완적

Hope

Agile 이 문화로 정착 되길….

경기원
전임강사(2011~ ) Agile 관련 교육과정 개발 및 강의
Agile Coach(2008 ~ ) 조직 및 프로젝트 지원
Agile 확산(2008 ~ 2010)
사내강사(2008 ~ 2010)
SI 프로젝트
LG CNS
전문기술교육팀
kwkyung@lgcns.com
kiwon.kyung@gmail.com
1/40
들어가며…
“30년간 변하지 않은 SW공학 30가지 이슈”
1. 초기 요구사항의 50% 이상이 완전하지 못하다.
5. 문서를 작성하는 것은 두 번째로 비싼 소프트웨어 활동이다.
16. 약 5%의 응용 프로그램이 전체 결함의 50%를 내포한다.

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

2/40
LG CNS Agile History
확산 Road-map
Agile
도입기

Agile
적용기

Agile
잘하기

2008~2009

2010~2011

2012 ~

Agile 도입을 위한
컨설팅
 LG CNS Agile 수립
 Agile Pilot 수행
 Agile BP 발굴 및
변화관리


Agile 적용 활성화
 Agile Engineering
기법 적용 시도
 Agile Contents 개선
(Pure 및 Hybrid Agile)
 현장 BP 발굴 & 공유


3/40

선진사 적용 사례
체험을 통한 Agile
적용 점검
 Agile 이행 고도화
 Agile Eng 기법 내재화
 Agile Coach 육성

LG CNS Agile History
적용현황
1 적용건수

2 실천기법 적용

157건

7개, 2%
5~6개
17%

61건

71건

3~4개
35%

22건
3건

1~2개
46%

‘08 ‘09 ‘10 ‘11

4 야근 및 특근

3 Agile 재적용 희망

90% ▲

4/40
LG CNS Agile History
정성적 효과

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

Quality

92%

•
•

Feedback 을 통한 검증

Productivity

83%

•

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

•

참여 & 책임감

Satisfaction

83%

•

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

•

고객 불안감 해소

5/40

내부 품질 강화
LG CNS Agile History
정량적 효과

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

6%

고객만족도

14%

프로젝트 생산성

4%

개발 생산성

6/40
LG CNS Agile History
적용사례

7/40
LG CNS Agile History
Agile 교육
협력사를

개발자를

Agile 기본(2day)






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



Smart PM Plus(4h/2day)



더 나은 코드작성을 위한

리펙토링(2day)

Agile Coach 육성 프로그램

변화인식

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

Agile 적용실무(3day)

위한

위한




위한



리더를 위한 실용적

실무자를

을 위한



개발예정

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

8/40

클린코드 개발 워크샵(3day)
LG CNS Agile History
회사 내 공감대

2008년

2012년

Why Agile ?

How to Agile !

Well
9/40
Agile 에 대한 오해…

“Agile Manifesto” “Document”
애자일 은

Agile 인데

문서작성을

문서, 있을 건

안 한데…

정말!!

다 있네.. 뭐!

와우~

10/40
Agile 에 대한 오해…

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

애자일 은 …
아침에 모여서
벽에 Post-it 옮기며
미팅하는 거야 …

11/40
Agile 에 대한 오해…

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

12/40
Agile 에 대한 오해…

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

13/40
Agile 에 대한 오해…

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

IE
OO
CBD
SOA …

방법론 이야 ?
아닌 것 같아

14/40
Agile 에 대한 오해…

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

정말

만의 문제

문제가

Agile 과 관계 없이

일까요 ?

관리 회의가 아닌

되나요 ?

모든 미팅 및 회의는

"업무 협의 또는

개인별 진척

하도급 법 위반의
가능성이 있습니다.

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

상호 공유"
회의로 인식하도록!
Agile 에 대한 오해…

“외부 감리 대응이 어려울 것이다 ?”
Sp#1 Sp#2

감리는
산출물을 내놓으라
하는데 어떻게…?

감리 ?

16/40

Sp#N
Thinking

Traditional

Agile

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

17/40
Same, Difference think
Goal

Traditional



Agile

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

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

18/40
Same, Difference think
S/W개발 Process Model

Traditional



Agile

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

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

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

19/40
Same, Difference think
SDLC

Traditional

Agile

Stage

Iteration
A

A

D

D

I

I
T

T

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

Random Cycle
&
Short Time
Same, Difference think
Iteration Type

Traditional

Agile
A

A

I

I

I

통

전

T

D

T

T

합

개

D
I

A

T

A

전
개

A

A

A

A

D

D

D

D

D

I

I

리

I

I

I

리

T

T

T

뷰

T

T

T

뷰

리뷰

T

A

I

I
T

D
I
T

D

D
I

D
I
T
통합

A

A
D

D
I
T

리뷰

리뷰

리뷰

리뷰

리뷰

SW통합

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

SW통합
Same, Difference think
Project Planning

Traditional



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

Agile







22/40

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

Traditional





Agile

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

23/40
Same, Difference think
Sprint Planning Meeting

Traditional



Agile

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






24/40

반복 주기 말 또는 시작
Re-Planning
Sprint Goal 공유
Team Velocity 공유
Same, Difference think
Daily Scrum Meeting

Traditional



Agile

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










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

“Scrum Meeting 목적에 충실, 관리목적 활용 지양!”
25/40
Same, Difference think
Sprint Review Meeting

Traditional



Agile

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

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

26/40
Same, Difference think
Sprint Retrospective

Traditional


Agile

Project L&L



Self-organization

“누구를 위한 활동 이어야 할까요 ?”
27/40
Same, Difference think
DONE ?

Traditional

Agile

0~100%

0 or 100%
A

I

I

T

T

리뷰

리뷰

리뷰

SW통합

30% Done  Output ?



D

리뷰
T



D

T

I

A

I

D

A

D

A

30% Done  Output ?

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




28/40

User Story 완료 기준
Done = Working
Same, Difference think
Estimation

Traditional



Agile

Function Point
LOC

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

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

29/40
Same, Difference think
진척 율 신드롬

Traditional
Project

Agile

Start

End
To Day

A Project : 95%
B Project : 75%

“A 프로젝트 : OPEN(X)
B 프로젝트 : OPEN(O) 왜 ?”
30/40
Same, Difference think
Yes, But 신드롬

Traditional

네!

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

네!

팀원2

팀원1
팀장
31/40
Same, Difference think
Pair Programming

Traditional


Agile

짝이란 이름은 아니었지만



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

비슷한 경험 있음


에러 때문에 하루 종일
고민 했는데 옆 동료는
5분만에 찾은 기억 없으신가요 ?

“요령과 발생할 수 있는 문제점 그리고 대처방식을
사전에 알려주어야 한다.”
32/40
Same, Difference think
TDD

Traditional

Agile

Saligo 원칙
TLP
TFP
TDD
이미지출처 : http://psk810.springnote.com/pages/6900359/attachments/4425421

33/40

•
•

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

•

개발 전 테스트에 대한
Thinking
Same, Difference think
CI

Traditional


Agile

Manual



Tool 권장

CI는
Agile 에서만
사용 가능 한가요 ?

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

34/40
Same, Difference think
요구사항 확정

Traditional

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



요구사항은 확정 해야 함



물론 변경 통제를 함



요구사항 정의/명세



User Story



Use Case 명세



Product Backlog



변경된다.

35/40
Same, Difference think
Visibility

Traditional

Agile



개발 생산성



팀 Velocity 가 중요함



개인별 관리목적 강함



Burn-down



관리시스템 속에서

- Project Burn-down
- Release Burn-down
- Sprint Burn-down

36/40
Agile Mindset
“Agile Practices 그대로 따라 하면 되지 않나요 ?”
Best
Agile Practices 를 그대로 따라 하기 보다는
Insight 를 가지고 우리(팀,프로젝트)들 만의 것으로…
Project 는 Unique 합니다.

“Agile 을 목적이 아닌 수단으로”
37/40
Agile Mindset
“무엇을 하면 Agile 을 했다고 할 수 있나요 ?”

“17명 어느 누구도 명확한 답을 줄 수 없습니다.”
38/40
Agile Mindset
“우리가(팀,프로젝트) Agile을 하고 있는지 어떻게
알 수 있나요 ?”
두 가지 질문을 스스로에게 해보세요.
우리는 매주(반복주기) 가치 있는 것을 고객에게 인도 하는가 ?
우리는 계속 발전하기를 위해 노력하고 있는가 ?
만약 이 질문에 "네" 라고 대답할 수 있다면
여러분은 애자일 을 하고 있는 것입니다.
출처 : 애자일 마스터 (233p)

39/40
Agile Mindset
심리학 인문학도 중요!!!

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

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

•

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

Fail early, Fail often
Fail Fast, Learn constantly
Failure is an option
Without failure, how can learning happen?

Try again , Fail again, Fail Better
40/40
경기원
LG CNS
전문기술교육팀
kwkyung@lgcns.com
kiwon.kyung@gmail.com

41/40
경기원
LG CNS
전문기술교육팀
kwkyung@lgcns.com
kiwon.kyung@gmail.com

42/40

Weitere ähnliche Inhalte

Was ist angesagt?

Salesforce.com Agile Transformation - Agile 2007 Conference
Salesforce.com Agile Transformation - Agile 2007 ConferenceSalesforce.com Agile Transformation - Agile 2007 Conference
Salesforce.com Agile Transformation - Agile 2007 ConferenceSteve Greene
 
Twitterのsnowflakeについて
TwitterのsnowflakeについてTwitterのsnowflakeについて
Twitterのsnowflakeについてmoai kids
 
훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기Changyol BAEK
 
빅데이터 처리기술의 이해
빅데이터 처리기술의 이해빅데이터 처리기술의 이해
빅데이터 처리기술의 이해paul lee
 
Cypress Best Pratices for Test Automation
Cypress Best Pratices for Test AutomationCypress Best Pratices for Test Automation
Cypress Best Pratices for Test AutomationKnoldus Inc.
 
Agile Performance Metrics
Agile Performance MetricsAgile Performance Metrics
Agile Performance MetricsACM
 
DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所Hidetoshi Hirokawa
 
웹프로그래밍 팀프로젝트 중간발표
웹프로그래밍 팀프로젝트 중간발표웹프로그래밍 팀프로젝트 중간발표
웹프로그래밍 팀프로젝트 중간발표Seong Heum Park
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개if kakao
 
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축: Jira Cloud, Bitbucket Cloud
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축: Jira Cloud, Bitbucket CloudAtlassian cloud 제품을 이용한 DevOps 프로세스 구축: Jira Cloud, Bitbucket Cloud
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축: Jira Cloud, Bitbucket CloudOpen Source Consulting
 
Agile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is NotAgile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is NotDerek Huether
 
enterprise agile lean modeling
enterprise agile lean modelingenterprise agile lean modeling
enterprise agile lean modelingKenji Hiranabe
 
ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方増田 亨
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門泰 増田
 
Secure Your Code Implement DevSecOps in Azure
Secure Your Code Implement DevSecOps in AzureSecure Your Code Implement DevSecOps in Azure
Secure Your Code Implement DevSecOps in Azurekloia
 

Was ist angesagt? (20)

Salesforce.com Agile Transformation - Agile 2007 Conference
Salesforce.com Agile Transformation - Agile 2007 ConferenceSalesforce.com Agile Transformation - Agile 2007 Conference
Salesforce.com Agile Transformation - Agile 2007 Conference
 
Twitterのsnowflakeについて
TwitterのsnowflakeについてTwitterのsnowflakeについて
Twitterのsnowflakeについて
 
Scrum Ceremonies
Scrum CeremoniesScrum Ceremonies
Scrum Ceremonies
 
훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기
 
Agile & Scrum Training
Agile & Scrum TrainingAgile & Scrum Training
Agile & Scrum Training
 
빅데이터 처리기술의 이해
빅데이터 처리기술의 이해빅데이터 처리기술의 이해
빅데이터 처리기술의 이해
 
Cypress Best Pratices for Test Automation
Cypress Best Pratices for Test AutomationCypress Best Pratices for Test Automation
Cypress Best Pratices for Test Automation
 
Agile Performance Metrics
Agile Performance MetricsAgile Performance Metrics
Agile Performance Metrics
 
애자일의 모든것
애자일의 모든것애자일의 모든것
애자일의 모든것
 
DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所
 
웹프로그래밍 팀프로젝트 중간발표
웹프로그래밍 팀프로젝트 중간발표웹프로그래밍 팀프로젝트 중간발표
웹프로그래밍 팀프로젝트 중간발표
 
Introduction to Scrum for Project Managers
Introduction to Scrum for Project ManagersIntroduction to Scrum for Project Managers
Introduction to Scrum for Project Managers
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
 
Scrum vs kanban
Scrum vs kanbanScrum vs kanban
Scrum vs kanban
 
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축: Jira Cloud, Bitbucket Cloud
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축: Jira Cloud, Bitbucket CloudAtlassian cloud 제품을 이용한 DevOps 프로세스 구축: Jira Cloud, Bitbucket Cloud
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축: Jira Cloud, Bitbucket Cloud
 
Agile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is NotAgile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is Not
 
enterprise agile lean modeling
enterprise agile lean modelingenterprise agile lean modeling
enterprise agile lean modeling
 
ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
Secure Your Code Implement DevSecOps in Azure
Secure Your Code Implement DevSecOps in AzureSecure Your Code Implement DevSecOps in Azure
Secure Your Code Implement DevSecOps in Azure
 

Andere mochten auch

린 소프트웨어 개발(Lean software development)
린 소프트웨어 개발(Lean software development)린 소프트웨어 개발(Lean software development)
린 소프트웨어 개발(Lean software development)영기 김
 
통신시스템(Gprs network)
통신시스템(Gprs network)통신시스템(Gprs network)
통신시스템(Gprs network)영기 김
 
배열과 포인터
배열과 포인터배열과 포인터
배열과 포인터영기 김
 
스크럼(Scrum)
스크럼(Scrum)스크럼(Scrum)
스크럼(Scrum)영기 김
 
통신시스템(Wcdma network)
통신시스템(Wcdma network)통신시스템(Wcdma network)
통신시스템(Wcdma network)영기 김
 
칸반(Kanban)
칸반(Kanban)칸반(Kanban)
칸반(Kanban)영기 김
 
소프트웨어 아키텍처 문서화
소프트웨어 아키텍처 문서화소프트웨어 아키텍처 문서화
소프트웨어 아키텍처 문서화영기 김
 
Sustainable SW Development
Sustainable SW DevelopmentSustainable SW Development
Sustainable SW DevelopmentSam Hwang
 
Intro Of Agile
Intro Of AgileIntro Of Agile
Intro Of AgileSam Hwang
 
[2012 11 12]애자일 회고
[2012 11 12]애자일 회고[2012 11 12]애자일 회고
[2012 11 12]애자일 회고Jong Pil Won
 
소프트웨어 아키텍처 평가(Atam)
소프트웨어 아키텍처 평가(Atam)소프트웨어 아키텍처 평가(Atam)
소프트웨어 아키텍처 평가(Atam)영기 김
 
통신시스템(Cdma network)
통신시스템(Cdma network)통신시스템(Cdma network)
통신시스템(Cdma network)영기 김
 
애자일 도입과 사례 공유
애자일 도입과 사례 공유애자일 도입과 사례 공유
애자일 도입과 사례 공유agilekorea
 
익스트림 프로그래밍(Xp)
익스트림 프로그래밍(Xp)익스트림 프로그래밍(Xp)
익스트림 프로그래밍(Xp)영기 김
 
알고리즘과 자료구조
알고리즘과 자료구조알고리즘과 자료구조
알고리즘과 자료구조영기 김
 
소프트웨어 테스팅
소프트웨어 테스팅소프트웨어 테스팅
소프트웨어 테스팅영기 김
 
소프트웨어 아키텍처
소프트웨어 아키텍처소프트웨어 아키텍처
소프트웨어 아키텍처영기 김
 

Andere mochten auch (18)

린 소프트웨어 개발(Lean software development)
린 소프트웨어 개발(Lean software development)린 소프트웨어 개발(Lean software development)
린 소프트웨어 개발(Lean software development)
 
통신시스템(Gprs network)
통신시스템(Gprs network)통신시스템(Gprs network)
통신시스템(Gprs network)
 
배열과 포인터
배열과 포인터배열과 포인터
배열과 포인터
 
스크럼(Scrum)
스크럼(Scrum)스크럼(Scrum)
스크럼(Scrum)
 
통신시스템(Wcdma network)
통신시스템(Wcdma network)통신시스템(Wcdma network)
통신시스템(Wcdma network)
 
칸반(Kanban)
칸반(Kanban)칸반(Kanban)
칸반(Kanban)
 
소프트웨어 아키텍처 문서화
소프트웨어 아키텍처 문서화소프트웨어 아키텍처 문서화
소프트웨어 아키텍처 문서화
 
Sustainable SW Development
Sustainable SW DevelopmentSustainable SW Development
Sustainable SW Development
 
What is agile
What is agileWhat is agile
What is agile
 
Intro Of Agile
Intro Of AgileIntro Of Agile
Intro Of Agile
 
[2012 11 12]애자일 회고
[2012 11 12]애자일 회고[2012 11 12]애자일 회고
[2012 11 12]애자일 회고
 
소프트웨어 아키텍처 평가(Atam)
소프트웨어 아키텍처 평가(Atam)소프트웨어 아키텍처 평가(Atam)
소프트웨어 아키텍처 평가(Atam)
 
통신시스템(Cdma network)
통신시스템(Cdma network)통신시스템(Cdma network)
통신시스템(Cdma network)
 
애자일 도입과 사례 공유
애자일 도입과 사례 공유애자일 도입과 사례 공유
애자일 도입과 사례 공유
 
익스트림 프로그래밍(Xp)
익스트림 프로그래밍(Xp)익스트림 프로그래밍(Xp)
익스트림 프로그래밍(Xp)
 
알고리즘과 자료구조
알고리즘과 자료구조알고리즘과 자료구조
알고리즘과 자료구조
 
소프트웨어 테스팅
소프트웨어 테스팅소프트웨어 테스팅
소프트웨어 테스팅
 
소프트웨어 아키텍처
소프트웨어 아키텍처소프트웨어 아키텍처
소프트웨어 아키텍처
 

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

애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발
애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발
애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발Jaehoon Oh
 
문제를 드라이브하라, 퍼스널 애자일 / 퍼스널 칸반
문제를 드라이브하라, 퍼스널 애자일 / 퍼스널 칸반문제를 드라이브하라, 퍼스널 애자일 / 퍼스널 칸반
문제를 드라이브하라, 퍼스널 애자일 / 퍼스널 칸반대박성진 DaeBak.Sungjin
 
Agile sw development 101
Agile sw development 101Agile sw development 101
Agile sw development 101Kiwon Kyung
 
칸반을 활용한 업무프로세스 혁신 실천법과 적용사례
칸반을 활용한 업무프로세스 혁신 실천법과 적용사례칸반을 활용한 업무프로세스 혁신 실천법과 적용사례
칸반을 활용한 업무프로세스 혁신 실천법과 적용사례철민 신
 
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사Open Source Consulting
 
[Atlassian in 부산]해외 자동차 업체 b사의 agile 적용 사례_모우소프트
[Atlassian in 부산]해외 자동차 업체 b사의 agile 적용 사례_모우소프트[Atlassian in 부산]해외 자동차 업체 b사의 agile 적용 사례_모우소프트
[Atlassian in 부산]해외 자동차 업체 b사의 agile 적용 사례_모우소프트Atlassian 대한민국
 
Agile SW 개발
Agile SW 개발Agile SW 개발
Agile SW 개발혁 권
 
Korea facilitation academy july 14 2016
Korea facilitation academy july 14 2016Korea facilitation academy july 14 2016
Korea facilitation academy july 14 2016Young Sook Lee
 
애자일 안한 이야기
애자일 안한 이야기애자일 안한 이야기
애자일 안한 이야기Sungchul Park
 
0. review. 린과 애자일 개발
0. review. 린과 애자일 개발0. review. 린과 애자일 개발
0. review. 린과 애자일 개발Unyong (Sheldon) Choi
 
Kakao agile 2nd story
Kakao agile 2nd storyKakao agile 2nd story
Kakao agile 2nd story호정 이
 
[AIS 2018][Team Practice] 작은 규모를 위한 Scrum과 Enterprise를 위한 SAFe – 모우소프트
[AIS 2018][Team Practice] 작은 규모를 위한 Scrum과 Enterprise를 위한 SAFe – 모우소프트[AIS 2018][Team Practice] 작은 규모를 위한 Scrum과 Enterprise를 위한 SAFe – 모우소프트
[AIS 2018][Team Practice] 작은 규모를 위한 Scrum과 Enterprise를 위한 SAFe – 모우소프트Atlassian 대한민국
 
Sk planet 이야기
Sk planet 이야기Sk planet 이야기
Sk planet 이야기종범 고
 
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)AgileKoreaConference Alliance
 
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)VMware Tanzu Korea
 
퍼스널 애자일로 개인의 Agility 향상시키기 (Personal Agile & TOC)
퍼스널 애자일로 개인의 Agility 향상시키기 (Personal Agile & TOC)퍼스널 애자일로 개인의 Agility 향상시키기 (Personal Agile & TOC)
퍼스널 애자일로 개인의 Agility 향상시키기 (Personal Agile & TOC)대박성진 DaeBak.Sungjin
 

Ähnlich wie Si 프로젝트에서 바라보는...traditional vs agile (20)

애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발
애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발
애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발
 
문제를 드라이브하라, 퍼스널 애자일 / 퍼스널 칸반
문제를 드라이브하라, 퍼스널 애자일 / 퍼스널 칸반문제를 드라이브하라, 퍼스널 애자일 / 퍼스널 칸반
문제를 드라이브하라, 퍼스널 애자일 / 퍼스널 칸반
 
Agile sw development 101
Agile sw development 101Agile sw development 101
Agile sw development 101
 
칸반을 활용한 업무프로세스 혁신 실천법과 적용사례
칸반을 활용한 업무프로세스 혁신 실천법과 적용사례칸반을 활용한 업무프로세스 혁신 실천법과 적용사례
칸반을 활용한 업무프로세스 혁신 실천법과 적용사례
 
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
 
[Atlassian in 부산]해외 자동차 업체 b사의 agile 적용 사례_모우소프트
[Atlassian in 부산]해외 자동차 업체 b사의 agile 적용 사례_모우소프트[Atlassian in 부산]해외 자동차 업체 b사의 agile 적용 사례_모우소프트
[Atlassian in 부산]해외 자동차 업체 b사의 agile 적용 사례_모우소프트
 
Agile SW 개발
Agile SW 개발Agile SW 개발
Agile SW 개발
 
Korea facilitation academy july 14 2016
Korea facilitation academy july 14 2016Korea facilitation academy july 14 2016
Korea facilitation academy july 14 2016
 
애자일 안한 이야기
애자일 안한 이야기애자일 안한 이야기
애자일 안한 이야기
 
[AKC2021] 애자일 안한 이야기 (박성철)
[AKC2021] 애자일 안한 이야기 (박성철)[AKC2021] 애자일 안한 이야기 (박성철)
[AKC2021] 애자일 안한 이야기 (박성철)
 
0. review. 린과 애자일 개발
0. review. 린과 애자일 개발0. review. 린과 애자일 개발
0. review. 린과 애자일 개발
 
Kakao agile 2nd story
Kakao agile 2nd storyKakao agile 2nd story
Kakao agile 2nd story
 
퍼스널 애자일과 TOC
퍼스널 애자일과 TOC퍼스널 애자일과 TOC
퍼스널 애자일과 TOC
 
AKC2020 KT 김광희
AKC2020 KT 김광희 AKC2020 KT 김광희
AKC2020 KT 김광희
 
[AIS 2018][Team Practice] 작은 규모를 위한 Scrum과 Enterprise를 위한 SAFe – 모우소프트
[AIS 2018][Team Practice] 작은 규모를 위한 Scrum과 Enterprise를 위한 SAFe – 모우소프트[AIS 2018][Team Practice] 작은 규모를 위한 Scrum과 Enterprise를 위한 SAFe – 모우소프트
[AIS 2018][Team Practice] 작은 규모를 위한 Scrum과 Enterprise를 위한 SAFe – 모우소프트
 
Sk planet 이야기
Sk planet 이야기Sk planet 이야기
Sk planet 이야기
 
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)
 
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
 
퍼스널 애자일로 개인의 Agility 향상시키기 (Personal Agile & TOC)
퍼스널 애자일로 개인의 Agility 향상시키기 (Personal Agile & TOC)퍼스널 애자일로 개인의 Agility 향상시키기 (Personal Agile & TOC)
퍼스널 애자일로 개인의 Agility 향상시키기 (Personal Agile & TOC)
 
애자일, 그리고 퍼스널 애자일
애자일, 그리고 퍼스널 애자일애자일, 그리고 퍼스널 애자일
애자일, 그리고 퍼스널 애자일
 

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

  • 1. SI 프로젝트에서 바라보는 … Traditional 2012.09.01 vs Agile 경기원 LG CNS 전문기술교육팀 kwkyung@lgcns.com kiwon.kyung@gmail.com
  • 2. Who am i • Agile 은 Culture 이다 • Agile 은 Traditional 과 상호 보완적 Hope Agile 이 문화로 정착 되길…. 경기원 전임강사(2011~ ) Agile 관련 교육과정 개발 및 강의 Agile Coach(2008 ~ ) 조직 및 프로젝트 지원 Agile 확산(2008 ~ 2010) 사내강사(2008 ~ 2010) SI 프로젝트 LG CNS 전문기술교육팀 kwkyung@lgcns.com kiwon.kyung@gmail.com 1/40
  • 3. 들어가며… “30년간 변하지 않은 SW공학 30가지 이슈” 1. 초기 요구사항의 50% 이상이 완전하지 못하다. 5. 문서를 작성하는 것은 두 번째로 비싼 소프트웨어 활동이다. 16. 약 5%의 응용 프로그램이 전체 결함의 50%를 내포한다. 출처 : Capers Jones 'Estimating Software Costs‘ (2007년) 2/40
  • 4. LG CNS Agile History 확산 Road-map Agile 도입기 Agile 적용기 Agile 잘하기 2008~2009 2010~2011 2012 ~ Agile 도입을 위한 컨설팅  LG CNS Agile 수립  Agile Pilot 수행  Agile BP 발굴 및 변화관리  Agile 적용 활성화  Agile Engineering 기법 적용 시도  Agile Contents 개선 (Pure 및 Hybrid Agile)  현장 BP 발굴 & 공유  3/40 선진사 적용 사례 체험을 통한 Agile 적용 점검  Agile 이행 고도화  Agile Eng 기법 내재화  Agile Coach 육성 
  • 5. LG CNS Agile History 적용현황 1 적용건수 2 실천기법 적용 157건 7개, 2% 5~6개 17% 61건 71건 3~4개 35% 22건 3건 1~2개 46% ‘08 ‘09 ‘10 ‘11 4 야근 및 특근 3 Agile 재적용 희망 90% ▲ 4/40
  • 6. LG CNS Agile History 정성적 효과 프로젝트 설문결과를 정량화 함 Quality 92% • • Feedback 을 통한 검증 Productivity 83% • 의사소통  리스크 조기 식별/해결 • 참여 & 책임감 Satisfaction 83% • 고객참여 및 요구사항 도출 용이 • 고객 불안감 해소 5/40 내부 품질 강화
  • 7. LG CNS Agile History 정량적 효과 LG CNS 전체 평균 대비 백분율로 환산 6% 고객만족도 14% 프로젝트 생산성 4% 개발 생산성 6/40
  • 8. LG CNS Agile History 적용사례 7/40
  • 9. LG CNS Agile History Agile 교육 협력사를 개발자를 Agile 기본(2day)    ALP/Agile(1day) 스토리텔링  Smart PM Plus(4h/2day)  더 나은 코드작성을 위한 리펙토링(2day) Agile Coach 육성 프로그램 변화인식 실습으로 배우는 TDD(2day) Agile 적용실무(3day) 위한 위한   위한  리더를 위한 실용적 실무자를 을 위한  개발예정 S/W 공학(3h/2day) 8/40 클린코드 개발 워크샵(3day)
  • 10. LG CNS Agile History 회사 내 공감대 2008년 2012년 Why Agile ? How to Agile ! Well 9/40
  • 11. Agile 에 대한 오해… “Agile Manifesto” “Document” 애자일 은 Agile 인데 문서작성을 문서, 있을 건 안 한데… 정말!! 다 있네.. 뭐! 와우~ 10/40
  • 12. Agile 에 대한 오해… “스크럼미팅 이 전부인 것처럼 이야기…” 애자일 은 … 아침에 모여서 벽에 Post-it 옮기며 미팅하는 거야 … 11/40
  • 13. Agile 에 대한 오해… “소규모에 적합하지, 대규모(SI)는 맞지 않다 ?” 12/40
  • 14. Agile 에 대한 오해… “분석/설계 는 거의 없이(?) 바로 코딩 ?” 13/40
  • 15. Agile 에 대한 오해… “기존 방법론(방식)을 대체하는 것 ?” 애자일 이 IE OO CBD SOA … 방법론 이야 ? 아닌 것 같아 14/40
  • 16. Agile 에 대한 오해… “애자일 은 국내 하도급 법 과 상충 ?” 애자일 정말 만의 문제 문제가 Agile 과 관계 없이 일까요 ? 관리 회의가 아닌 되나요 ? 모든 미팅 및 회의는 "업무 협의 또는 개인별 진척 하도급 법 위반의 가능성이 있습니다. “상호 업무 공유 관점에서의 회의 라면…” 15/40 상호 공유" 회의로 인식하도록!
  • 17. Agile 에 대한 오해… “외부 감리 대응이 어려울 것이다 ?” Sp#1 Sp#2 감리는 산출물을 내놓으라 하는데 어떻게…? 감리 ? 16/40 Sp#N
  • 18. Thinking Traditional Agile 목표는 같다(프로젝트 성공, 행복, 배움)  틀리고 맞고 가 아님  상당 부분은.. 그 동안 해오던 방식과 크게 다르지 않다  다만.. Agile 가치 및 철학을 잘 실천 하려면 시간과 노력이 필요하며 유연하고 균형 있는 생각 및 실천이 필요함  17/40
  • 19. Same, Difference think Goal Traditional   Agile Project Charter(프로젝트헌장) 사업수행 계획서 Product Goal  Release Goal  Sprint(=Iteration) Goal  목표는 함께 정의 하고 체크하며 지속적으로 공유 한다  Shared Vision  18/40
  • 20. Same, Difference think S/W개발 Process Model Traditional   Agile 순차모델(Waterfall) OO,CBD 등에서… 반복모델(Iterative)  Increment , Evolutional  Waterfall ?  “반복개발을 Agile 만의 차별화 요소 라고 할 수 있을까요 ?” 19/40
  • 21. Same, Difference think SDLC Traditional Agile Stage Iteration A A D D I I T T “우린 이미 Agile 처럼 일하고 있지 않나요 ?” 20/40 Random Cycle & Short Time
  • 22. Same, Difference think Iteration Type Traditional Agile A A I I I 통 전 T D T T 합 개 D I A T A 전 개 A A A A D D D D D I I 리 I I I 리 T T T 뷰 T T T 뷰 리뷰 T A I I T D I T D D I D I T 통합 A A D D I T 리뷰 리뷰 리뷰 리뷰 리뷰 SW통합 “반복의 유형은 정해진 게 아니며 다양합니다” 21/40 SW통합
  • 23. Same, Difference think Project Planning Traditional   프로젝트 계획(공정도) 주요 Milestone Agile      22/40 Product Planning(Milestone) Release Planning Sprint(=iteration) Planning 반복주기 별 Re-Planning 계획은 가능한 팀원 모두 참여
  • 24. Same, Difference think Project Meeting Traditional     Agile 모닝미팅 ISSUE 중심 미팅 주간 미팅 월간미팅 23/40
  • 25. Same, Difference think Sprint Planning Meeting Traditional   Agile 초기 개발 계획 필요시(진척 지연 발생)     24/40 반복 주기 말 또는 시작 Re-Planning Sprint Goal 공유 Team Velocity 공유
  • 26. Same, Difference think Daily Scrum Meeting Traditional   Agile 모닝 미팅 진척 점검 미팅(PM)        3 Question 15분, 서서, 매일 공유가 목적 ISSUE 해결은 아님 모두 이야기 함 Task-board 활용 Burn-down chart “Scrum Meeting 목적에 충실, 관리목적 활용 지양!” 25/40
  • 27. Same, Difference think Sprint Review Meeting Traditional   Agile 고객 데모 프로젝트 후반부에… 고객의 Feedback 을 이끌어냄  Yes, But 신드롬을 예방  26/40
  • 28. Same, Difference think Sprint Retrospective Traditional  Agile Project L&L  Self-organization “누구를 위한 활동 이어야 할까요 ?” 27/40
  • 29. Same, Difference think DONE ? Traditional Agile 0~100% 0 or 100% A I I T T 리뷰 리뷰 리뷰 SW통합 30% Done  Output ?  D 리뷰 T  D T I A I D A D A 30% Done  Output ? 공정 별 Task 진척 개발단계 Program List   28/40 User Story 완료 기준 Done = Working
  • 30. Same, Difference think Estimation Traditional   Agile Function Point LOC Story Point / Planning Poker  팀이 함께 추정  추정과정에서 업무 이해도 향상 및 고객참여 유도  Biz 중요도 식별(고객)  우선순위 고려  FP/LOC ?  “누구를 위한 추정 이어야 할까요 ?” 29/40
  • 31. Same, Difference think 진척 율 신드롬 Traditional Project Agile Start End To Day A Project : 95% B Project : 75% “A 프로젝트 : OPEN(X) B 프로젝트 : OPEN(O) 왜 ?” 30/40
  • 32. Same, Difference think Yes, But 신드롬 Traditional 네! Agile 월요일 아침 Agile 이란 게 있는데 미팅도 하고, 프로그램을 둘이 개발하고 개발하기 전에 테스트 코드를 먼저 작성 한다고 하는데 그게 뭔지 금요일 오후 5시까지 정리 해주세요… 네! 팀원2 팀원1 팀장 31/40
  • 33. Same, Difference think Pair Programming Traditional  Agile 짝이란 이름은 아니었지만  적용을 위한 전략 및 코칭 필요 비슷한 경험 있음  에러 때문에 하루 종일 고민 했는데 옆 동료는 5분만에 찾은 기억 없으신가요 ? “요령과 발생할 수 있는 문제점 그리고 대처방식을 사전에 알려주어야 한다.” 32/40
  • 34. Same, Difference think TDD Traditional Agile Saligo 원칙 TLP TFP TDD 이미지출처 : http://psk810.springnote.com/pages/6900359/attachments/4425421 33/40 • • 개발 후 테스트 코드 작성 테스트 자동화 가능(CI 연계) • 개발 전 테스트에 대한 Thinking
  • 35. Same, Difference think CI Traditional  Agile Manual  Tool 권장 CI는 Agile 에서만 사용 가능 한가요 ? “CI 는 도입 뿐만 아니라 운영이 더 중요하다.” 34/40
  • 36. Same, Difference think 요구사항 확정 Traditional Agile 요구사항은 프로젝트 전반에 걸쳐  요구사항은 확정 해야 함  물론 변경 통제를 함  요구사항 정의/명세  User Story  Use Case 명세  Product Backlog  변경된다. 35/40
  • 37. Same, Difference think Visibility Traditional Agile  개발 생산성  팀 Velocity 가 중요함  개인별 관리목적 강함  Burn-down  관리시스템 속에서 - Project Burn-down - Release Burn-down - Sprint Burn-down 36/40
  • 38. Agile Mindset “Agile Practices 그대로 따라 하면 되지 않나요 ?” Best Agile Practices 를 그대로 따라 하기 보다는 Insight 를 가지고 우리(팀,프로젝트)들 만의 것으로… Project 는 Unique 합니다. “Agile 을 목적이 아닌 수단으로” 37/40
  • 39. Agile Mindset “무엇을 하면 Agile 을 했다고 할 수 있나요 ?” “17명 어느 누구도 명확한 답을 줄 수 없습니다.” 38/40
  • 40. Agile Mindset “우리가(팀,프로젝트) Agile을 하고 있는지 어떻게 알 수 있나요 ?” 두 가지 질문을 스스로에게 해보세요. 우리는 매주(반복주기) 가치 있는 것을 고객에게 인도 하는가 ? 우리는 계속 발전하기를 위해 노력하고 있는가 ? 만약 이 질문에 "네" 라고 대답할 수 있다면 여러분은 애자일 을 하고 있는 것입니다. 출처 : 애자일 마스터 (233p) 39/40
  • 41. Agile Mindset 심리학 인문학도 중요!!! Linda Rising has a Ph.D 아리조나 주립대학 교수 http://www.lindarising.org • 똑똑한 사람보다 노력하는 사람이 더 많이 배우고 가르칠 수 있다. • 애자일 은 빨리 실수를 경험해야 하는 게 아닐까 ? Fail early, Fail often Fail Fast, Learn constantly Failure is an option Without failure, how can learning happen? Try again , Fail again, Fail Better 40/40