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

Gunosyの地味で高速な 新規事業開発・改善の実際 / How to make your team productive.

Gunosyの地味で高速な 新規事業開発・改善の実際 / How to make your team productive.

The presentation slides at Forkwell Meetup #5

Seiji Takahashi

October 14, 2017
Tweet

More Decks by Seiji Takahashi

Other Decks in Programming

Transcript

  1. Gunosyͷ஍ຯͰߴ଎ͳ
    ৽نࣄۀ։ൃɾվળͷ࣮ࡍ
    @__timakin__ / Forkwell Meetup#5

    View full-size slide

  2. ࣗݾ঺հ
    • Seiji Takahashi
    • Github: timakin / Twitter: @__timakin__
    • גࣜձࣾGunosy ৽نࣄۀ։ൃࣨ
    • Go / Swift

    View full-size slide

  3. ΞδΣϯμ
    • Gunosy৽نࣄۀ։ൃࣨͱ͸ʁ
    • ੜ࢈ੑΛ্͛ΔͨΊͷऔΓ૊Έ

    View full-size slide

  4. Gunosy৽نࣄۀ։ൃࣨͱ͸ʁ

    View full-size slide

  5. Gunosyͷ5ʙ10೥ޙͷ੒௕Λ࡞Δ΂͘ɺ
    VR΍ARɺԻ੠UIͳͲࠓޙීٴ͢ΔՄೳੑͷ͋Δ

    ৽͍͠σόΠε΍ٕज़Λݚڀ͠ɺ

    ৽نαʔϏεͷ্ཱͪ͛ͳͲΛߦ͏෦ॺ

    View full-size slide

  6. ΍Δ͜ͱ
    • Ϧαʔν
    • ւ֎ͷઌਐࣄྫͷ·ͱΊ
    • SDKͷެࣜDocs΍Github repoͷίʔυΛړͬͯ࠷৽ٕ
    ज़ͷνϡʔτϦɾԠ༻ྫΛ୳Δ
    • SlackʹRSS௨஌ɺϨϙʔτڞ༗
    • ։ൃ
    • ͓ன͍ͭͰʹνϡʔτϦϋοΧιϯ
    • ্ཱ͕ͪΓظ͸ۃྗখن໛νʔϜͰ

    View full-size slide

  7. ࣮ࡍͷ༷ࢠ

    View full-size slide

  8. ੜ࢈ੑΛ্͛ΔͨΊͷऔΓ૊Έ

    View full-size slide

  9. ͦ΋ͦ΋ੜ࢈ੑͱ͸ʁ

    View full-size slide

  10. ੜ࢈ੑ = Output / Input

    View full-size slide

  11. ౤ࢿޮ཰ੑͰ͋ͬͯ

    ੜ࢈(Output)૯ྔͰ͸ͳ͍

    View full-size slide

  12. Output: ࿑ಇʹΑΔ੒Ռ
    • Ϣʔβʔ΁ͷ෇ՃՁ஋

    • اۀͷܦࡁత෇ՃՁ஋ʢརӹʣ

    • ଈ࠲ʹརӹʹ௚݁͠ͳ͍͕

    ओཁKPIʹߩݙ͢ΔऔΓ૊Έ

    View full-size slide

  13. Input: ࢿݯͷ౤ೖྔ
    • ਓతࢿݯͷ౤ೖྔ
    • ্هؚΉࢿݯ΁ͷࡒݯͷ౤ೖྔ
    • ࡞ۀ࣌ؒ

    View full-size slide

  14. ੜ࢈ੑΛ্͛Δํ๏
    OutputΛ૿΍͢
    InputΛݮΒ͢

    View full-size slide

  15. ੜ࢈ੑΛ্͛ΔͨΊͷऔΓ૊Έ
    • νʔϜن໛ͷ཈੍
    • ։ൃظؒͱ࢓༷ͷ཈੍
    • ֤ΤϯδχΞͷ୲౰෼໺ͷ֦ு
    • ։ൃϑϩʔͷࣗಈԽ
    • ΠϯηϓγϣϯσοΩ
    • εϓϦϯτ
    • ੵۃతͳKPIڞ༗

    View full-size slide

  16. ੜ࢈ੑΛ্͛ΔͨΊͷऔΓ૊Έ
    • νʔϜن໛ͷ཈੍
    • ։ൃظؒͱ࢓༷ͷ཈੍
    • ֤ΤϯδχΞͷ୲౰෼໺ͷ֦ு
    • ։ൃϑϩʔͷࣗಈԽ
    • ΠϯηϓγϣϯσοΩ
    • εϓϦϯτ
    • ੵۃతͳKPIڞ༗

    View full-size slide

  17. νʔϜن໛ͷ཈੍
    • Ϧαʔν
    • جຊ͸։ൃνʔϜ
    • ࣄۀ෦શମͰɺଞͷνʔϜ͔Β΋ڵຯ͋Δਓ΋Slackͳ
    ͲͰίϝϯτ
    • ։ൃ
    • ։ൃɺ࢓༷ࡦఆશମΛΤϯδχΞ2, 3໊Ͱߦ͏

    View full-size slide

  18. νʔϜ͕গͳ͍ͱɺ

    ࡞ۀ޻਺ / ਓ͕๲ΒΜͰ

    ਏ͍ݱ৔ʹͳΔͷͰ͸ʁ

    View full-size slide

  19. ͦ͏Ͱ΋ͳ͍Ͱ͢Αʂ

    View full-size slide

  20. খن໛νʔϜͷϝϦσϝ
    • ҙࢥܾఆ଎౓͕୯७ʹ্
    ͕Δ
    • Ϗδϣϯͷޡ͕ࠩগͳ͘
    ͯ͢Ή
    • ਐḿ֬ೝʹཁ͢Δ͕࣌ؒ
    গͳ͍
    • গ਺Ͱ৐Γ੾Δ੍໿

    => ҙࣝతʹແବͳ։ൃ
    Λ͠ͳ͘ͳΔ
    ϝϦοτ σϝϦοτ
    • ୯७ʹ࣮૷Մೳͳػೳͷ
    ਺͕ݮΔ
    • ٕज़ελοΫ͕ภΔͱΧ
    όʔࠔ೉
    • ࢓༷࡟ݮͷ౒ྗΛ੯͠Ή
    ͱࣦഊ͠΍͍͢

    View full-size slide

  21. খن໛νʔϜͷϝϦσϝ
    • ҙࢥܾఆ଎౓͕୯७ʹ্
    ͕Δ
    • Ϗδϣϯͷޡ͕ࠩগͳ͘
    ͯ͢Ή
    • ਐḿ֬ೝʹཁ͢Δ͕࣌ؒ
    গͳ͍
    • গ਺Ͱ৐Γ੾Δ੍໿

    => ҙࣝతʹແବͳ։ൃ
    Λ͠ͳ͘ͳΔ
    ϝϦοτ σϝϦοτ
    • ୯७ʹ࣮૷Մೳͳػೳͷ
    ਺͕ݮΔ
    • ٕज़ελοΫ͕ภΔͱΧ
    όʔࠔ೉
    • ࢓༷࡟ݮͷ౒ྗΛ੯͠Ή
    ͱࣦഊ͠΍͍͢

    View full-size slide

  22. ࠓඞཁͳ΋ͷΛݟۃΊͯ
    ༰ࣻແ͘ྔΛݮΒ͢
    ͕ॏཁ

    View full-size slide

  23. ੜ࢈ੑΛ্͛ΔͨΊͷऔΓ૊Έ
    • νʔϜن໛ͷ཈੍
    • ։ൃظؒͱ࢓༷ͷ཈੍
    • ֤ΤϯδχΞͷ୲౰෼໺ͷ֦ு
    • ։ൃϑϩʔͷࣗಈԽ
    • ΠϯηϓγϣϯσοΩ
    • εϓϦϯτ
    • ੵۃతͳKPIڞ༗

    View full-size slide

  24. ։ൃظؒͱ࢓༷ͷ཈੍
    ෆཁͳػೳΛॳظ࢓༷͔Β࡟Δج४
    1. ΞϓϦͷίϯηϓτΛ࠷খݶͷൣғͰݕূ͢Δͷʹඞཁ
    ͔
    2. ਺ඦສDAUʹεέʔϧ͢Δମ੍͕੔͏͔
    3. ෼ੳɾӡ༻ɾվળͷϑϩʔΛ଺Γͳ͘౿ΉͨΊͷػೳ͕
    ἧ͍ͬͯΔ͔

    View full-size slide

  25. ࢓༷Λ࡟Δͱྑ͍͜ͱ
    • ίϯϙʔωϯτؒͷ඼࣭͕ۉҰʹͳͬͯɺ
    ϦϦʔε࣌఺Ͱͷૈ͕ݮΔ
    • ׬੒஍఺͕໌ྎʹͳΔͷͰϞνϕͷ௿Լ͕
    গͳ͘ͳΔ
    • ୯७ʹૣ͘ؼΕΔ

    View full-size slide

  26. ੜ࢈ੑΛ্͛ΔͨΊͷऔΓ૊Έ
    • νʔϜن໛ͷ཈੍
    • ։ൃظؒͱ࢓༷ͷ཈੍
    • ֤ΤϯδχΞͷ୲౰෼໺ͷ֦ு
    • ։ൃϑϩʔͷࣗಈԽ
    • ΠϯηϓγϣϯσοΩ
    • εϓϦϯτ
    • ੵۃతͳKPIڞ༗

    View full-size slide

  27. ֤ΤϯδχΞͷ୲౰෼໺ͷ֦ு
    ৽نࣄۀ։ൃࣨͷجຊελϯε
    ෯޿͍։ൃՄೳൣғ ࣄۀ࡞ΓʹϑΥʔΧε

    View full-size slide

  28. ෯޿͍։ൃՄೳൣғ
    ❌ ઙ͘޿͘
    ઈରʹTܕਓࡐɺΠܕਓࡐͰߏ੒͢Δɻ
    ex) iOS͕ಘҙͰɺͦͷ෼໺Ͱ͸ଞͷਓͷഒͷ

    ɹ ੜ࢈ੑΛग़ͤΔ͕ɺ͍͟ͱͳͬͨΒ

    ɹ αʔόʔαΠυ΋ରԠՄೳͰڵຯ΋͋Δɻ

    View full-size slide

  29. ੜ࢈ੑΛ্͛ΔͨΊͷऔΓ૊Έ
    • νʔϜن໛ͷ཈੍
    • ։ൃظؒͱ࢓༷ͷ཈੍
    • ֤ΤϯδχΞͷ୲౰෼໺ͷ֦ு
    • ։ൃϑϩʔͷࣗಈԽ
    • ΠϯηϓγϣϯσοΩ
    • εϓϦϯτ
    • ੵۃతͳKPIڞ༗

    View full-size slide

  30. খ͍͞νʔϜͰͷ࣮૷ελϯε
    ۪௚ʹҰ͔Β࣮૷ͯͨ͠Βؒʹ߹Θͳ͍
    => ࣗಈԽͰ͖Δ࡞ۀ͸పఈͯ͠ޮ཰Խ

    View full-size slide

  31. ۩ମతͳվળϙΠϯτ
    • AWS OpsworksʹΑΔηοτΞοϓ
    • codenize-toolsʹΑΔInfrastructure as Code
    • DigdagʹΑΔETL Workflow
    • CircleCI 2.0ʹΑΔtest, vet, deploy
    • Pushج൫ͳͲ͸OSSͷAPIΛར༻

    View full-size slide

  32. ੜ࢈ੑΛ্͛ΔͨΊͷऔΓ૊Έ
    • νʔϜن໛ͷ཈੍
    • ։ൃظؒͱ࢓༷ͷ཈੍
    • ֤ΤϯδχΞͷ୲౰෼໺ͷ֦ு
    • ։ൃϑϩʔͷࣗಈԽ
    • ΠϯηϓγϣϯσοΩ
    • εϓϦϯτ
    • ੵۃతͳKPIڞ༗

    View full-size slide

  33. ΠϯηϓγϣϯσοΩͱ͸ʁ
    ϓϩδΣΫτͷશମ૾

    (໨తɺഎܠɺ༏ઌॱҐɺํ޲ੑ౳)Λ

    ୺తʹ఻͑ΔͨΊͷυΩϡϝϯτ
    ֎޲͚ͷҙٛ: ୺తʹϓϩμΫτΛઆ໌Ͱ͖Δ
    ಺޲͚ͷҙٛ: Ϗδϣϯͷ౷Ұ

    View full-size slide

  34. ੔ཧ͢Δ߲໨
    • ϓϩμΫτͷҙٛ(ͳͥզʑ͸͜͜ʹ͍Δͷ͔)
    • ΤϨϕʔλʔϐον༻ͷจݴ
    • ΍Δ/΍Βͳ͍͜ͱϦετ
    • νʔϜߏ੒
    • ໨ඪKPIͱୡ੒ظؒ
    • είʔϓ, ༧ࢉ, ࣌ؒ, ඼࣭ͳͲͷ΢ΣΠτ
    • ࣮ࡍʹඞཁͳࢿݯ

    View full-size slide

  35. ੜ࢈ੑΛ্͛ΔͨΊͷऔΓ૊Έ
    • νʔϜن໛ͷ཈੍
    • ։ൃظؒͱ࢓༷ͷ཈੍
    • ֤ΤϯδχΞͷ୲౰෼໺ͷ֦ு
    • ։ൃϑϩʔͷࣗಈԽ
    • ΠϯηϓγϣϯσοΩ
    • εϓϦϯτ
    • ੵۃతͳKPIڞ༗

    View full-size slide

  36. KPT
    Keep: ࠓޙଓ͚͍ͯ͘΂͖ྑ͔ͬͨ͜ͱ
    Problem: վળ͢΂͖໰୊
    Try: վળࢪࡦ΍৽ࢪࡦͱͯ͠ࢼ͢͜ͱ
    Λఆظత(݄Ұఔ౓)ʹ֬ೝ

    View full-size slide

  37. εϓϦϯτ͝ͱͷҙࣝ߹Θͤ
    ࠓͷSprintͰूத͢΂͖͜ͱ
    ɹ࠷ॏཁKPIͷݟ௚͠ɺ໨ඪ஋ͷઃఆ
    εέδϡʔϧ
    ɹϦϦʔε༧ఆ೔ͱଧͪख
    ࠔΓ͝ͱ
    ɹ͙͢ରॲ͢Δ͔͸ஔ͍ͱ͍ͯ΍Δ΂͖͜ͱ

    View full-size slide

  38. ੜ࢈ੑΛ্͛ΔͨΊͷऔΓ૊Έ
    • νʔϜن໛ͷ཈੍
    • ։ൃظؒͱ࢓༷ͷ཈੍
    • ֤ΤϯδχΞͷ୲౰෼໺ͷ֦ு
    • ։ൃϑϩʔͷࣗಈԽ
    • ΠϯηϓγϣϯσοΩ
    • εϓϦϯτ
    • ੵۃతͳKPIڞ༗

    View full-size slide

  39. ਺஋ڞ༗ͯ͠·͔͢ʁ
    ڞ༗ํ๏
    • Slack
    • ຖ೔ͷேձ
    • Sprint͝ͱͷৼΓฦΓ
    ͳͲͳͲ

    View full-size slide

  40. ͳͥ਺஋ڞ༗͢΂͖͔ʁ
    ਺ࣈ͸ਆΑΓਖ਼͍͠
    Ϗδϣϯ͸νʔϜΛޑ෣͢Δͷʹྑ͍͕ɺ

    ਺ࣈͱ͍͏ࣄ࣮͔Β໨Λഎ͚ͯ

    ݴ͍༁ʹ࢖͍ͬͯͳ͍͔ʁ


    ࣮ࡍͷϢʔβʔͷಈ͖Λݟͯɺ

    ҙຯͷ͋Δվળํ޲ΛݟۃΊΔ

    View full-size slide

  41. ͳͥ਺஋ڞ༗͢΂͖͔ʁ
    KPIʹޮ͔ͳ͍ࢪࡦΛଧ͍ͬͯͳ͍͔ʁ

    ࣮ࡍͷϢʔβʔͷಈ͖Λݟͯɺ

    ҙຯͷ͋Δվળํ޲ΛݟۃΊΔ

    View full-size slide

  42. ͳͥৗʹ਺஋ڞ༗͢΂͖͔ʁ
    ཧ૝ͱݱ࣮͸༰қʹͣΕΔ
    ͷͰɺ͍ͭͷ·ʹ͔ζϨ͕ੜ͡ͳ͍Α͏ʹৗʹ਺ࣈΛݟͯɺ


    ɾKPIͱͷࠩ෼

    ɾ૿ݮ܏޲, पظ

    ɾ௕ظతʹҙຯ͕͋ΔࢪࡦΛଧ͍ͯͯΔ͔


    ͷೝࣝ߹ΘͤΛ͢Δɻ

    View full-size slide

  43. ͲΜͳ਺஋Λڞ༗͢΂͖͔ʁ
    • ୹ظɾ௕ظܧଓ཰
    • ίϯόʔδϣϯ཰
    • ܧଓ཰ʹޮ͖΍͍͢ػೳͷར༻཰
    • PushڐՄ཰, ։෧཰
    • ABࢪࡦͷޮՌܭଌ݁Ռ
    • Ϣʔβʔ֫ಘܦ࿏ผ֫ಘ਺ɾܧଓ཰
    • ޿ࠂޮՌ(CTR, CPI, CPD, etc…)

    View full-size slide

  44. ·ͱΊ
    • ੜ࢈ੑ = Output / Input
    • νʔϜߏ੒ɺKPIڞ༗ɺ࢓༷ͷμΠΤοτɺ

    Ϗδϣϯ߹ΘͤɺࣗಈԽͳͲͳͲɺ

    ΍ΕΔ͜ͱΛ஍ຯʹɺॗʑͱɻ
    • શͯ৽نνʔϜͰ΍ΕͯΔ͜ͱɻ

    Ϧιʔεͷ͋Δେن໛νʔϜͳΒঘߋ΍Δ΂͖ɻ


    View full-size slide