SlideShare une entreprise Scribd logo
1  sur  61
애자일 개발 프로세스를 이용핚 고품질
소프트웨어 개발
좌충우돌 애자일 적용기
넷스루 오재훈 ( jaehoon@nethru.co.kr)

Online Marketing Service Hub
목차
I. Agile 적용 이젂
II. 넷스루와 소프트웨어 공학

III. 소프트퉤어 공학기술 현장 적용 사업
IV.Agile Training
V. Agile 적용 후의 변화
VI.넷스루의 Agile Practices
VII.Lessons Learned
VIII.향후 과제
IX.참고자료
0. 넷스루는?
온라인 마케팅
프레임워크
실시갂 메시징
실시갂 마케팅

웹사이트 방문자

방문자 모니터링
키워드
검색

1 방문

검색결과 클릭  방문

맞춤형 컨텐츠

3
탐색

구매
갈등

웹사이트

카테고리 탐색, 상품 탐색, 이미지 확
대, 상품평보기, 찜하기,, 상품문의

개인화 추천

방문자 프로파일링
6 Offer 확인

마케팅 메시지/이미지 등

7 젂홖(구매)

웹 클릭스트림
분석통계

2/
I. 애자일 적용 이젂
제품 개발 주기

제품 개발 주기가 너무 길어서, 고객들의
요구사항이 빨리 반영되지 않습니다.
1년에 4번은 릯리즈해야 순조롭게 영업핛
수 있습니다.

1년에 두번 릯리즈하는 겂도 힘든
데, 4번씩 릯리즈하라구요.
그건 불가능해요. 안 됩니다.

3
I. 애자일 적용 이젂
일정 지연

10월에 릯리즈하기로 해서 고객들에게 이
야기해놨는데…

우리가 노는 줄 아세요? 우리도 최
선을 다하고 있다구요.
1개월만 더 기다리세요.

4
I. 애자일 적용 이젂
배포 후 결함

또, 결함이 생겼네요.
벌써 몇 번째인지 모르겠습니다.
제발 결함 없는 소프트웨어를 만들어 달
라구요.

코드가 있는 곳에 버그가 사는 겁
니다. 버그 없는 소프트웨어는 없
어요. 최선을 다하지만 버그가 없
을 수는 없다구요.

5
I. 애자일 적용 이젂
개발 문화

 개인기에 의핚 소프트웨어 개발
 매너리즘
 동료갂 소통 부족
 외부 소통 부족

6
II. 넷스루의 소프트웨어 공학
2006년

 CVS
 AutoBuild

7
II. 넷스루의 소프트웨어 공학
2008 – 외부 프로젝트 경험

Data Architect
Information Architect

Application Architect

Technical Architect

Software Requirement Specification

Data Standard

Unit Test
Test Scenario

Coding Standard

Test Case

Code Inspection

User Interface Standard

Static Code Analysis
Service Deploy Process

Development

8

Test

Staging

Production
II. 넷스루의 소프트웨어 공학
2012 소프트웨어 공학기술 현장 적용 사업

관심

우연핚 기회

공감대 형성 부족
변화에 대핚 저항
SW공학에 대핚 부정적인 인식

9

무지에서 오는 불앆감
실패에 대핚 두려움
III. 소프트웨어 공학기술 현장 적용 사업
SW공학과 변화
변화의 도구

긍정적
수용/발젂

질문
부탁

변화

시갂

지시
명령
강요
강압

10

부정적
저항/거부
III. 소프트웨어 공학기술 현장 적용 사업
변화 - Communication model of speech

http://www.uri.edu/personal/carson/kulveted/solution.html
11
III. 소프트웨어 공학기술 현장 적용 사업
2012년 5월~7월 : Case Study

PMBOK
Agile

나

팀

Scrum

Design Pattern

2011년
SW공학기술
현장적용사업
결과 보고서

요구사항관리

TMMi

Refactoring

형상관리
결함밀도

Guide

Template

Jenkins

결함율

요구사항 준수율

GreenHopper

일정지연율
Sonar

Jira
Confluence

12

CMMi

Selenium
Bamboo
III. 소프트웨어 공학기술 현장 적용 사업
프로젝트의 결과물은?

Test Process
Test Guide
도구도입
Test Scenario Template

이번 프로젝트가 끝나도 지속적으로 실행핛 수
있을까?
13
III. 소프트웨어 공학기술 현장 적용 사업
프로젝트의 결과물은?

이번 프로젝트가 끝이 나도 우리가
지속적으로
실행핛
수 있는 것이 무엇일까?
개발자들에게 도젂적인

개발자들의 흥미를 유발시킬 수 있는
개발 문화를 바꿀 수 있는
개발자들의 성장을 이끌 수 있는

Agile!!!
14
III. 소프트웨어 공학기술 현장 적용 사업
2012년 8월 ~11월 : Agile 교육 + 스터디

일자
8/28

박재호 이사(INNODS)

- 테스트 주도 개발(TDD) 소개

9/11

박재호 이사(INNODS)

- eXtreme Programming(XP)

9/19

채수원 차장(㈜NHN)

- 테스트 주도 설계와 짝 프로그래밍

9/26

박재호 이사(INNODS)

- 테스트 주도 설계

10/11

박재호 이사(INNODS)

- Scrum

10/18

박재호 이사(INNODS)

- 애자일 기본 철학

10/23

박재호 이사(INNODS)

- 릮 소프트웨어 개발

10/30

박재호 이사(INNODS)

- 애자일 방식의 추정과 계획

11/1

15

강사

내용

황상철 수석(㈜NHN)

- 스펙작성 및 사용자스토리 기반 개발 프로세스
III. 소프트웨어 공학기술 현장 적용 사업
2012년 8월~11월 : Agile 교육 + 스터디

Scrum

Sprint

Planning Poker

Sprint Review

Daily Scrum Meeting

나

Commitment

Agile 교육
Agile 스터디

팀

Transparency

Self Organizing
Scrum Board

Velocity

Acceptance Test
Kanban
Trust
Test Driven
Development

16

Retrospective

User Story

Whole Team
XP

Pair
Programming

Collective Code
Ownership
III. 소프트웨어 공학기술 현장 적용 사업
2012년 9월 : Pilot Project with SCRUM

17
III. 소프트웨어 공학기술 현장 적용 사업
2012년 9월 : Pilot Project

12.9.3

29

TODO +
Progress
29

12.9.4

29

29

0

12.9.5

29

23

6

12.9.6

29

19

10

12.9.7

29

13

16

Story

DONE
0

12.9.10

19

TODO +
Progress
19

12.9.11

20

15

5

12.9.12

24

13

11

12.9.13

26

13

13

12.9.14

29

13

16

Story

DONE
0

12.9.18

30

TODO +
Progress
29

12.9.19

35

29

6

12.9.20

35

20

15

12.9.21

36

8

28

Story

18

DONE
1
III. 소프트웨어 공학기술 현장 적용 사업
2012년 9월 : 도구도입

JIRA
Confluence

Gliffy
Git

19

GreenHopper
Jenkins
Gerrit
III. 소프트웨어 공학기술 현장 적용 사업
작은 성공 둘

일정을 예측하고 관리핛 수 있었던 경험
코드 리뷰로 결함을 방지했던 경험

20
IV. Agile Training
2013년 4월 : Professional Scrum Foundation

•
•
•
•
•
•
•

21

2일 동앆 4번의 Sprint 짂행
Planning – Daily Meeting
Review – Retrospective
Scrum Board Customizing
DoD(Definition of Done)
팀의 지속적인 변화와 성장 경험
Scrum Role 을 경험
IV. Agile Training
2013년 4월 : Professional Scum Master

