Upgrade to Pro — share decks privately, control downloads, hide ads and more …

the-art-of-develop-culture-at-cybozu

49b08973c143dc1424a05364e518d361?s=47 tomoya yokota
December 02, 2017
2.4k

 the-art-of-develop-culture-at-cybozu

開発文化を育て広げる愉しみ @ Cybozu Tech Conference 2017

https://cybozutech2017.qloba.com/

49b08973c143dc1424a05364e518d361?s=128

tomoya yokota

December 02, 2017
Tweet

Transcript

  1. ։ൃจԽΛҭͯ ޿͛Δ༇͠Έ Cybozu Tech Conference 2017 @yokotaso

  2. νʔϜͷ։ൃମ੍ • Ϣʔβʔ؅ཧػೳΛ୲౰ • ։ൃ͸೔ຊɺࢼݧ͸೔ຊ + ্ւ ͷ 2ڌ఺ •

    ࠷ॳ͸ 1-SprintͰ։ൃ ~ ࢼݧઃܭͰ Done
 ։ൃ ~ ࢼݧ׬ྃ·ͰҰݸྲྀ͠΋࠷ۙͰ͖ΔΑ͏ʹ • Ҏલ͸։ൃFixޙʹɺࢼݧ։࢝
  3. ͳͥKanbanͳͷ͔ʁ • ϚϧνϓϩδΣΫτ୲౰ϝϯόʔ͕ଟ͍ • Өͷ࢓ࣄͷଘࡏ
 λεΫΛґཔ͠ʹ͍͘ 
 ୭͕ԿΛ΍͍ͬͯΔͷ͔Θ͔Βͳ͍ • ։ൃ

    ~ ࢼݧ׬ྃͷ࢓ࣄͷྲྀΕΛ଎͍ͨ͘͠
  4. ։ൃจԽͷྺ࢙

  5. ΦϯϓϨϛεظͱ։ൃจԽ • ೥୯Ґͷ։ൃɾࢼݧεέδϡʔϧ • Unit Test͕ͳ͍ϓϩμΫτ • ։ൃFixલʹσΠϦʔϏϧυΛಈ͔͢ • ☠☠։ൃจԽ☠☠

  6. Ϋϥ΢υ૑ੈهͱ։ൃจԽ • ϦϦʔεͷ૿Ճ • ෆ҆ఆͳ඼࣭ͱ։ൃ޻਺ͷരൃ • CI/CDΛར༻ͨ͠඼࣭ͷ҆ఆԽ • ։ൃޮ཰ͷ޲্ʹੵۃ౤ࢿ •

    ։ൃࢧԉͨΊͷ։ൃจԽ
  7. Ϋϥ΢υશ੝ظͷ։ൃจԽ • Ϋϥ΢υ૑ੈهͷ։ൃจԽ͕ϕʔεʹվળ
 ։ൃͷϘτϧωοΫ͕গͳ͘ͳΔ • ։ൃ͔Βࢼݧ޻ఔ·ͰΛؚΊͨશମ࠷దԽ • Scrum / Kanban

    ܕͷ։ൃελΠϧ • Ձ஋Λૉૣ͘ಧ͚ΔͨΊͷ։ൃจԽ΁
  8. ։ൃจԽ͸ ϏδωεΛࢧ͑Δ ॏཁͳϑΝΫλʔ΁

  9. ٙ໰

  10. ᷚͷϤαήͳ։ൃจԽ ͏ͪʹ͸ೃછ·ͳ͍ͷ ͳΜͰͩΖ͏ʁ

  11. ಋೖ͚ͨ͠Ͳɺ ଓ͔ͣʹഇΕͯ͠·ͬͨɻ

  12. αΠϘ΢ζ͞Μ͔ͩΒ ͳΜͰ΋͏·͍͘͘ΜͰ͠ΐ? ͏ͪʹ͸ͪΐͬͱ…

  13. αΠϘ΢ζͰ΋ࣦഊ͠ͳ͕Β લਐ͍ͯ͠Δͷ͕ݱ࣮ͳͷͰ͢

  14. ೔ຊ&্ւͰKanbanΛ ಋೖͨ͠ͷͱ աڈͷࣦഊΛωλʹ…

  15. ։ൃจԽΛҭͯΔ Practice ຊ୊ʂ

  16. ཯଎͸จԽͷ฼ ϘτϧωοΫ

  17. ͦΕϘτϧωοΫͳ͘ͳΔͷʁ • ◦◦จԽΛແཧʹ࡞Ζ͏ͱͯ͠·ͤΜ͔ • ಋೖͨ͠ΒϘτϧωοΫ͕ͳ͘ͳΔͷ͔ʁ • ϘτϧωοΫ͕ղফ͠ͳ͍จԽ͸ഇΕΔ • ίʔυ΍૊৫ͷঢ়گʹΑͬͯ։ൃจԽ΋ଟ༷

  18. % UnitTestΛ޿ΊΑ͏ͱͨ͠ • UnitTest͕౰ͨΓલͷ։ൃମ੍ʹ͔ͨͬͨ͠ • ౰࣌ͷঢ়گͰ͸UnitTest͸·ͩૣ͔ͬͨ • UnitTest͸ϘτϧωοΫͰ͸ͳ͔ͬͨ
 ΄͔ʹେ͖ͳ໰୊͕͋ͬͨ

  19. &σΠϦʔϏϧυΛࣗಈԽ • ΦϯϓϨɾΫϥ΢υͷΞʔΧΠϒͷ
 ϏϧυεΫϦϓτΛ੔උ͠௚ͨ͠ • JenkinsͰ࣮ߦͰ͖Δ͓खܰײ • ΦϯϓϨͱΫϥ΢υͷಉ࣌ࢼݧ͕Մೳʹ
 େ͖ͳϘτϧωοΫͩͬͨ

  20. ։ൃจԽͷ࢝·ΓΛ͸͡ΊΑ͏ • ϘτϧωοΫΛղফͰ͖Ε͹େࣄʹ͞ΕΔ • ΈΜͳ͕େ੾ʹ͢Δ΋ͷ 
 ։ൃจԽͷܧଓʹඞཁෆՄܽ • ։ൃจԽͷ֎ʹ৽͍͠։ൃจԽ͕͏·ΕΔ
 όʔϜΫʔϔϯߏ଄

  21. ஥ؒΛ૿΍ͦ͏

  22. & શһࢀՃܕͷษڧձΛ։͜͏ • ஌ࣝͷϕʔεϥΠϯΛἧ͑Α͏ • ษڧձͷ୊ࡐΛ࢖ͬͯ໰୊ҙࣝͷڞ༗ • γϯϓϧͳݪཧɾݪଇͷཧղ > ࡉ͔ͳ஌ࣝ

    • શһࢀՃ͠΍͍͢ษڧձΛ
 ଥڠͰ͖Δ΋ͷ͸ੵۃతʹଥڠ͢Δ
  23. &্ւ ೔ຊ Χϯόϯษڧձ • ࡉ͔͍஌ࣝΑΓ΋ɺΧϯόϯͷཧղΛపఈ
 WIPɺ࢓ࣄͷྲྀྔ੍ݶ
 ࢓ࣄͷՄࢹԽ
 ࢓ࣄΛৼΓฦͬͯKanbanͰվળ͢Δʁ

  24. &্ւ ೔ຊ Χϯόϯษڧձ • ӳޠͰফ໣ͨ͘͠ͳ͔ͬͨͷͰ຋༁ॻΛར༻

  25. &্ւ ೔ຊ Χϯόϯษڧձ • Χϯόϯ࢓ࣄज़ͷ෇࿥ʹήʔϜ͕͋Δ • KanbanͷݪཧݪଇΛମײͰ͖Δ
 ඦฉ͸Ұݟʹ͔ͣ͠ • ։ൃจԽʹ͍ͯͨ͘͠Ίʹ͸ʮͳͥʓʓʁʯ


    ͷڞײ͕ඞཁෆՄܽ
  26. % ༗ࣝऀษڧձΛ։͘ • ϧαϯνϚϯ͕ཷ·Γ͕ͪ • ࢀՃऀ=໰୊ҙ͕ࣝ͋ΔਓͳͷͰޮՌ͕ബ͍ • ϝϯόʔͰ஌͕ࣝࠩग़ͯ͠·͏ • ཧ૝͕ڞ༗Ͱ͖ͳ͍

  27. Small Start

  28. Ͱ͖Δ͜ͱΛ͙͢ʹ࢝ΊΑ͏ • ޮՌ͕͋Γͦ͏ͩͬͨΒͬͦ࢝͘͞ΊΑ͏ • Ͱ͖Δ͚ͩγϯϓϧʹ1िؒ΍ͬͯΈΑ͏ • ϓϥΫςΟεͷҰ෦Ͱ΋OK • ࣗ෼ͨͪͰ࡞ͬͯӡ༻ͯ͠ΈΔͷ͕େ੾

  29. & KanbanΛ͙͢ʹ࡞ͬͨ • ॳճษڧձͷޙʹϗϫΠτϘʔυΛߪೖ • ্ւɺ೔ຊͰ؆୯ͳKanban࡞ͬͯΈͨ • ษڧձͷςʔϚΛKanbanʹద༻
 վ଄ͨ͠Γࢼߦࡨޡ •

    ݟ͍͑ͯͳ͔ͬͨ໰୊ͷൃݟɺ৽ͨͳؾ͖ͮ
  30. % ஌ࣝΛҰ௨Γ͚͔ͭͯΒ࣮ફ • ϕετɾϓϥΫςΟεͳͷʹ
 ։ൃϓϩηεʹͦͷ··ద༻Ͱ͖ͳ͍ • ݱঢ়ͱཧ૝ͷҧ͍ʹർฐ • ϓϥΫςΟεͷվ଄ɺऔࣺબ୒͕ඞཁͩͬͨ

  31. ޮՌతͳৼΓฦΓ

  32. & ޮՌతͳৼΓฦΓΛ͠Α͏ • ։ൃจԽͱͯ͠ఆணͤ͞ΔͨΊͷৼΓฦΓ • ݪཧɾݪଇΛҙࣝͯ͠ৼΓฦΓΛͯ͠ΈΑ͏ • ݪཧɾݪଇΛҙࣝͯ͠KAIZENΛߟ͑Α͏ • ஌͕ࣝఆண͍ͯ͠Δ͔ͷࢼۚੴ

  33. & ๙ΊΔϙΠϯτ͕໌֬ʹ • A͞ΜͷWIP͕ᷓΕͯͨͷͰλεΫΛ
 Ҿ͖ड͚·ͨ͠ • WIP͕ߴ͍ͷͰToDoλεΫΑΓ΋
 ϨϏϡʔλεΫΛऴΘΒͤΔ͜ͱʹ஫ྗͨ͠ • ো֐ରԠͳͲ͕ՄࢹԽ͞ΕͨͷͰɺ


    ϨϏϡʔґཔͷ૬खΛ޻෉Ͱ͖ͨ
  34. & ݪଇ͔ΒΈ͑ͨProblem • AλεΫΛ΍͍ͬͯΔ࣌ʹWIP͕૿Ճͨ͠ • ্ւͷWIP͕ߴ͍ͷ͸ͳΜͰͩΖ͏ʁ • ϚϧνϓϩδΣΫτͷ࢓ࣄΛ͢Δͱ͖
 WIPΛͲ͏ѻ͏΂͖ʁ

  35. % ;ΜΘΓͨ͠ৼΓฦΓ • ᘭ຤ͳProblem Λղܾ͢ΔՁ஋͸͋Δ͔ʁ
 ෳࡶͳղܾࡦΛ࠾༻ͯ͠ͳ͍ʁ • ։ൃϓϩηεͷϘτϧωοΫΛղফͰ͖Δ
 Problemͷൃݟɺௐࠪɺղܾʹ஫ྗ͠Α͏

  36. KAIZENͱकഁ཭

  37. & ৼΓฦΓ͔ΒKAIZEN͢Δ • ҰൠతͳPracticeʹ໡໨తʹैΘͣ
 ૊৫Χϧνϟʔʹ͋Θͤͯऔࣺબ୒
 վ଄͠Α͏ • ࣗ෼ͨͪʹ߹ΘͤͯɺPracticeΛ
 มߋ͍ͯ͘͜͠ͱ͕େ੾

  38. & कɾഁɾ཭ʂ • (Problem) 
 ։ൃ։࢝࣌͸ɺWIP͕௿͍ͷʹ
 ϨϏϡʔͷ΍ΓͱΓ͕࢝·ΔͱWIP͕ߴ·Δ • (Try)
 Review଴ͪͷ࣌ʹToDoͷ࢓ࣄΛ࣋ͪࠐΉͷ͕


    ݪҼͩͬͨɻKanbanΛվ଄ͩʂ
  39. Before ToDo Doing Done

  40. Before ToDo Doing Done WIPͷ੍ݶ͕ͳ͍ͷͰ ToDoͷ࢓ࣄ͕։࢝͞Εͯ ͠·͏

  41. Before ToDo Doing Done ϨϏϡʔΛґཔͨ͠Β ՋʹͳΔͷͰ
 ToDoʹணख͢Δ ࣮૷ ࣮૷

  42. Before ToDo Doing Done ϨϏϡʔ͕ؼͬͯ͘Δͱ DoingͷྻͷWIP͕
 ૿Ճͯ͠͠·͏ ϨϏϡʔ ϨϏϡʔ ϨϏϡʔ

    ࣮૷ ࣮૷
  43. Before ToDo Doing Done WIP͕ߴ͍ঢ়ଶ͸ ࢓ࣄͷ଎౓Λམͯ͠͠·͏ ͷͰKanbanͰ͸ݏΘΕΔ ϨϏϡʔ ϨϏϡʔ ϨϏϡʔ

    ࣮૷ ࣮૷
  44. After ToDo Doing Review Done ΞόλʔΛಋೖͨ͠ 1ਓ͋ͨΓ3ͭ
 ࢓ࣄ͕Ͱ͖Δ

  45. After ToDo Doing Review Done ReviewྻΛ৽ઃ
 ϨϏϡʔ͸ૣ͘
 ऴΘΒ͍ͤͨͷͰɺ
 ؔ܎ऀͷΞόλʔΛ
 શ͓ͯ͘

  46. After ToDo Doing Review Done ϨϏϡʔ͸༏ઌ౓͕
 ߴ͘ͳΔ ͸ToDoΛDoingʹ
 ҠಈͰ͖ͳ͍

  47. & ૊৫ʹ͋Θͤͨ։ൃจԽ • ૊৫ͷঢ়گ΍໰୊ʹ͋Θͤͨ։ൃจԽ • ૉͷPracticeͷద༻͔Β։ൃจԽ΁ • KAIZEN͔ΒPracticeΛվ଄͢Δ༐ؾ • ։ൃจԽ͸νʔϜͰҭͯ·͠ΐ͏

  48. & ւ֎ڌ఺͸Ͳ͏ͨ͠ͷ͔ʁ • ্ւͷKanban΋্ւͷΧϧνϟʔΛଚॏ • ࠷ॳͷKanbanΛ࡞Δͷ͚͓ͩख఻͍
 ࠔΓ͝ͱ૬ஊ΍஫ҙשى͙Β͍ • ڕΛ༩͑ΔΑΓڕͷ௼ΓํΛڭ͑Α

  49. & ւ֎ڌ఺͸Ͳ͏ͨ͠ͷ͔ʁ • جຊ͸kintoneͰλεΫॲཧ • ֤ڌ఺ͷKanbanͷը૾Λఆ࣌ʹΞοϓϩʔυ
 ଞڌ఺ͷλεΫ଴ͪʹؾͮ͘
 ଞڌ఺ͷWIPΛ૿΍͗͢͠ͳ͍Α͏ʹ • ؅ཧίετ͕͔͔Βͳ͍ӡ༻Λҙࣝ

  50. ෳརͱ࠶౤ࢿ

  51. • ෳར(༨৒࣌ؒ)Λ։ൃจԽʹ࠶౤ࢿ͍ͯ͘͠ • ఆணͨ͠։ൃจԽΛϕʔεʹ৽͍͠௅ઓ΁
 UnitTest ὎ CI/CD ὎ Scrum/Kanban ὎

    … • ௅ઓΛ͢ΔͨΊʹ։ൃจԽΛKAIZEN͍ͯ͘͠ ։ൃจԽΛਐԽͤ͞Α͏
  52. ςετΤϯδχΞʂ
 ൥ࡶͳࢼݧखॱͷࣗಈԽ͍ͨ͠

  53. վमޙɺଈϦϦʔε͍ͨ͠ʂ ։ൃϓϩηεͷਐԽ͸ ·ͩ·ͩඞཁʂ

  54. ΑΓΞδϟΠϧͳ։ൃจԽ΁ • ։ൃจԽΛ࡞Γม͖͑ͯͨࣄ࣮͕
 ૊৫ͷେ͖ͳࡒ࢈ɺ૊৫ͷجૅମྗʹͳΔ • ΞδϟΠϧͳ։ൃϓϥΫςΟεͰ͸ͳ͘
 ΞδϟΠϧͳ૊৫ɺ։ൃจԽΛ໨ࢦ͢ • ໰୊͸͋Δ͕ɺมΘ͍͚ͬͯ͹͍͍

  55. ։ൃจԽΛ ਐԽͤ͞Δ
 औΓ૊Έ͸ଓ͘

  56. ͦͯ͠ɺເͷ֎΁

  57. ૊৫Λ௒͑ͯ։ൃจԽ͕޿͕Δ • ڌ఺ ૊৫Λ௒͑ͯ։ൃจԽΛҭͯΔऔΓ૊Έ • ։ൃจԽΛҭͯ޿͛ΔίπΛ͓࿩͠·ͨ͠ • 100૊৫͋ͬͨΒ100௨Γͷ։ൃจԽ • ϘτϧωοΫΛղফ͢Δ։ൃจԽͰ͋Ε

  58. ΦϯϓϨϛε࣌୅ͱ͸ִੈײ • ։ൃจԽ͕ત·͔ͬͨ࣌͠୅ • ։ൃจԽ͕͋Δ૊৫ʹಌΕ͍ͯͨ • ಌΕ͔Β։ൃจԽͷ͋Δ૊৫ʹͳΕͨ • ͦͯ͠ɺເͷ֎΁
 ͜Ε͔Β΋։ൃจԽΛҭ͍͖͍ͯͯͨ

  59. ΤϯδχΞͷ
 ʰָ͍͠ʱΛ
 ޿͛Α͏

  60. ։ൃจԽΛҭͯ ޿͛Δ༇͠Έ Thank you!