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 Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

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

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

    View Slide

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

    View Slide

  7. ࣮ࡍͷ༷ࢠ

    View Slide

  8. View Slide

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

    View Slide

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

    View Slide

  11. ੜ࢈ੑ = Output / Input

    View Slide

  12. ౤ࢿޮ཰ੑͰ͋ͬͯ

    ੜ࢈(Output)૯ྔͰ͸ͳ͍

    View Slide

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

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

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

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  19. νʔϜ͕গͳ͍ͱɺ

    ࡞ۀ޻਺ / ਓ͕๲ΒΜͰ

    ਏ͍ݱ৔ʹͳΔͷͰ͸ʁ

    View Slide

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

    View Slide

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

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

    View Slide

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

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

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

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

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

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

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

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


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

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

    View Slide

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

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

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

    View Slide

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


    ɾKPIͱͷࠩ෼

    ɾ૿ݮ܏޲, पظ

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


    ͷೝࣝ߹ΘͤΛ͢Δɻ

    View Slide

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

    View Slide

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

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

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

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


    View Slide