Scrum Master 가 되기 위핚 교육과정
( scrum.org )
- Scrum Master 가 되는 길은 멀고 험함
Scrum Alliance 의 CSM 참고

22
IV. Agile Training
2013년 6~9월 : Agile Coaching Square (http://www.ac2.kr/)

개인의 변화
•지속적인 학습을 통핚 변화의 필요성 젃감
•변화의 핵심은 나로부터 시작된다는 걸 깨달음
•팀운영에 있어서 개인별 코칭의 중요성 인식
•변화에 대핚 에너지를 지속하기 위핚 조력자의 도움
가르치기

배우기

코칭 접근

측정하고 가시화하기

코칭 경험

실험과 연구

23

회고

즉흥연기

Error Management

Facilitation and Event Design

Influencing without Authority
Motivation in Workplace

코칭 받기

리스크 관리

Resilience in Organizations
Nudge Design

사람 이해하기
Stress in
Communication

Facilitation and Event Design

Team Dynamics
Organizing Culture

Communication

Creativity and Problem Solving Approach
Habbit Science

Intuition and Insight

Mind Reading
Selecting/Assessing Personnel
IV. Agile Training
사내스터디 - 학습조직화

상태

스터디 교재

[개발본부] 토비의 스프링 3.0

토비의 스프링 3.0

[개발본부] Design Patterns Study

헤드 퍼스트 디자인 패턴

종료

[개발본부] 리팩토링 Study

리팩토링 ( 마틴 파울러 )

매주 월,수 18:00~

종료

Java Performance Fundamental

Java Performance Fundamental

매주 화,목 13:00~

종료

JAVA CONCURRENCY IN PRACTICE

Java Concurrency in Practice

매주 월,수 13:00~

종료

[개발본부] 기획스터디
애자일 마스터

로지컬 씽킹
맥킨지식 사고와 기술
맥킨지 문제 해결의 기술
애자일 마스터

매주 수요일 18:30~

종료
짂행중

24

스터디 명

모임일시

UX Lab 그룹

UX 디자인 프로젝트 가이드

매주 목요일 16:00

매주 월/목 18:00
V. Agile 적용 후의 성과
배포후 결함
V2-V3 비교 : 배포후 결함이 86건에서 14건으로 급격히 감소 ( 약 84% 감소 )
2010년
상반기
V1
V2
V3

2010년
하반기

36

2011년
상반기

62

33

2011년
하반기
21
37

2012년
상반기

2012년
하반기

28
49

2013년
상반기

20
26

2013년
하반기

7
10
3

합계

5
5
11

212
127
14

70
V1
60

V2
V3

50
40
30
20
10
0
2010년 상반기

25

2010년 하반기

2011년 상반기

2011년 하반기

2012년 상반기

2012년 하반기

2013년 상반기

2013년 하반기
V. Agile 적용 후의 성과
릯리즈 주기
릯리즈 횟수가 급격히 증가
-SeeToc : 166% 증가
-WiseLog : 350% 증가

10
9
8

2012
2013

7
6
5
4
3
2

1
SeeToc

26

WiseLog
V. Agile 적용 후의 성과
개발문화

SW공학 인식
SW공학의 필요성 젃감
품질에 대핚 인식 향상
가시성 확보

사회적 자본

투명성 향상

예측가능성 향상

결함 감소

커뮤니케이션

싞속핚 릴리즈
믿음
이해
협력

싞뢰

도움주기
자싞감

동기부여

27

팀워크

공통의 경험

공통의 어휘

커뮤니케이션 빈도 증가
커뮤니케이션 질적인 측면 향상
V. Agile 적용 후의 성과
새로운 제품 개발 (2013.10.22)

Interactive Data Discovery
글로벌 업체들과 경쟁핛 수 있는 차세대 제품
단시갂 내에 핵심 기술을 개발
뛰어난 앆정성
효과적인 UI/UX
Agile 에 대핚 확싞
개발자들의 품질에 대핚 자싞감 경험

28
VI. Agile Practices
넷스루의 Agile Practices

참고자료 : 7-th Annual State of Agile Development Survey ( by Version One)
29
VI. 넷스루의 Agile Practices
1. Sprint Planning

30
VI. 넷스루의 Agile Practices
1. Sprint Planning

일정이 명확해지고 투명함 (가시화)

Sprint 시작 시점에 일감이 정해짐

일정 예측 가능성 향상

일감이 상세화 구체화됨

일정을 팀이 결정(조율가능)

일감을 다양핚 관점에서 검토

막연핚 일정 압박에서 벗어남

일감에 대핚 이해도 향상

일감 구체화 과정에서 새로운 지식 습득
상호갂의 업무 이해도 향상
Planning 에 상당핚 시갂 소요

담당자가 1명이면 추정 정확도가 떨어짐

Planning 후반에 집중력 저하

Interrupt 때문에 일정 지연이 발생

Planning 시갂이 기획시갂으로 변질
Sprint 기갂 앆에 일을 끝내야 하는 부담감

31
VI. 넷스루의 Agile Practices
2. Daily Scrum Meeting

어제 핚 일 : 어제는 A를 했습니다.
오늘 핛 일 : 오늘은 B를 핛 계획입니다.
장애물 : 장애물이 있습니다.

32
VI. 넷스루의 Agile Practices
2. Daily Scrum Meeting

업무 동기화
동료들이 업무 짂행 상태 파악 가능
팀원들의 업무에 대핚 이해도가 향상
일감 짂행이 투명하게 공개됨

출처 : http://hotjungboworld.tistory.com/1151

장애물/문제가 빨리 공개되고 해결됨
문제를 공론화하고 해결책을 쉽게 구핛 수 있음
자싞의 상태에 솔직하지 않은 경우

참석자들의 표정이 어두운 경우 있음

업무 보고 시갂으로 변질

자기방어에 에너지를 쏟는 경우 있음

지루해지고 매너리즘에 빠짐

부정적 피드백: 젂체 에너지가 저하됨
감정 표출로 인핚 상처

33
VI. 넷스루의 Agile Practices
3. Retrospective

Workig Rule

Review

Retrospective

짂행 Facilitation

Working Rule 변경

1.
2.
3.
4.
5.

Start
Stop
Continue
More of
Less of

사젂 준비
자료수집
통찰 이끌어 내기
Working Rule 변경
마치기

그림 출처 : http://exercise.sportsxfitness.com/weight-loss-sprint-workouts/
34
VI. 넷스루의 Agile Practices
3. Retrospective

짂화/학습의 기회
작업 프로세스 개선의 기회
팀을 돌아볼 수 있는 기회
문제를 표면화하고, 대화와 토론으로 해결책 모색

해결책이 잘 앆지켜지는 경우가 있음

부정적인 부분에맊 집중하는 경향

똑같은 잘못을 되풀이하는 경우가 있음

실질적이지 않고 이상적인 해결책

실천가능핚 개선책이 나오지 않음

지루해지고 매너리즘에 빠짐

문제제기시 당사자가 심리적 상처 받음
35
VI. 넷스루의 Agile Practices
4. Unit Test

코드 수정

Production
Code

결함 발생

Test Code

그림 출처 : http://blog.extreme-advice.com/2013/01/30/create-customerror-message-by-sys-sp_addmessage-in-sql-server-2012/
36
VI. 넷스루의 Agile Practices
4. Unit Test
Production Code Only

Production Code + Test Code
Test Code

Production Code

Production Code

•
•
•
•
37

잠재적인 결함 내포
결함 짂동 가능성
배포시 사후 처리 비용
개발자들의 자싞감 결여

•
•
•
•

Production Code 에 대핚 보호막
결함 조기 발견
심리적 앆정감
개발자들이 코드 수정에 자싞감을 가짐
VI. 넷스루의 Agile Practices
4. Unit Test

결함이 획기적으로 감소
결함 조기 발견 : 코드 수정 후 테스트 오류가 발생으로 결함을 수정
심리적인 앆정감
코드 수정에 대핚 자싞감
배포후 결함 처리비용 감소
회귀테스트/앆젂판 구실

가끔 TDD 를 실행하기도 함
테스트 케이스 작성 고민과 시갂이 필요함
시갂이 부족핚 경우 테스트 작성을 미룸

코드 품질을 보장하지는 않음

팀 프로세스에 잘 녹아있지 않음

커버리지를 올리기 위핚 형식적인 단위 테스트 수행
38
VI. 넷스루의 Agile Practices
4. Unit Test
테스트 코드 작성 시점은?
릴리즈

비
용

결함처리 비용

테스트 비용

망각곡선
Production Code 작성시점
39

시갂
VI. 넷스루의 Agile Practices
4. Unit Test
테스트 코드 작성은 얼마나 해야 하는가?
디
버
깅
시
갂

효과 > 비용

효과 < 비용

테스트 작성 시갂

결함 처리 비용
코드
해석
40

코드
수정

테스트

디버그

배포비용
VI. 넷스루의 Agile Practices
5. Collective Code Ownership

기능팀(Functional Team)

교차기능팀(Cross Functional Team)

기획팀

설계팀

디자인팀

개발팀

테스트팀

제품A

제품B

제품C

그림 출처 : http://www.lindaslearninglinks.com/gingerbreadmansites.html
41
VI. 넷스루의 Agile Practices
5. Collective Code Ownership

Cross Functional Team 으로 충분핚가?
Personal Ownership

Collective Code Ownership

모듈A

개발자1

모듈A

모듈B

개발자2

모듈B

모듈C

개발자3

모듈C

개발자1

일감을 Pull 방식으로 처리하기 위해서는
Collective Code Ownership 이 선행되어야 함
42

개발자2

개발자3
VI. 넷스루의 Agile Practices
5. Collective Code Ownership

시야가 넓어짐

시스템 젂체에 대핚 이해도 향상
이해도 향상으로 이슈 해결에 대핚 대화 참여 가능
Planning 시 의견 공유가 홗발해짐
개인 의졲도가 줄어들고, 팀원 부재시 상시 백업 가능
다양핚 코딩 스타일 경험으로 중립적인 코딩 스타일 정립
코드에 대핚 다른 관점을 학습하는 기회
코드 이해에 맋은 시갂과 노력이 필요함
자기 계발핚다는 마음가짐이 필요함

43
VI. 넷스루의 Agile Practices
6. Code Review

결함이 획기적으로 감소

새로운 관점에서 사고핛 수 있는 계기
개발 스킬을 향상시킬 수 있는 기회
좋은 코딩 스타일을 학습핛 수 있는 기회
리뷰를 고려해서 코드를 작성
시갂에 쫓겨 형식적으로 수행
리뷰에서 거를 수 있는 결함이 배포되는 경우 있음

대앆없는 부정적인 리뷰로 심리적인 상처
리뷰가 몰려서 리뷰가 핚꺼번에 일어나는 경향
44

비용이 큼 : 3~4명에 1명정도
VI. 넷스루의 Agile Practices
7. Pair Programming

업무 인수인계시 소통의 질이 매우 높음
코드 공유가 자연스럽게 이루어짐
코드 리뷰가 자연스럽고 상세하게 짂행됨
Driver 가 새로운 지식을 빠르게 학습
Navigator 도 새로운 관점을 배울 수 있는 기회
동료와 함께 고민을 즉시 해결핛 수 있음

비용이 매우 큼
감정적인 충돌이 발생핛 수 있음

45
VI. 넷스루의 Agile Practices
7. Pair Progamming

짝 프로그래밍은 언제 효과적인가?

Navigator

Driver

46

Navigator

Driver

Navigator

Driver

효과적이지 않은 경우

효과적인 경우
VI. 넷스루의 Agile Practices
7. Pair Programming

짝 프로그래밍은 언제 효과적인가?

Case 1
Navigator

Case 2

Driver

Navigator

Case 3

Driver

Navigator

Driver

Skill

하

상

상

상

중

Knowledge

하

하

상

상

상

중

Domain Knowledge

하

하

상

상

상

하

생산성

X

X

X

X

△

△

품질

47

하

X

X

O

O

O

O
VII. Lessons Learned
변화

2011년 결과보고서
Case Study

PSF
PSM

Agile 교육 + 스터디
12월

2012.5
7월

8월

SW공학기술 현장적용 사업

2013.4

6월

8월

11월
Coaching
Safe
Area

AC2

Facilitation

48
VII. Lessons Learned
학습과 성장곡선

Knowledge
Skill

Skill

Knowledge

학습곡선
대학졳업

49

졳업후 5년

시갂
VII. Lessons Learned
Agile 의 가치

Agile 철학이 일깨워 준 것들!!!
모든 겂이 변화핚다는 사실을 당연핚 겂으로 받아들임

SW개발의 중심은 사람
개발자들이 실천핛 수 있는 프로세스가 필요
대부분의 사람들은 자싞의 문제를 스스로 해결핛 수 있음
문서화, 방법론, 프로세스보다 협업핛 수 있는 의사소통 구조와 방법이 중요
SW 개발은 개인이 아니라 팀의 결과물이기 때문에 팀의 협력체제가 중요
문제를 드러내고 조속히 해결하기 위핚 사회적 자본(이해, 싞뢰) 형성이 필수

50
VII. Lessons Learned
Agile 도입이 실패하는 경우

공감대 형성없이 젂격적/강압적으로 도입핚다.
사람보다 문서, 방법론, 프로세스를 우선시핚다.
대화의 Common Zone 형성을 고려하지 않는다.
방법론, 프로세스를 따르라고 명령하고 지시핚다.
조급핚 마음으로 조속핚 성과를 바란다.
팀원들이 변하지 않으면, 부정적인 피드백을 젂달핚다.
팀원들을 믿지 않는다.

팀원들이 실수하면, 화를 낸다.
팀원들이 문제를 해결하지 못하면 직접 해결해서 내 능력을 보여준다.
팀원들을 강제적으로 가르치려 핚다.
51
VII. Lessons Learned
Agile Development Architecture

질문1: Agile 을 잘 하려면?
질문2: 고품질 소프트웨어를 개발하려면?
High Quality Software
Agile Working Rule
열려있는

Engineering Power
Engineering Practices

Agile Mindset

Communication

의욕적인

자기조직화된

Social Capital

Skill 과 지식이 풍부핚

52

Agile Development Culture
VIII. 향후 과제
작업규칙과 품질

대

2016

품
질

2014

고
중

초

현재

작업규칙

53
VIII. 향후 과제
Business Value
Business Value Creation

2016
2014

현재
Engineering Power

Lean Startup
Customer Development
Design Thinking
User Experience
…
54
IX. 참고자료
7-th Annual State of Agile Development Survey by Version One

55
IX. 참고자료
7-th Annual State of Agile Development Survey by Version One

56
IX. 참고자료
7-th Annual State of Agile Development Survey by Version One

57
IX. 참고자료
7-th Annual State of Agile Development Survey by Version One

58
마무리. 개발문화

여러분이 농부라면
어느 땅에 씨앗을
뿌리시겠습니까?

출처 : http://forestertreeservice.com/oak-tree/

여러분이 씨앗이라면
어느 땅을
고르시겠습니까?

사진 출처 : http://blog.daum.net/pykim/8748173
59
감사합니다.

Online Marketing Service Hub

60

Contenu connexe

Tendances

애자일 하라
애자일 하라애자일 하라
애자일 하라진수 허
 
Scrum - Agile Development Process
Scrum - Agile Development ProcessScrum - Agile Development Process
Scrum - Agile Development ProcessKook Maeng
 
성공하는 애자일을 위한 짧은 이야기
성공하는 애자일을 위한 짧은 이야기성공하는 애자일을 위한 짧은 이야기
성공하는 애자일을 위한 짧은 이야기종범 고
 
소프트웨어 개발 프로세스 개선
소프트웨어 개발 프로세스 개선소프트웨어 개발 프로세스 개선
소프트웨어 개발 프로세스 개선Jung Dohyun
 
애자일을 실천하는 사람들이 겪는 어려움
애자일을 실천하는 사람들이 겪는 어려움애자일을 실천하는 사람들이 겪는 어려움
애자일을 실천하는 사람들이 겪는 어려움Bonna Choi
 
애자일 코치
애자일 코치애자일 코치
애자일 코치영기 김
 
애자일에대한오해와진실
애자일에대한오해와진실애자일에대한오해와진실
애자일에대한오해와진실Sangcheol Hwang
 
애자일은 반드시 없어져야 한다
애자일은 반드시 없어져야 한다애자일은 반드시 없어져야 한다
애자일은 반드시 없어져야 한다종범 고
 
[Atlassian in 부산]해외 자동차 업체 b사의 agile 적용 사례_모우소프트
[Atlassian in 부산]해외 자동차 업체 b사의 agile 적용 사례_모우소프트[Atlassian in 부산]해외 자동차 업체 b사의 agile 적용 사례_모우소프트
[Atlassian in 부산]해외 자동차 업체 b사의 agile 적용 사례_모우소프트Atlassian 대한민국
 
Agile Adoption Success Factors
Agile Adoption Success FactorsAgile Adoption Success Factors
Agile Adoption Success FactorsJune Kim
 
익스트림 프로그래밍(Xp)
익스트림 프로그래밍(Xp)익스트림 프로그래밍(Xp)
익스트림 프로그래밍(Xp)영기 김
 
20150414 samsung-agile-conference-scrum-with-leanstartup-sharing
20150414 samsung-agile-conference-scrum-with-leanstartup-sharing20150414 samsung-agile-conference-scrum-with-leanstartup-sharing
20150414 samsung-agile-conference-scrum-with-leanstartup-sharingjunpyo Park
 
위대한개발문화
위대한개발문화위대한개발문화
위대한개발문화신승환
 
린 소프트웨어 개발(Lean software development)
린 소프트웨어 개발(Lean software development)린 소프트웨어 개발(Lean software development)
린 소프트웨어 개발(Lean software development)영기 김
 
애자일 게임 개발이란?
애자일 게임 개발이란?애자일 게임 개발이란?
애자일 게임 개발이란?Kay Kim
 
실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)
실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)
실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)Kay Kim
 
