Tdd retro agile_korea_게시용

1,784 views
1,573 views

Published on

1 Comment
35 Likes
Statistics
Notes
No Downloads
Views
Total views
1,784
On SlideShare
0
From Embeds
0
Number of Embeds
175
Actions
Shares
0
Downloads
56
Comments
1
Likes
35
Embeds 0
No embeds

No notes for slide

Tdd retro agile_korea_게시용

  1. 1. TDD 실천법과 도구2년 뒤TDD practices & tools, two years later…아.. 난 몰라.. 2년 더 나이 먹었네…
  2. 2. 발표자소개 채수원 SUWON, CHAE - NHN Open Publishing Team, nFORGE Dev. - TDD실천법과 도구 저자 - Agile Coach - node.js community octoberskyjs leader - blog.doortts.com - twitter.com/doortts
  3. 3. topics무슨 이야기를? - 지난 3년 동안의 이런저런 경험들 - 근원적인 고민, 정말 도움되나? TDD - 배운 점, 바뀐 점, 느낀 점 - Last 3 years of agile coaching and TDD - Question about ‘TDD real world works?’ - What I have learned, changed in mind
  4. 4. - my aims of this session얻어 갔으면 하는 것 - TDD를 어떻게 바라봐야 하나? - (많은 비용을 치르고 얻은) 실패를 줄일수 있는 몇 가지 팁! - 편하고 즐거운 20분 - 마음속에 작은 불씨 하나 - View of Real world TDD - TDD tips - small passions in your hearts
  5. 5. 20분동안 68장의 PPT가 롤러코스터 처럼 지나갑니다! 안내!듣다가 이상하더라도 다 이해해 주세요.힘들어서 그런가 보다 하고 말에요…저 나쁜 사람은 아니네요..
  6. 6. I have a question!
  7. 7. let’s talk frankly…우리끼리…- TDD로 개발을 하고 있나요? Are you using TDD?
  8. 8. let’s talk frankly…우리끼리…- 팀 전체가 TDD 방식으로 개발을 한 적 있나요? Does your team is using TDD?
  9. 9. let’s talk frankly…우리끼리…- 주변 사람들을 몇 명쯤 변화 시켰나요? Do you have a experience making a change other people?
  10. 10. 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
  11. 11. 지난 수 년 동안 배운점… 뭘.. 배웠을까나… What I have learned for last few years ...
  12. 12. 생각보다 잘 안되더군요 -확산이 -함께 하는 것이 -그리고 주변 사람들을 변화시키는 것이 It is hard to… spread tdd practice, do together, and do change other people to do tdd이미지출처: http://goo.gl/WFPfS
  13. 13. At first, many developers are using TDD to do TDD. It make a man tired…대상이 없으니 감동이 적다- TDD로 뭘 해결 할 수 있나?- 신기함은 잠깐- 감동도 잠깐 TDD is just a way to development, not a purpose 주객전도
  14. 14. became not a funny because of test coverage pressure재미가 없다!- 커버리지의 압박! (수치로 체크) no재미 I cannot feel any joy of tdd
  15. 15. 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..” 현실은 시궁…
  16. 16. Reason why?왜 안될까?- TDD를 꼭 써야 하나?- TDD가 안되는 이유?- 개발이 잘 안되는 이유?- 프로젝트가 실패하는 이유?- 나만 잘 안 되는 것 같은 이유? (으응??)… Why is it so hard?
  17. 17. 한 달 안에 20년 산 포도주와동일한 맛의 포도주를만드는 방법은?Do you know the way to make a normal wine’s to20 years old wine?
  18. 18. ???
  19. 19. 원래 안 되는 것이있습니다…? 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.
  20. 20. 정말?ほんとうに?Are you sure?
  21. 21. Let’s think about why xxx methodology fails?우리 함께 생각해 보아요XXX 방식 도입실패의 이유..
  22. 22. in the contrary…그럼 반대로
  23. 23. Let’s think about it. why xxx methodology success? What is the differences?우리 함께 생각해 보아요XXX 방식 도입성공의 이유..
  24. 24. It depends on context! But we usually use same shovels in different contexts , and fails..동일환 환경이 아니다!문맥이 다르다!신은 같은 사다리를두 번 쓰지 않는다..등등등…
  25. 25. what I have learned…몇 가지 이유들그리고 배운 점...
  26. 26. 우리 함께 생각해 보아요 Type A Bob ross밥 아저씨.. “젝일.. 내가 그리면 오징어가 된다..” He draws very easily, but I couldn’t. why?
  27. 27. 우리 함께 생각해 보아요 Type B밥 아저씨.. “젝일.. 내가 그리면 오징어가 된다..” Bob ross
  28. 28. 기술이 없어서 TDD를못하는 경우는 없더라! Problem depends on habit and attitude, not technic.
  29. 29. Most of people’s todo choice order밀린다… Importance HIGH LOW HIGH 1 2Urgency Tipping force LOW 3
  30. 30. It’s ok! It’s our ‘life’그리고 대부분은그렇게 살다가간다… (어딜? 집에?)
  31. 31. By the way…그런데한편으로는...
  32. 32. 이왕지사축구로 밥 벌어먹고 살기로 작성했다면박지성 같은축구선수가 한번 돼보자!싶은 생각이 들기도 한다.
  33. 33. 공대생이 이별에 대처하는 방식... 같은..박지성이 되는 방법/맨유를 만드는 방법1. TFT를 구성해서 박지성 양성계획을 세운다2. 히딩크를 불러 하루 8시간짜리 집중교육 코스를 3일간 받는다.3. 교육 내용을 실천에 옮기고 전파 교육을 하라고 한다.4. 박지성(=핵심인재) 양성 KPI를 수립한다.
  34. 34. 박지성이 안 되는 이유/맨유를 못 만드는 이유1. 공을 좀 차 봤는데 골대에 잘 안 들어 간다. 잘 안되니까 왠지 차기 싫다.2. 경기 없을 때나 시간 날 때 살짝 연습을 해 봤는데 맨유팀이나 박지성이니까 되는 거지 현실(우리팀)은 그렇지 않다 싶다.3. 사장이 아무래도 컨설턴트에게 속은 것 같다. 원래 국내에선 안 되는 것 일거다.4. KPI를 위해 우선 현재 우리가 잘하고 있음을 표현하기 위해 득점 낌새율이라는 새로운 항목을 만들어 표현한다.5. 내년에는 득점율이 꽤 높아질 거라는 예상 보고서를 쓴다.6. 감독이 바뀐다.
  35. 35. 으응?이미지출처: http://sketchpan.com/?lsw0360=110186
  36. 36. 연습을 안한다연습 할 시간을 안준다포기가 빠르다현실 타협자기 합리화 그런데 어쩌라고, 원래 나란 인간… 태생이 그리 생겨 먹은걸.. 인간은 나약한 존재…
  37. 37. Why we fail?그래도 열심히 고민해 보면 실패의 과정이란… 無智: 문제가 무엇인지 알지 못한다. 無試: 변화를 시도하지 않는다. 無持續: 시도를 지속하지 않는다. 無改善: 개선하지 않는다. - don’t know what is the problem - don’t try - don’t keep going - don’t make improvement
  38. 38. 사실 나의(=우리의) 고민은… - in fact, our most important problem is…
  39. 39. 개인좋은 개발자/엔지니어가 되고 싶다좋은 소프트웨어를 만들고 싶다.회사좋은 개발자를 양성하고 싶다.그리고 그 좋은 개발자들이좋은 소프트웨어를 만들어 줬으면 싶다.
  40. 40. 다시 뒤로, 근원적인 부분으로 돌아가 보자…
  41. 41. 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!
  42. 42. TDD가 SW개발에 도움이 되나? 당연히 본인의 경험에서 얻은 결론은 그 외의 많은 인터뷰, 사례, 질문, 아티클 등을 놓고 봤을 때 도움이 되는 건 맞는 것 같다.
  43. 43. 잘하는 사람관찰하기… Watching the expertise
  44. 44. 목표는포인트 발견,그리고 해당 포인트의 재현과 확산!
  45. 45. 우선.. 나는 어떠한가?
  46. 46. 원래 해야 하는 걸로 아는 사람들이를테면…- 협력업체 직원- 신입사원+ 그런거라고 내가 속인 사람들
  47. 47. 주의!!잘 하는 것 처럼 보이는위험한 캐러… 우리팀 1등 개발자!
  48. 48. 그리고.. 다음과 같은 조건을 가진 사람이 잘하더라 Experience - 장점을 기억, 실패를 경험 Divide & Conquer <- 정신적으로 힘들다…고 생각하게 된다. Co-operation
  49. 49. TDD 할 때는 묻지 말고 지키자! - 설계 먼저 하기 - Given/When/Then no 질문, just do it!
  50. 50. given/when/then
  51. 51. 가장 중요하면서도 괴로운 질문"지금 작성하려고 하는 코드에서 테스트를 작 성할 수 있는 가장 간단한 것은?" 끊임 없는 질문과 접근사고의 변화가 필요
  52. 52. “누가 쫌 도와주면 좋겠어염!” Somebody Help me~~~
  53. 53. 코드리뷰 하자!!
  54. 54. 코드리뷰 하자!! 업무코드 테스트 코드
  55. 55. 여기 이 괄호하고 세미콜론들이 Tom의 코드를 완전히 엉망으로 만들고 있네요Sally는 코드리뷰를 할 때 누굴 부르면안되는 지에 대한 중요한 교훈을 하나배웠다.
  56. 56. 짝으로 시키니훨~씬 낫다!
  57. 57. 짝 프로그래밍(Pair Programming) 58
  58. 58. 여전히 심란한부분들...
  59. 59. 흠…. 하면 좋긴 한데 힘들다.. 안 그래도 일도 힘든데 해야 하나? 단위테스트 잘 만들면 조으다! 하지만.. 안해도 잘 짜는 사람 많고, 잘 돌아가는 프로그램 많더라..? 60
  60. 60. 외쿡! 외국 소스들은 안그렇던데? 없으면 defect report도 의심함 기능추가 해도 테스트 코드 없으면 pull 안 받아 주더라.. 61
  61. 61. 정리TD;LR
  62. 62. TDD !!- 확실히 좋은 SW만드는데 도움이 된다!- 결과적인 비용을 줄이는데도 도움이 된다!- 개발 기법/테크닉은 TDD를 지속적으로해 나가는데 있어 크게 중요한 요소는 아님
  63. 63. 잘 하려면 결국 - 습관만이 살길 - 느끼지 못하면 지속되지 않는다기타..- 선배의 사랑으로(=때려서) 가르치는 방법도 있…
  64. 64. - 큰 고민 안하고 주어진 일 성실히 하며 게 사는 것도정신 건강한 직장인(=피고용인)의 한 자세일 수 있다!(모두가 다 제갈공명, 유비, 관우가 되야 할 필요는 없다)- 하지만 현재 자신의 일에서 성취와 성장을하려면 그만큼의 노력이 필요하다.- 사람마다 소재와 소질이 다르기 때문에당연히 동일 수준에 다다르기 위한 연습량은다르다는 걸 이해해야 한다.
  65. 65. 만일 당신이 때때로실패하지 않는다면,그건 안이하게 살고 있다는확실한 증거이다.- Woody AllenIf youre not failing every now and again, its a signyoure not doing anything very innovative.
  66. 66. 시간이 된다면한 가지만 더!
  67. 67. 업계 선배들의 책임 본인 살기도 힘든건 알지만 후배들도 챙기자 후배가 없으면 동기좀 챙기자 선배랑도 잘 지내며 선배도 챙기자

×