$30 off During Our Annual Pro Sale. View Details »

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

tomoya yokota
December 02, 2017
2.9k

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

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

https://cybozutech2017.qloba.com/

tomoya yokota

December 02, 2017
Tweet

Transcript

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

    View Slide

  2. νʔϜͷ։ൃମ੍
    • Ϣʔβʔ؅ཧػೳΛ୲౰
    • ։ൃ͸೔ຊɺࢼݧ͸೔ຊ + ্ւ ͷ 2ڌ఺
    • ࠷ॳ͸ 1-SprintͰ։ൃ ~ ࢼݧઃܭͰ Done

    ։ൃ ~ ࢼݧ׬ྃ·ͰҰݸྲྀ͠΋࠷ۙͰ͖ΔΑ͏ʹ
    • Ҏલ͸։ൃFixޙʹɺࢼݧ։࢝

    View Slide

  3. ͳͥKanbanͳͷ͔ʁ
    • ϚϧνϓϩδΣΫτ୲౰ϝϯόʔ͕ଟ͍
    • Өͷ࢓ࣄͷଘࡏ

    λεΫΛґཔ͠ʹ͍͘ 

    ୭͕ԿΛ΍͍ͬͯΔͷ͔Θ͔Βͳ͍
    • ։ൃ ~ ࢼݧ׬ྃͷ࢓ࣄͷྲྀΕΛ଎͍ͨ͘͠

    View Slide

  4. ։ൃจԽͷྺ࢙

    View Slide

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

    View Slide

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

    View Slide

  7. Ϋϥ΢υશ੝ظͷ։ൃจԽ
    • Ϋϥ΢υ૑ੈهͷ։ൃจԽ͕ϕʔεʹվળ

    ։ൃͷϘτϧωοΫ͕গͳ͘ͳΔ
    • ։ൃ͔Βࢼݧ޻ఔ·ͰΛؚΊͨશମ࠷దԽ
    • Scrum / Kanban ܕͷ։ൃελΠϧ
    • Ձ஋Λૉૣ͘ಧ͚ΔͨΊͷ։ൃจԽ΁

    View Slide

  8. ։ൃจԽ͸
    ϏδωεΛࢧ͑Δ
    ॏཁͳϑΝΫλʔ΁

    View Slide

  9. ٙ໰

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    ΄͔ʹେ͖ͳ໰୊͕͋ͬͨ

    View Slide

  19. &σΠϦʔϏϧυΛࣗಈԽ
    • ΦϯϓϨɾΫϥ΢υͷΞʔΧΠϒͷ

    ϏϧυεΫϦϓτΛ੔උ͠௚ͨ͠
    • JenkinsͰ࣮ߦͰ͖Δ͓खܰײ
    • ΦϯϓϨͱΫϥ΢υͷಉ࣌ࢼݧ͕Մೳʹ

    େ͖ͳϘτϧωοΫͩͬͨ

    View Slide

  20. ։ൃจԽͷ࢝·ΓΛ͸͡ΊΑ͏
    • ϘτϧωοΫΛղফͰ͖Ε͹େࣄʹ͞ΕΔ
    • ΈΜͳ͕େ੾ʹ͢Δ΋ͷ 

    ։ൃจԽͷܧଓʹඞཁෆՄܽ
    • ։ൃจԽͷ֎ʹ৽͍͠։ൃจԽ͕͏·ΕΔ

    όʔϜΫʔϔϯߏ଄

    View Slide

  21. ஥ؒΛ૿΍ͦ͏

    View Slide

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

    ଥڠͰ͖Δ΋ͷ͸ੵۃతʹଥڠ͢Δ

    View Slide

  23. &্ւ ೔ຊ Χϯόϯษڧձ
    • ࡉ͔͍஌ࣝΑΓ΋ɺΧϯόϯͷཧղΛపఈ

    WIPɺ࢓ࣄͷྲྀྔ੍ݶ

    ࢓ࣄͷՄࢹԽ

    ࢓ࣄΛৼΓฦͬͯKanbanͰվળ͢Δʁ

    View Slide

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

    View Slide

  25. &্ւ ೔ຊ Χϯόϯษڧձ
    • Χϯόϯ࢓ࣄज़ͷ෇࿥ʹήʔϜ͕͋Δ
    • KanbanͷݪཧݪଇΛମײͰ͖Δ

    ඦฉ͸Ұݟʹ͔ͣ͠
    • ։ൃจԽʹ͍ͯͨ͘͠Ίʹ͸ʮͳͥʓʓʁʯ

    ͷڞײ͕ඞཁෆՄܽ

    View Slide

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

    View Slide

  27. Small Start

    View Slide

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

    View Slide

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

    վ଄ͨ͠Γࢼߦࡨޡ
    • ݟ͍͑ͯͳ͔ͬͨ໰୊ͷൃݟɺ৽ͨͳؾ͖ͮ

    View Slide

  30. % ஌ࣝΛҰ௨Γ͚͔ͭͯΒ࣮ફ
    • ϕετɾϓϥΫςΟεͳͷʹ

    ։ൃϓϩηεʹͦͷ··ద༻Ͱ͖ͳ͍
    • ݱঢ়ͱཧ૝ͷҧ͍ʹർฐ
    • ϓϥΫςΟεͷվ଄ɺऔࣺબ୒͕ඞཁͩͬͨ

    View Slide

  31. ޮՌతͳৼΓฦΓ

    View Slide

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

    View Slide

  33. & ๙ΊΔϙΠϯτ͕໌֬ʹ

    A͞ΜͷWIP͕ᷓΕͯͨͷͰλεΫΛ

    Ҿ͖ड͚·ͨ͠

    WIP͕ߴ͍ͷͰToDoλεΫΑΓ΋

    ϨϏϡʔλεΫΛऴΘΒͤΔ͜ͱʹ஫ྗͨ͠

    ো֐ରԠͳͲ͕ՄࢹԽ͞ΕͨͷͰɺ

    ϨϏϡʔґཔͷ૬खΛ޻෉Ͱ͖ͨ

    View Slide

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

    WIPΛͲ͏ѻ͏΂͖ʁ

    View Slide

  35. % ;ΜΘΓͨ͠ৼΓฦΓ
    • ᘭ຤ͳProblem Λղܾ͢ΔՁ஋͸͋Δ͔ʁ

    ෳࡶͳղܾࡦΛ࠾༻ͯ͠ͳ͍ʁ
    • ։ൃϓϩηεͷϘτϧωοΫΛղফͰ͖Δ

    Problemͷൃݟɺௐࠪɺղܾʹ஫ྗ͠Α͏

    View Slide

  36. KAIZENͱकഁ཭

    View Slide

  37. & ৼΓฦΓ͔ΒKAIZEN͢Δ
    • ҰൠతͳPracticeʹ໡໨తʹैΘͣ

    ૊৫Χϧνϟʔʹ͋Θͤͯऔࣺબ୒

    վ଄͠Α͏
    • ࣗ෼ͨͪʹ߹ΘͤͯɺPracticeΛ

    มߋ͍ͯ͘͜͠ͱ͕େ੾

    View Slide

  38. & कɾഁɾ཭ʂ
    • (Problem) 

    ։ൃ։࢝࣌͸ɺWIP͕௿͍ͷʹ

    ϨϏϡʔͷ΍ΓͱΓ͕࢝·ΔͱWIP͕ߴ·Δ
    • (Try)

    Review଴ͪͷ࣌ʹToDoͷ࢓ࣄΛ࣋ͪࠐΉͷ͕

    ݪҼͩͬͨɻKanbanΛվ଄ͩʂ

    View Slide

  39. Before
    ToDo Doing Done

    View Slide

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

    View Slide

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

    ToDoʹணख͢Δ
    ࣮૷
    ࣮૷

    View Slide

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

    ૿Ճͯ͠͠·͏
    ϨϏϡʔ
    ϨϏϡʔ
    ϨϏϡʔ
    ࣮૷
    ࣮૷

    View Slide

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

    View Slide

  44. After
    ToDo Doing Review Done



    ΞόλʔΛಋೖͨ͠
    1ਓ͋ͨΓ3ͭ

    ࢓ࣄ͕Ͱ͖Δ

    View Slide

  45. After
    ToDo Doing Review Done









    ReviewྻΛ৽ઃ

    ϨϏϡʔ͸ૣ͘

    ऴΘΒ͍ͤͨͷͰɺ

    ؔ܎ऀͷΞόλʔΛ

    શ͓ͯ͘

    View Slide

  46. After
    ToDo Doing Review Done









    ϨϏϡʔ͸༏ઌ౓͕

    ߴ͘ͳΔ
    ͸ToDoΛDoingʹ

    ҠಈͰ͖ͳ͍

    View Slide

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

    View Slide

  48. & ւ֎ڌ఺͸Ͳ͏ͨ͠ͷ͔ʁ
    • ্ւͷKanban΋্ւͷΧϧνϟʔΛଚॏ
    • ࠷ॳͷKanbanΛ࡞Δͷ͚͓ͩख఻͍

    ࠔΓ͝ͱ૬ஊ΍஫ҙשى͙Β͍
    • ڕΛ༩͑ΔΑΓڕͷ௼ΓํΛڭ͑Α

    View Slide

  49. & ւ֎ڌ఺͸Ͳ͏ͨ͠ͷ͔ʁ
    • جຊ͸kintoneͰλεΫॲཧ
    • ֤ڌ఺ͷKanbanͷը૾Λఆ࣌ʹΞοϓϩʔυ

    ଞڌ఺ͷλεΫ଴ͪʹؾͮ͘

    ଞڌ఺ͷWIPΛ૿΍͗͢͠ͳ͍Α͏ʹ
    • ؅ཧίετ͕͔͔Βͳ͍ӡ༻Λҙࣝ

    View Slide

  50. ෳརͱ࠶౤ࢿ

    View Slide

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

    UnitTest ὎ CI/CD ὎ Scrum/Kanban ὎ …
    • ௅ઓΛ͢ΔͨΊʹ։ൃจԽΛKAIZEN͍ͯ͘͠
    ։ൃจԽΛਐԽͤ͞Α͏

    View Slide

  52. ςετΤϯδχΞʂ

    ൥ࡶͳࢼݧखॱͷࣗಈԽ͍ͨ͠

    View Slide

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

    View Slide

  54. ΑΓΞδϟΠϧͳ։ൃจԽ΁
    • ։ൃจԽΛ࡞Γม͖͑ͯͨࣄ࣮͕

    ૊৫ͷେ͖ͳࡒ࢈ɺ૊৫ͷجૅମྗʹͳΔ
    • ΞδϟΠϧͳ։ൃϓϥΫςΟεͰ͸ͳ͘

    ΞδϟΠϧͳ૊৫ɺ։ൃจԽΛ໨ࢦ͢
    • ໰୊͸͋Δ͕ɺมΘ͍͚ͬͯ͹͍͍

    View Slide

  55. ։ൃจԽΛ
    ਐԽͤ͞Δ

    औΓ૊Έ͸ଓ͘

    View Slide

  56. ͦͯ͠ɺເͷ֎΁

    View Slide

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

    View Slide

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

    ͜Ε͔Β΋։ൃจԽΛҭ͍͖͍ͯͯͨ

    View Slide

  59. ΤϯδχΞͷ

    ʰָ͍͠ʱΛ

    ޿͛Α͏

    View Slide

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

    View Slide