tdd retro agile_korea_게시용

Post on 05-Dec-2014

1.049 Views

Category:

Documents

8 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

TDD 실천법과 도구

2년 뒤

아.. 난 몰라.. 2년 더 나이 먹었네…

TDD practices & tools, two years later…

발표자소개

채수원 SUWON, CHAE

- NHN Open Publishing Team, nFORGE Dev.

- TDD실천법과 도구 저자

- Agile Coach

- node.js community octoberskyjs leader

- blog.doortts.com

- twitter.com/doortts

무슨 이야기를?

- 지난 3년 동안의 이런저런 경험들

- 근원적인 고민, 정말 도움되나? TDD

- 배운 점, 바뀐 점, 느낀 점

- Last 3 years of agile coaching and TDD - Question about ‘TDD real world works?’ - What I have learned, changed in mind

topics

얻어 갔으면 하는 것

- TDD를 어떻게 바라봐야 하나?

- (많은 비용을 치르고 얻은)

실패를 줄일수 있는 몇 가지 팁!

- 편하고 즐거운 20분

- 마음속에 작은 불씨 하나

- View of Real world TDD - TDD tips - small passions in your hearts

- my aims of this session

안내!

듣다가 이상하더라도 다 이해해 주세요.

힘들어서 그런가 보다 하고 말에요…

저 나쁜 사람은 아니네요..

20분동안 68장의 PPT가 롤러코스터 처럼 지나갑니다!

I have a question!

우리끼리…

- TDD로 개발을 하고 있나요?

Are you using TDD?

let’s talk frankly…

우리끼리…

- 팀 전체가 TDD 방식으로 개발을 한 적 있나요?

Does your team is using TDD?

let’s talk frankly…

우리끼리…

- 주변 사람들을 몇 명쯤 변화 시켰나요?

Do you have a experience making a change other people?

let’s talk frankly…

괜찮습니다. 저도 부끄러워서

어디 가서 뭐라 말 잘 못합니다.

It’s ok. I’m the same as you.

what a shame…

이미지출처: http://elgah.egloos.com/tag/%EC%AA%84%EC%A3%BD%EC%9D%BC%EC%83%9D%EA%B0%81%EC%9D%B4%EB%83%90/page/1

지난 수 년 동안 배운점…

뭘.. 배웠을까나…

What I have learned for last few years ...

생각보다 잘 안되더군요

-확산이 -함께 하는 것이 -그리고 주변 사람들을 변화시키는 것이

It is hard to… spread tdd practice, do together, and do change other people to do tdd

이미지출처: http://goo.gl/WFPfS

대상이 없으니 감동이 적다

- TDD로 뭘 해결 할 수 있나?

- 신기함은 잠깐

- 감동도 잠깐

주객전도

At first, many developers are using TDD to do TDD. It make a man tired…

TDD is just a way to development, not a purpose

재미가 없다!

- 커버리지의 압박! (수치로 체크)

no재미

became not a funny because of test coverage pressure

I cannot feel any joy of tdd

감동도 잠깐..

“님아.. 지금 제 현실이 녹록치 않아염..”

현실은 시궁…

first impression of tdd is just a moment. we forget the emotion very soon…

“I know the benefit of tdd, but I’m living in the real world. we can afford it..”

왜 안될까?

- TDD를 꼭 써야 하나?

- TDD가 안되는 이유?

- 개발이 잘 안되는 이유?

- 프로젝트가 실패하는 이유?

- 나만 잘 안 되는 것 같은 이유? (으응??)

Reason why?

Why is it so hard?

한 달 안에 20년 산 포도주와 동일한 맛의 포도주를 만드는 방법은?

Do you know the way to make a normal wine’s to 20 years old wine?

???

원래 안 되는 것이 있습니다…?

Basically, it is impossible to do, except cheating other people. It’s very natural. but we easily think ‘There must be a way to do that’. If it can be, it’s unfair! We have to admit and accept it.

정말? ほんとうに? Are you sure?