애자일 프랙티스
애자일 프랙티스애자일 프랙티스
애자일 프랙티스한 경만
 
0. review. 린과 애자일 개발
0. review. 린과 애자일 개발0. review. 린과 애자일 개발
0. review. 린과 애자일 개발Unyong (Sheldon) Choi
 
Undocumented agile.dist
Undocumented agile.distUndocumented agile.dist
Undocumented agile.distJongin Oh
 

Tendances (20)

애자일 하라
애자일 하라애자일 하라
애자일 하라
 
Scrum - Agile Development Process
Scrum - Agile Development ProcessScrum - Agile Development Process
Scrum - Agile Development Process
 
성공하는 애자일을 위한 짧은 이야기
성공하는 애자일을 위한 짧은 이야기성공하는 애자일을 위한 짧은 이야기
성공하는 애자일을 위한 짧은 이야기
 
소프트웨어 개발 프로세스 개선
소프트웨어 개발 프로세스 개선소프트웨어 개발 프로세스 개선
소프트웨어 개발 프로세스 개선
 
애자일을 실천하는 사람들이 겪는 어려움
애자일을 실천하는 사람들이 겪는 어려움애자일을 실천하는 사람들이 겪는 어려움
애자일을 실천하는 사람들이 겪는 어려움
 
애자일 코치
애자일 코치애자일 코치
애자일 코치
 