XXX 방식 도입 실패의 이유..

우리 함께 생각해 보아요

Let’s think about why xxx methodology fails?

그럼 반대로

in the contrary…

XXX 방식 도입 성공의 이유..

우리 함께 생각해 보아요

Let’s think about it. why xxx methodology success? What is the differences?

동일환 환경이 아니다! 문맥이 다르다! 신은 같은 사다리를 두 번 쓰지 않는다.. 등등등…

It depends on context! But we usually use same shovels in different contexts , and fails..

몇 가지 이유들 그리고 배운 점...

what I have learned…

밥 아저씨..

우리 함께 생각해 보아요

“젝일.. 내가 그리면 오징어가 된다..”

Type A Bob ross

He draws very easily, but I couldn’t. why?

밥 아저씨..

“젝일.. 내가 그리면 오징어가 된다..”

우리 함께 생각해 보아요 Type B

Bob ross

기술이 없어서 TDD를 못하는 경우는 없더라!

Problem depends on habit and attitude, not technic.

HIGH LOW

HIGH

LOW

밀린다…

1 2

3

Importance

Urgency Tipping force

Most of people’s todo choice order

그리고 대부분은 그렇게 살다가 간다… (어딜? 집에?)

It’s ok! It’s our ‘life’

그런데 한편으로는...

By the way…

이왕지사 축구로 밥 벌어 먹고 살기로 작성했다면 박지성 같은 축구선수가 한번 돼보자! 싶은 생각이 들기도 한다.

Become a Jisung Park

박지성이 되는 방법/맨유를 만드는 방법

1. TFT를 구성해서 박지성 양성계획을 세운다

2. 히딩크를 불러 하루 8시간짜리 집중교육 코스를

3일간 받는다.

3. 교육 내용을 실천에 옮기고 전파 교육을 하라고

한다.

4. 박지성(=핵심인재) 양성 KPI를 수립한다.

공대생이 이별에 대처하는 방식... 같은..

박지성이 안 되는 이유/맨유를 못 만드는 이유

1. 공을 좀 차 봤는데 골대에 잘 안 들어 간다. 잘 안되니까 왠지 차기 싫다.

2. 경기 없을 때나 시간 날 때 살짝 연습을 해 봤는데 맨유팀이나

박지성이니까 되는 거지 현실(우리팀)은 그렇지 않다 싶다.

3. 사장이 아무래도 컨설턴트에게 속은 것 같다. 원래 국내에선 안 되는 것

일거다.

4. KPI를 위해 우선 현재 우리가 잘하고 있음을 표현하기 위해 '득점

낌새율'이라는 새로운 항목을 만들어 표현한다.

5. 내년에는 득점율이 꽤 높아질 거라는 예상 보고서를 쓴다.

6. 감독이 바뀐다.

으응?

이미지출처: http://sketchpan.com/?lsw0360=110186

연습을 안한다 연습 할 시간을 안준다 포기가 빠르다 현실 타협 자기 합리화

그런데 어쩌라고, 원래 나란 인간… 태생이 그리 생겨 먹은걸.. 인간은 나약한 존재…

無智: 문제가 무엇인지 알지 못한다.

無試: 변화를 시도하지 않는다.

無持續: 시도를 지속하지 않는다.

無改善: 개선하지 않는다.

Why we fail?

그래도 열심히 고민해 보면 실패의 과정이란…

- don’t know what is the problem - don’t try - don’t keep going - don’t make improvement

사실 나의(=우리의) 고민은…

- in fact, our most important problem is…

좋은 개발자/엔지니어가 되고 싶다

좋은 소프트웨어를 만들고 싶다.

좋은 개발자를 양성하고 싶다.

그리고 그 좋은 개발자들이

좋은 소프트웨어를 만들어 줬으면 싶다.

개인

회사

다시 뒤로, 근원적인 부분으로 돌아가 보자…

TDD가 도움이 되는게 맞나?

잘 안 되는데,

걍 하지 말까…

이런 것 안 해도 잘 만드는 경우가 많지 않나?

TDD is really work and do good?

It’s so hard!

TDD is uncomfortable. I prefer not to do tdd.

My comrade doesn’t use tdd, but he is a good programmer!

당연히 본인의 경험에서 얻은 결론은

그 외의 많은 인터뷰, 사례, 질문, 아티클

등을 놓고 봤을 때 도움이 되는 건

맞는 것 같다.

TDD가 SW개발에 도움이 되나?

잘하는 사람

관찰하기… Watching the expertise

목표는

포인트 발견,

그리고 해당 포인트의 재현과 확산!

우선.. 나는 어떠한가?

원래 해야 하는 걸로 아는 사람들

이를테면…

- 협력업체 직원

- 신입사원

+ 그런거라고 내가 속인 사람들

주의!!

잘 하는 것 처럼 보이는

위험한 캐러…

우리팀 1등 개발자!

그리고.. 다음과 같은 조건을 가진 사람이 잘하더라

Experience - 장점을 기억, 실패를 경험

Divide & Conquer <- 정신적으로 힘들다…고 생각하게 된다.

Co-operation

TDD 할 때는 묻지 말고 지키자!

- 설계 먼저 하기

- Given/When/Then

no 질문, just do it!

given/when/then

가장 중요하면서도 괴로운 질문

"지금 작성하려고 하는 코드에서 테스트를 작

성할 수 있는 가장 간단한 것은?"

끊임 없는 질문과 접근사고의 변화가 필요

Somebody Help me~~~

“누가 쫌 도와주면 좋겠어염!”

코드리뷰 하자!!

코드리뷰 하자!!

업무코드 테스트 코드

여기 이 괄호하고 세미콜론들이 Tom의 코드를 완전히 엉망으로 만들고 있네요

Sally는 코드리뷰를 할 때 누굴 부르면 안되는 지에 대한 중요한 교훈을 하나 배웠다.

짝으로 시키니 훨~씬 낫다!

짝 프로그래밍 (Pair Programming)

58

여전히 심란한 부분들...

하면 좋긴 한데 힘들다..

안 그래도 일도 힘든데 해야 하나?

단위테스트 잘 만들면 조으다! 하지만..

안해도 잘 짜는 사람 많고, 잘 돌아가는 프로그램 많더라..?

60

흠….

외국 소스들은 안그렇던데?

없으면 defect report도 의심함

기능추가 해도 테스트 코드 없으면 pull 안 받아 주더라..

61

외쿡!

정리 TD;LR

TDD !!

- 확실히 좋은 SW만드는데 도움이 된다!

- 결과적인 비용을 줄이는데도 도움이 된다!

- 개발 기법/테크닉은 TDD를 지속적으로

해 나가는데 있어 크게 중요한 요소는 아님

잘 하려면 결국

- 습관만이 살길

- 느끼지 못하면 지속되지 않는다

기타..

- 선배의 사랑으로(=때려서) 가르치는 방법도 있…

- 큰 고민 안하고 주어진 일 성실히 하며 게 사는 것도

정신 건강한 직장인(=피고용인)의 한 자세일 수 있다!

(모두가 다 제갈공명, 유비, 관우가 되야 할 필요는 없다)

- 하지만 현재 자신의 일에서 성취와 성장을

하려면 그만큼의 노력이 필요하다.

- 사람마다 소재와 소질이 다르기 때문에

당연히 동일 수준에 다다르기 위한 연습량은

다르다는 걸 이해해야 한다.

만일 당신이 때때로 실패하지 않는다면, 그건 안이하게 살고 있다는 확실한 증거이다. - Woody Allen If you're not failing every now and again, it's a sign you're not doing anything very innovative.

시간이 된다면 한 가지만 더!

본인 살기도 힘든건 알지만 후배들도 챙기자

후배가 없으면 동기좀 챙기자

선배랑도 잘 지내며 선배도 챙기자

업계 선배들의 책임

top related