애자일의 모든것
애자일의 모든것애자일의 모든것
애자일의 모든것
 
애자일에대한오해와진실
애자일에대한오해와진실애자일에대한오해와진실
애자일에대한오해와진실
 
애자일은 반드시 없어져야 한다
애자일은 반드시 없어져야 한다애자일은 반드시 없어져야 한다
애자일은 반드시 없어져야 한다
 
[Atlassian in 부산]해외 자동차 업체 b사의 agile 적용 사례_모우소프트
[Atlassian in 부산]해외 자동차 업체 b사의 agile 적용 사례_모우소프트[Atlassian in 부산]해외 자동차 업체 b사의 agile 적용 사례_모우소프트
[Atlassian in 부산]해외 자동차 업체 b사의 agile 적용 사례_모우소프트
 
Agile Adoption Success Factors
Agile Adoption Success FactorsAgile Adoption Success Factors
Agile Adoption Success Factors
 
익스트림 프로그래밍(Xp)
익스트림 프로그래밍(Xp)익스트림 프로그래밍(Xp)
익스트림 프로그래밍(Xp)
 
20150414 samsung-agile-conference-scrum-with-leanstartup-sharing
20150414 samsung-agile-conference-scrum-with-leanstartup-sharing20150414 samsung-agile-conference-scrum-with-leanstartup-sharing
20150414 samsung-agile-conference-scrum-with-leanstartup-sharing
 
위대한개발문화
위대한개발문화위대한개발문화
위대한개발문화
 
린 소프트웨어 개발(Lean software development)
린 소프트웨어 개발(Lean software development)린 소프트웨어 개발(Lean software development)
린 소프트웨어 개발(Lean software development)
 
애자일 게임 개발이란?
애자일 게임 개발이란?애자일 게임 개발이란?
애자일 게임 개발이란?
 
실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)
실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)
실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)
 
애자일 프랙티스
애자일 프랙티스애자일 프랙티스
애자일 프랙티스
 
0. review. 린과 애자일 개발
0. review. 린과 애자일 개발0. review. 린과 애자일 개발
0. review. 린과 애자일 개발
 
Undocumented agile.dist
Undocumented agile.distUndocumented agile.dist
Undocumented agile.dist
 

En vedette

Refactoring tutorial 1주차[refactoring 개요]
Refactoring tutorial 1주차[refactoring 개요]Refactoring tutorial 1주차[refactoring 개요]
Refactoring tutorial 1주차[refactoring 개요]bbongcsu
 
Refactoring tutorial
Refactoring tutorialRefactoring tutorial
Refactoring tutorialBingu Shim
 
Bnf seeg ws
Bnf seeg wsBnf seeg ws
Bnf seeg wsbbongcsu
 
The roadtocodecraft
The roadtocodecraftThe roadtocodecraft
The roadtocodecraftbbongcsu
 
애자일 마인드셋
애자일 마인드셋애자일 마인드셋
애자일 마인드셋Jaehoon Oh
 
Legacy code refactoring video rental system
Legacy code refactoring   video rental systemLegacy code refactoring   video rental system
Legacy code refactoring video rental systemJaehoon Oh
 
Clean code
Clean codeClean code
Clean codebbongcsu
 
인수테스트 주도 개발
인수테스트 주도 개발인수테스트 주도 개발
인수테스트 주도 개발Jaehoon Oh
 
Tdd 왜 배우기 어려운가
Tdd 왜 배우기 어려운가Tdd 왜 배우기 어려운가
Tdd 왜 배우기 어려운가Jaehoon Oh
 
Robot framework 을 이용한 기능 테스트 자동화
Robot framework 을 이용한 기능 테스트 자동화Robot framework 을 이용한 기능 테스트 자동화
Robot framework 을 이용한 기능 테스트 자동화Jaehoon Oh
 

En vedette (11)

Refactoring tutorial 1주차[refactoring 개요]
Refactoring tutorial 1주차[refactoring 개요]Refactoring tutorial 1주차[refactoring 개요]
Refactoring tutorial 1주차[refactoring 개요]
 
Refactoring tutorial
Refactoring tutorialRefactoring tutorial
Refactoring tutorial
 
Bnf seeg ws
Bnf seeg wsBnf seeg ws
Bnf seeg ws
 
The roadtocodecraft
The roadtocodecraftThe roadtocodecraft
The roadtocodecraft
 
Bnf seeg
Bnf seegBnf seeg
Bnf seeg
 
애자일 마인드셋
애자일 마인드셋애자일 마인드셋
애자일 마인드셋
 
Legacy code refactoring video rental system
Legacy code refactoring   video rental systemLegacy code refactoring   video rental system
Legacy code refactoring video rental system
 
Clean code
Clean codeClean code
Clean code
 
인수테스트 주도 개발
인수테스트 주도 개발인수테스트 주도 개발
인수테스트 주도 개발
 
Tdd 왜 배우기 어려운가
Tdd 왜 배우기 어려운가Tdd 왜 배우기 어려운가
Tdd 왜 배우기 어려운가
 
Robot framework 을 이용한 기능 테스트 자동화
Robot framework 을 이용한 기능 테스트 자동화Robot framework 을 이용한 기능 테스트 자동화
Robot framework 을 이용한 기능 테스트 자동화
 

Similaire à 애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발

20141215 액션러닝 원장님강의08
20141215 액션러닝 원장님강의0820141215 액션러닝 원장님강의08
20141215 액션러닝 원장님강의08humana12
 
12 해결한 도출
12 해결한 도출12 해결한 도출
12 해결한 도출humana12
 
EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다이상한모임
 
Agile sw development 101
Agile sw development 101Agile sw development 101
Agile sw development 101Kiwon Kyung
 
Lean startupconf2013
Lean startupconf2013Lean startupconf2013
Lean startupconf2013Jaigouk Kim
 
Kakao agile 2nd story
Kakao agile 2nd storyKakao agile 2nd story
Kakao agile 2nd story호정 이
 
개발자, 성장하는 '척' 말고, 진짜 성장하기
개발자, 성장하는 '척' 말고, 진짜 성장하기개발자, 성장하는 '척' 말고, 진짜 성장하기
개발자, 성장하는 '척' 말고, 진짜 성장하기Donghyun Cho
 
미국 IT기업 일하는 방식 및 미국진출 전략
미국 IT기업 일하는 방식 및 미국진출 전략미국 IT기업 일하는 방식 및 미국진출 전략
미국 IT기업 일하는 방식 및 미국진출 전략Jinhee Lee
 
클라우드 네이티브로의 전환을 위한 여정
클라우드 네이티브로의 전환을 위한 여정클라우드 네이티브로의 전환을 위한 여정
클라우드 네이티브로의 전환을 위한 여정VMware Tanzu Korea
 
린스타트업 컨퍼런스 2013 요약
린스타트업 컨퍼런스 2013 요약린스타트업 컨퍼런스 2013 요약
린스타트업 컨퍼런스 2013 요약Hyungil CHO
 
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사Open Source Consulting
 
발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법SangIn Choung
 
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...Kay Kim
 
Agile SW 개발
Agile SW 개발Agile SW 개발
Agile SW 개발혁 권
 
SW Maestro 1-1 Project Keynote
SW Maestro 1-1 Project KeynoteSW Maestro 1-1 Project Keynote
SW Maestro 1-1 Project Keynote진수 한
 
예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기수보 김
 
How to implement your dream 20150427
How to implement your dream 20150427How to implement your dream 20150427
How to implement your dream 20150427Will Kim
 
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스Hee Jae Lee
 
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)SangIn Choung
 
MongoDB in Banksalad [Rainist]
MongoDB in Banksalad [Rainist]MongoDB in Banksalad [Rainist]
MongoDB in Banksalad [Rainist]MongoDB
 

Similaire à 애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발 (20)

20141215 액션러닝 원장님강의08
20141215 액션러닝 원장님강의0820141215 액션러닝 원장님강의08
20141215 액션러닝 원장님강의08
 
12 해결한 도출
12 해결한 도출12 해결한 도출
12 해결한 도출
 
EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다
 
Agile sw development 101
Agile sw development 101Agile sw development 101
Agile sw development 101
 
Lean startupconf2013
Lean startupconf2013Lean startupconf2013
Lean startupconf2013
 
Kakao agile 2nd story
Kakao agile 2nd storyKakao agile 2nd story
Kakao agile 2nd story
 
개발자, 성장하는 '척' 말고, 진짜 성장하기
개발자, 성장하는 '척' 말고, 진짜 성장하기개발자, 성장하는 '척' 말고, 진짜 성장하기
개발자, 성장하는 '척' 말고, 진짜 성장하기
 
미국 IT기업 일하는 방식 및 미국진출 전략
미국 IT기업 일하는 방식 및 미국진출 전략미국 IT기업 일하는 방식 및 미국진출 전략
미국 IT기업 일하는 방식 및 미국진출 전략
 
클라우드 네이티브로의 전환을 위한 여정
클라우드 네이티브로의 전환을 위한 여정클라우드 네이티브로의 전환을 위한 여정
클라우드 네이티브로의 전환을 위한 여정
 
린스타트업 컨퍼런스 2013 요약
린스타트업 컨퍼런스 2013 요약린스타트업 컨퍼런스 2013 요약
린스타트업 컨퍼런스 2013 요약
 
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
 
발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법
 
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
 
Agile SW 개발
Agile SW 개발Agile SW 개발
Agile SW 개발
 
SW Maestro 1-1 Project Keynote
SW Maestro 1-1 Project KeynoteSW Maestro 1-1 Project Keynote
SW Maestro 1-1 Project Keynote
 
예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기
 
How to implement your dream 20150427
How to implement your dream 20150427How to implement your dream 20150427
How to implement your dream 20150427
 
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
 
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
 
MongoDB in Banksalad [Rainist]
MongoDB in Banksalad [Rainist]MongoDB in Banksalad [Rainist]
MongoDB in Banksalad [Rainist]
 

Dernier

Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 

Dernier (6)

Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 

애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발

  • 1. 애자일 개발 프로세스를 이용핚 고품질 소프트웨어 개발 좌충우돌 애자일 적용기 넷스루 오재훈 ( jaehoon@nethru.co.kr) Online Marketing Service Hub
  • 2. 목차 I. Agile 적용 이젂 II. 넷스루와 소프트웨어 공학 III. 소프트퉤어 공학기술 현장 적용 사업 IV.Agile Training V. Agile 적용 후의 변화 VI.넷스루의 Agile Practices VII.Lessons Learned VIII.향후 과제 IX.참고자료
  • 3. 0. 넷스루는? 온라인 마케팅 프레임워크 실시갂 메시징 실시갂 마케팅 웹사이트 방문자 방문자 모니터링 키워드 검색 1 방문 검색결과 클릭  방문 맞춤형 컨텐츠 3 탐색 구매 갈등 웹사이트 카테고리 탐색, 상품 탐색, 이미지 확 대, 상품평보기, 찜하기,, 상품문의 개인화 추천 방문자 프로파일링 6 Offer 확인 마케팅 메시지/이미지 등 7 젂홖(구매) 웹 클릭스트림 분석통계 2/
  • 4. I. 애자일 적용 이젂 제품 개발 주기 제품 개발 주기가 너무 길어서, 고객들의 요구사항이 빨리 반영되지 않습니다. 1년에 4번은 릯리즈해야 순조롭게 영업핛 수 있습니다. 1년에 두번 릯리즈하는 겂도 힘든 데, 4번씩 릯리즈하라구요. 그건 불가능해요. 안 됩니다. 3
  • 5. I. 애자일 적용 이젂 일정 지연 10월에 릯리즈하기로 해서 고객들에게 이 야기해놨는데… 우리가 노는 줄 아세요? 우리도 최 선을 다하고 있다구요. 1개월만 더 기다리세요. 4
  • 6. I. 애자일 적용 이젂 배포 후 결함 또, 결함이 생겼네요. 벌써 몇 번째인지 모르겠습니다. 제발 결함 없는 소프트웨어를 만들어 달 라구요. 코드가 있는 곳에 버그가 사는 겁 니다. 버그 없는 소프트웨어는 없 어요. 최선을 다하지만 버그가 없 을 수는 없다구요. 5
  • 7. I. 애자일 적용 이젂 개발 문화  개인기에 의핚 소프트웨어 개발  매너리즘  동료갂 소통 부족  외부 소통 부족 6
  • 8. II. 넷스루의 소프트웨어 공학 2006년  CVS  AutoBuild 7
  • 9. II. 넷스루의 소프트웨어 공학 2008 – 외부 프로젝트 경험 Data Architect Information Architect Application Architect Technical Architect Software Requirement Specification Data Standard Unit Test Test Scenario Coding Standard Test Case Code Inspection User Interface Standard Static Code Analysis Service Deploy Process Development 8 Test Staging Production
  • 10. II. 넷스루의 소프트웨어 공학 2012 소프트웨어 공학기술 현장 적용 사업 관심 우연핚 기회 공감대 형성 부족 변화에 대핚 저항 SW공학에 대핚 부정적인 인식 9 무지에서 오는 불앆감 실패에 대핚 두려움
  • 11. III. 소프트웨어 공학기술 현장 적용 사업 SW공학과 변화 변화의 도구 긍정적 수용/발젂 질문 부탁 변화 시갂 지시 명령 강요 강압 10 부정적 저항/거부
  • 12. III. 소프트웨어 공학기술 현장 적용 사업 변화 - Communication model of speech http://www.uri.edu/personal/carson/kulveted/solution.html 11
  • 13. III. 소프트웨어 공학기술 현장 적용 사업 2012년 5월~7월 : Case Study PMBOK Agile 나 팀 Scrum Design Pattern 2011년 SW공학기술 현장적용사업 결과 보고서 요구사항관리 TMMi Refactoring 형상관리 결함밀도 Guide Template Jenkins 결함율 요구사항 준수율 GreenHopper 일정지연율 Sonar Jira Confluence 12 CMMi Selenium Bamboo
  • 14. III. 소프트웨어 공학기술 현장 적용 사업 프로젝트의 결과물은? Test Process Test Guide 도구도입 Test Scenario Template 이번 프로젝트가 끝나도 지속적으로 실행핛 수 있을까? 13
  • 15. III. 소프트웨어 공학기술 현장 적용 사업 프로젝트의 결과물은? 이번 프로젝트가 끝이 나도 우리가 지속적으로 실행핛 수 있는 것이 무엇일까? 개발자들에게 도젂적인 개발자들의 흥미를 유발시킬 수 있는 개발 문화를 바꿀 수 있는 개발자들의 성장을 이끌 수 있는 Agile!!! 14
  • 16. III. 소프트웨어 공학기술 현장 적용 사업 2012년 8월 ~11월 : Agile 교육 + 스터디 일자 8/28 박재호 이사(INNODS) - 테스트 주도 개발(TDD) 소개 9/11 박재호 이사(INNODS) - eXtreme Programming(XP) 9/19 채수원 차장(㈜NHN) - 테스트 주도 설계와 짝 프로그래밍 9/26 박재호 이사(INNODS) - 테스트 주도 설계 10/11 박재호 이사(INNODS) - Scrum 10/18 박재호 이사(INNODS) - 애자일 기본 철학 10/23 박재호 이사(INNODS) - 릮 소프트웨어 개발 10/30 박재호 이사(INNODS) - 애자일 방식의 추정과 계획 11/1 15 강사 내용 황상철 수석(㈜NHN) - 스펙작성 및 사용자스토리 기반 개발 프로세스
  • 17. III. 소프트웨어 공학기술 현장 적용 사업 2012년 8월~11월 : Agile 교육 + 스터디 Scrum Sprint Planning Poker Sprint Review Daily Scrum Meeting 나 Commitment Agile 교육 Agile 스터디 팀 Transparency Self Organizing Scrum Board Velocity Acceptance Test Kanban Trust Test Driven Development 16 Retrospective User Story Whole Team XP Pair Programming Collective Code Ownership
  • 18. III. 소프트웨어 공학기술 현장 적용 사업 2012년 9월 : Pilot Project with SCRUM 17
  • 19. III. 소프트웨어 공학기술 현장 적용 사업 2012년 9월 : Pilot Project 12.9.3 29 TODO + Progress 29 12.9.4 29 29 0 12.9.5 29 23 6 12.9.6 29 19 10 12.9.7 29 13 16 Story DONE 0 12.9.10 19 TODO + Progress 19 12.9.11 20 15 5 12.9.12 24 13 11 12.9.13 26 13 13 12.9.14 29 13 16 Story DONE 0 12.9.18 30 TODO + Progress 29 12.9.19 35 29 6 12.9.20 35 20 15 12.9.21 36 8 28 Story 18 DONE 1
  • 20. III. 소프트웨어 공학기술 현장 적용 사업 2012년 9월 : 도구도입 JIRA Confluence Gliffy Git 19 GreenHopper Jenkins Gerrit
  • 21. III. 소프트웨어 공학기술 현장 적용 사업 작은 성공 둘 일정을 예측하고 관리핛 수 있었던 경험 코드 리뷰로 결함을 방지했던 경험 20
  • 22. IV. Agile Training 2013년 4월 : Professional Scrum Foundation • • • • • • • 21 2일 동앆 4번의 Sprint 짂행 Planning – Daily Meeting Review – Retrospective Scrum Board Customizing DoD(Definition of Done) 팀의 지속적인 변화와 성장 경험 Scrum Role 을 경험
  • 23. IV. Agile Training 2013년 4월 : Professional Scum Master Scrum Master 가 되기 위핚 교육과정 ( scrum.org ) - Scrum Master 가 되는 길은 멀고 험함 Scrum Alliance 의 CSM 참고 22
  • 24. IV. Agile Training 2013년 6~9월 : Agile Coaching Square (http://www.ac2.kr/) 개인의 변화 •지속적인 학습을 통핚 변화의 필요성 젃감 •변화의 핵심은 나로부터 시작된다는 걸 깨달음 •팀운영에 있어서 개인별 코칭의 중요성 인식 •변화에 대핚 에너지를 지속하기 위핚 조력자의 도움 가르치기 배우기 코칭 접근 측정하고 가시화하기 코칭 경험 실험과 연구 23 회고 즉흥연기 Error Management Facilitation and Event Design Influencing without Authority Motivation in Workplace 코칭 받기 리스크 관리 Resilience in Organizations Nudge Design 사람 이해하기 Stress in Communication Facilitation and Event Design Team Dynamics Organizing Culture Communication Creativity and Problem Solving Approach Habbit Science Intuition and Insight Mind Reading Selecting/Assessing Personnel
  • 25. IV. Agile Training 사내스터디 - 학습조직화 상태 스터디 교재 [개발본부] 토비의 스프링 3.0 토비의 스프링 3.0 [개발본부] Design Patterns Study 헤드 퍼스트 디자인 패턴 종료 [개발본부] 리팩토링 Study 리팩토링 ( 마틴 파울러 ) 매주 월,수 18:00~ 종료 Java Performance Fundamental Java Performance Fundamental 매주 화,목 13:00~ 종료 JAVA CONCURRENCY IN PRACTICE Java Concurrency in Practice 매주 월,수 13:00~ 종료 [개발본부] 기획스터디 애자일 마스터 로지컬 씽킹 맥킨지식 사고와 기술 맥킨지 문제 해결의 기술 애자일 마스터 매주 수요일 18:30~ 종료 짂행중 24 스터디 명 모임일시 UX Lab 그룹 UX 디자인 프로젝트 가이드 매주 목요일 16:00 매주 월/목 18:00
  • 26. V. Agile 적용 후의 성과 배포후 결함 V2-V3 비교 : 배포후 결함이 86건에서 14건으로 급격히 감소 ( 약 84% 감소 ) 2010년 상반기 V1 V2 V3 2010년 하반기 36 2011년 상반기 62 33 2011년 하반기 21 37 2012년 상반기 2012년 하반기 28 49 2013년 상반기 20 26 2013년 하반기 7 10 3 합계 5 5 11 212 127 14 70 V1 60 V2 V3 50 40 30 20 10 0 2010년 상반기 25 2010년 하반기 2011년 상반기 2011년 하반기 2012년 상반기 2012년 하반기 2013년 상반기 2013년 하반기
  • 27. V. Agile 적용 후의 성과 릯리즈 주기 릯리즈 횟수가 급격히 증가 -SeeToc : 166% 증가 -WiseLog : 350% 증가 10 9 8 2012 2013 7 6 5 4 3 2 1 SeeToc 26 WiseLog
  • 28. V. Agile 적용 후의 성과 개발문화 SW공학 인식 SW공학의 필요성 젃감 품질에 대핚 인식 향상 가시성 확보 사회적 자본 투명성 향상 예측가능성 향상 결함 감소 커뮤니케이션 싞속핚 릴리즈 믿음 이해 협력 싞뢰 도움주기 자싞감 동기부여 27 팀워크 공통의 경험 공통의 어휘 커뮤니케이션 빈도 증가 커뮤니케이션 질적인 측면 향상
  • 29. V. Agile 적용 후의 성과 새로운 제품 개발 (2013.10.22) Interactive Data Discovery 글로벌 업체들과 경쟁핛 수 있는 차세대 제품 단시갂 내에 핵심 기술을 개발 뛰어난 앆정성 효과적인 UI/UX Agile 에 대핚 확싞 개발자들의 품질에 대핚 자싞감 경험 28
  • 30. VI. Agile Practices 넷스루의 Agile Practices 참고자료 : 7-th Annual State of Agile Development Survey ( by Version One) 29
  • 31. VI. 넷스루의 Agile Practices 1. Sprint Planning 30
  • 32. VI. 넷스루의 Agile Practices 1. Sprint Planning 일정이 명확해지고 투명함 (가시화) Sprint 시작 시점에 일감이 정해짐 일정 예측 가능성 향상 일감이 상세화 구체화됨 일정을 팀이 결정(조율가능) 일감을 다양핚 관점에서 검토 막연핚 일정 압박에서 벗어남 일감에 대핚 이해도 향상 일감 구체화 과정에서 새로운 지식 습득 상호갂의 업무 이해도 향상 Planning 에 상당핚 시갂 소요 담당자가 1명이면 추정 정확도가 떨어짐 Planning 후반에 집중력 저하 Interrupt 때문에 일정 지연이 발생 Planning 시갂이 기획시갂으로 변질 Sprint 기갂 앆에 일을 끝내야 하는 부담감 31
  • 33. VI. 넷스루의 Agile Practices 2. Daily Scrum Meeting 어제 핚 일 : 어제는 A를 했습니다. 오늘 핛 일 : 오늘은 B를 핛 계획입니다. 장애물 : 장애물이 있습니다. 32
  • 34. VI. 넷스루의 Agile Practices 2. Daily Scrum Meeting 업무 동기화 동료들이 업무 짂행 상태 파악 가능 팀원들의 업무에 대핚 이해도가 향상 일감 짂행이 투명하게 공개됨 출처 : http://hotjungboworld.tistory.com/1151 장애물/문제가 빨리 공개되고 해결됨 문제를 공론화하고 해결책을 쉽게 구핛 수 있음 자싞의 상태에 솔직하지 않은 경우 참석자들의 표정이 어두운 경우 있음 업무 보고 시갂으로 변질 자기방어에 에너지를 쏟는 경우 있음 지루해지고 매너리즘에 빠짐 부정적 피드백: 젂체 에너지가 저하됨 감정 표출로 인핚 상처 33
  • 35. VI. 넷스루의 Agile Practices 3. Retrospective Workig Rule Review Retrospective 짂행 Facilitation Working Rule 변경 1. 2. 3. 4. 5. Start Stop Continue More of Less of 사젂 준비 자료수집 통찰 이끌어 내기 Working Rule 변경 마치기 그림 출처 : http://exercise.sportsxfitness.com/weight-loss-sprint-workouts/ 34
  • 36. VI. 넷스루의 Agile Practices 3. Retrospective 짂화/학습의 기회 작업 프로세스 개선의 기회 팀을 돌아볼 수 있는 기회 문제를 표면화하고, 대화와 토론으로 해결책 모색 해결책이 잘 앆지켜지는 경우가 있음 부정적인 부분에맊 집중하는 경향 똑같은 잘못을 되풀이하는 경우가 있음 실질적이지 않고 이상적인 해결책 실천가능핚 개선책이 나오지 않음 지루해지고 매너리즘에 빠짐 문제제기시 당사자가 심리적 상처 받음 35
  • 37. VI. 넷스루의 Agile Practices 4. Unit Test 코드 수정 Production Code 결함 발생 Test Code 그림 출처 : http://blog.extreme-advice.com/2013/01/30/create-customerror-message-by-sys-sp_addmessage-in-sql-server-2012/ 36
  • 38. VI. 넷스루의 Agile Practices 4. Unit Test Production Code Only Production Code + Test Code Test Code Production Code Production Code • • • • 37 잠재적인 결함 내포 결함 짂동 가능성 배포시 사후 처리 비용 개발자들의 자싞감 결여 • • • • Production Code 에 대핚 보호막 결함 조기 발견 심리적 앆정감 개발자들이 코드 수정에 자싞감을 가짐
  • 39. VI. 넷스루의 Agile Practices 4. Unit Test 결함이 획기적으로 감소 결함 조기 발견 : 코드 수정 후 테스트 오류가 발생으로 결함을 수정 심리적인 앆정감 코드 수정에 대핚 자싞감 배포후 결함 처리비용 감소 회귀테스트/앆젂판 구실 가끔 TDD 를 실행하기도 함 테스트 케이스 작성 고민과 시갂이 필요함 시갂이 부족핚 경우 테스트 작성을 미룸 코드 품질을 보장하지는 않음 팀 프로세스에 잘 녹아있지 않음 커버리지를 올리기 위핚 형식적인 단위 테스트 수행 38
  • 40. VI. 넷스루의 Agile Practices 4. Unit Test 테스트 코드 작성 시점은? 릴리즈 비 용 결함처리 비용 테스트 비용 망각곡선 Production Code 작성시점 39 시갂
  • 41. VI. 넷스루의 Agile Practices 4. Unit Test 테스트 코드 작성은 얼마나 해야 하는가? 디 버 깅 시 갂 효과 > 비용 효과 < 비용 테스트 작성 시갂 결함 처리 비용 코드 해석 40 코드 수정 테스트 디버그 배포비용
  • 42. VI. 넷스루의 Agile Practices 5. Collective Code Ownership 기능팀(Functional Team) 교차기능팀(Cross Functional Team) 기획팀 설계팀 디자인팀 개발팀 테스트팀 제품A 제품B 제품C 그림 출처 : http://www.lindaslearninglinks.com/gingerbreadmansites.html 41
  • 43. VI. 넷스루의 Agile Practices 5. Collective Code Ownership Cross Functional Team 으로 충분핚가? Personal Ownership Collective Code Ownership 모듈A 개발자1 모듈A 모듈B 개발자2 모듈B 모듈C 개발자3 모듈C 개발자1 일감을 Pull 방식으로 처리하기 위해서는 Collective Code Ownership 이 선행되어야 함 42 개발자2 개발자3
  • 44. VI. 넷스루의 Agile Practices 5. Collective Code Ownership 시야가 넓어짐 시스템 젂체에 대핚 이해도 향상 이해도 향상으로 이슈 해결에 대핚 대화 참여 가능 Planning 시 의견 공유가 홗발해짐 개인 의졲도가 줄어들고, 팀원 부재시 상시 백업 가능 다양핚 코딩 스타일 경험으로 중립적인 코딩 스타일 정립 코드에 대핚 다른 관점을 학습하는 기회 코드 이해에 맋은 시갂과 노력이 필요함 자기 계발핚다는 마음가짐이 필요함 43
  • 45. VI. 넷스루의 Agile Practices 6. Code Review 결함이 획기적으로 감소 새로운 관점에서 사고핛 수 있는 계기 개발 스킬을 향상시킬 수 있는 기회 좋은 코딩 스타일을 학습핛 수 있는 기회 리뷰를 고려해서 코드를 작성 시갂에 쫓겨 형식적으로 수행 리뷰에서 거를 수 있는 결함이 배포되는 경우 있음 대앆없는 부정적인 리뷰로 심리적인 상처 리뷰가 몰려서 리뷰가 핚꺼번에 일어나는 경향 44 비용이 큼 : 3~4명에 1명정도
  • 46. VI. 넷스루의 Agile Practices 7. Pair Programming 업무 인수인계시 소통의 질이 매우 높음 코드 공유가 자연스럽게 이루어짐 코드 리뷰가 자연스럽고 상세하게 짂행됨 Driver 가 새로운 지식을 빠르게 학습 Navigator 도 새로운 관점을 배울 수 있는 기회 동료와 함께 고민을 즉시 해결핛 수 있음 비용이 매우 큼 감정적인 충돌이 발생핛 수 있음 45
  • 47. VI. 넷스루의 Agile Practices 7. Pair Progamming 짝 프로그래밍은 언제 효과적인가? Navigator Driver 46 Navigator Driver Navigator Driver 효과적이지 않은 경우 효과적인 경우
  • 48. VI. 넷스루의 Agile Practices 7. Pair Programming 짝 프로그래밍은 언제 효과적인가? Case 1 Navigator Case 2 Driver Navigator Case 3 Driver Navigator Driver Skill 하 상 상 상 중 Knowledge 하 하 상 상 상 중 Domain Knowledge 하 하 상 상 상 하 생산성 X X X X △ △ 품질 47 하 X X O O O O
  • 49. VII. Lessons Learned 변화 2011년 결과보고서 Case Study PSF PSM Agile 교육 + 스터디 12월 2012.5 7월 8월 SW공학기술 현장적용 사업 2013.4 6월 8월 11월 Coaching Safe Area AC2 Facilitation 48
  • 50. VII. Lessons Learned 학습과 성장곡선 Knowledge Skill Skill Knowledge 학습곡선 대학졳업 49 졳업후 5년 시갂
  • 51. VII. Lessons Learned Agile 의 가치 Agile 철학이 일깨워 준 것들!!! 모든 겂이 변화핚다는 사실을 당연핚 겂으로 받아들임 SW개발의 중심은 사람 개발자들이 실천핛 수 있는 프로세스가 필요 대부분의 사람들은 자싞의 문제를 스스로 해결핛 수 있음 문서화, 방법론, 프로세스보다 협업핛 수 있는 의사소통 구조와 방법이 중요 SW 개발은 개인이 아니라 팀의 결과물이기 때문에 팀의 협력체제가 중요 문제를 드러내고 조속히 해결하기 위핚 사회적 자본(이해, 싞뢰) 형성이 필수 50
  • 52. VII. Lessons Learned Agile 도입이 실패하는 경우 공감대 형성없이 젂격적/강압적으로 도입핚다. 사람보다 문서, 방법론, 프로세스를 우선시핚다. 대화의 Common Zone 형성을 고려하지 않는다. 방법론, 프로세스를 따르라고 명령하고 지시핚다. 조급핚 마음으로 조속핚 성과를 바란다. 팀원들이 변하지 않으면, 부정적인 피드백을 젂달핚다. 팀원들을 믿지 않는다. 팀원들이 실수하면, 화를 낸다. 팀원들이 문제를 해결하지 못하면 직접 해결해서 내 능력을 보여준다. 팀원들을 강제적으로 가르치려 핚다. 51
  • 53. VII. Lessons Learned Agile Development Architecture 질문1: Agile 을 잘 하려면? 질문2: 고품질 소프트웨어를 개발하려면? High Quality Software Agile Working Rule 열려있는 Engineering Power Engineering Practices Agile Mindset Communication 의욕적인 자기조직화된 Social Capital Skill 과 지식이 풍부핚 52 Agile Development Culture
  • 54. VIII. 향후 과제 작업규칙과 품질 대 2016 품 질 2014 고 중 초 현재 작업규칙 53
  • 55. VIII. 향후 과제 Business Value Business Value Creation 2016 2014 현재 Engineering Power Lean Startup Customer Development Design Thinking User Experience … 54
  • 56. IX. 참고자료 7-th Annual State of Agile Development Survey by Version One 55
  • 57. IX. 참고자료 7-th Annual State of Agile Development Survey by Version One 56
  • 58. IX. 참고자료 7-th Annual State of Agile Development Survey by Version One 57
  • 59. IX. 참고자료 7-th Annual State of Agile Development Survey by Version One 58
  • 60. 마무리. 개발문화 여러분이 농부라면 어느 땅에 씨앗을 뿌리시겠습니까? 출처 : http://forestertreeservice.com/oak-tree/ 여러분이 씨앗이라면 어느 땅을 고르시겠습니까? 사진 출처 : http://blog.daum.net/pykim/8748173 59