$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Gunosyの地味で高速な 新規事業開発・改善の実際 / How to make your t...
Search
Seiji Takahashi
October 14, 2017
Programming
12
16k
Gunosyの地味で高速な 新規事業開発・改善の実際 / How to make your team productive.
The presentation slides at Forkwell Meetup #5
Seiji Takahashi
October 14, 2017
Tweet
Share
More Decks by Seiji Takahashi
See All by Seiji Takahashi
権限と承認 〜ユーザー信頼性に繋がる管理画面の根幹について〜
timakin
0
620
Go Backends for frontends with GraphQL and gRPC
timakin
6
4.1k
Design Pattern for Image and Text Composition in Go
timakin
5
6.8k
Golang API Testing the HARD way
timakin
13
6.8k
Head First Golang Image Package
timakin
2
10k
React Native Beyond Prototype
timakin
2
1.7k
Performance Optimization on Google AppEngine
timakin
5
6.5k
testcache.pdf
timakin
1
170
How Go cache
timakin
1
110
Other Decks in Programming
See All in Programming
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
510
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
440
Cap'n Webについて
yusukebe
0
140
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
2
220
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
10
2.5k
tparseでgo testの出力を見やすくする
utgwkk
2
260
AIコーディングエージェント(skywork)
kondai24
0
190
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
180
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.3k
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
110
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
360
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
130
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
200
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Done Done
chrislema
186
16k
Crafting Experiences
bethany
0
19
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
250
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
400
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
390
Deep Space Network (abreviated)
tonyrice
0
18
ラッコキーワード サービス紹介資料
rakko
0
1.7M
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.2k
Transcript
GunosyͷຯͰߴͳ ৽نࣄۀ։ൃɾվળͷ࣮ࡍ @__timakin__ / Forkwell Meetup#5
ࣗݾհ • Seiji Takahashi • Github: timakin / Twitter: @__timakin__
• גࣜձࣾGunosy ৽نࣄۀ։ൃࣨ • Go / Swift
ΞδΣϯμ • Gunosy৽نࣄۀ։ൃࣨͱʁ • ੜ࢈ੑΛ্͛ΔͨΊͷऔΓΈ
Gunosy৽نࣄۀ։ൃࣨͱʁ
Gunosyͷ5ʙ10ޙͷΛ࡞Δ͘ɺ VRARɺԻUIͳͲࠓޙීٴ͢ΔՄೳੑͷ͋Δ ৽͍͠σόΠεٕज़Λݚڀ͠ɺ ৽نαʔϏεͷ্ཱͪ͛ͳͲΛߦ͏෦ॺ
Δ͜ͱ • Ϧαʔν • ւ֎ͷઌਐࣄྫͷ·ͱΊ • SDKͷެࣜDocsGithub repoͷίʔυΛړͬͯ࠷৽ٕ ज़ͷνϡʔτϦɾԠ༻ྫΛ୳Δ •
SlackʹRSS௨ɺϨϙʔτڞ༗ • ։ൃ • ͓ன͍ͭͰʹνϡʔτϦϋοΧιϯ • ্ཱ͕ͪΓظۃྗখنνʔϜͰ
࣮ࡍͷ༷ࢠ
None
ੜ࢈ੑΛ্͛ΔͨΊͷऔΓΈ
ͦͦੜ࢈ੑͱʁ
ੜ࢈ੑ = Output / Input
ࢿޮੑͰ͋ͬͯ ੜ࢈(Output)૯ྔͰͳ͍
Output: ࿑ಇʹΑΔՌ • ϢʔβʔͷՃՁ • اۀͷܦࡁతՃՁʢརӹʣ • ଈ࠲ʹརӹʹ݁͠ͳ͍͕ ओཁKPIʹߩݙ͢ΔऔΓΈ
Input: ࢿݯͷೖྔ • ਓతࢿݯͷೖྔ • ্هؚΉࢿݯͷࡒݯͷೖྔ • ࡞ۀ࣌ؒ
ੜ࢈ੑΛ্͛Δํ๏ OutputΛ૿͢ InputΛݮΒ͢
ੜ࢈ੑΛ্͛ΔͨΊͷऔΓΈ • νʔϜنͷ੍ • ։ൃظؒͱ༷ͷ੍ • ֤ΤϯδχΞͷ୲ͷ֦ு • ։ൃϑϩʔͷࣗಈԽ •
ΠϯηϓγϣϯσοΩ • εϓϦϯτ • ੵۃతͳKPIڞ༗
ੜ࢈ੑΛ্͛ΔͨΊͷऔΓΈ • νʔϜنͷ੍ • ։ൃظؒͱ༷ͷ੍ • ֤ΤϯδχΞͷ୲ͷ֦ு • ։ൃϑϩʔͷࣗಈԽ •
ΠϯηϓγϣϯσοΩ • εϓϦϯτ • ੵۃతͳKPIڞ༗
νʔϜنͷ੍ • Ϧαʔν • جຊ։ൃνʔϜ • ࣄۀ෦શମͰɺଞͷνʔϜ͔Βڵຯ͋ΔਓSlackͳ ͲͰίϝϯτ • ։ൃ
• ։ൃɺ༷ࡦఆશମΛΤϯδχΞ2, 3໊Ͱߦ͏
νʔϜ͕গͳ͍ͱɺ ࡞ۀ / ਓ͕ΒΜͰ ਏ͍ݱʹͳΔͷͰʁ
ͦ͏Ͱͳ͍Ͱ͢Αʂ
খنνʔϜͷϝϦσϝ • ҙࢥܾఆ͕୯७ʹ্ ͕Δ • Ϗδϣϯͷޡ͕ࠩগͳ͘ ͯ͢Ή • ਐḿ֬ೝʹཁ͢Δ͕࣌ؒ গͳ͍
• গͰΓΔ੍ => ҙࣝతʹແବͳ։ൃ Λ͠ͳ͘ͳΔ ϝϦοτ σϝϦοτ • ୯७ʹ࣮Մೳͳػೳͷ ͕ݮΔ • ٕज़ελοΫ͕ภΔͱΧ όʔࠔ • ༷ݮͷྗΛ੯͠Ή ͱࣦഊ͍͢͠
খنνʔϜͷϝϦσϝ • ҙࢥܾఆ͕୯७ʹ্ ͕Δ • Ϗδϣϯͷޡ͕ࠩগͳ͘ ͯ͢Ή • ਐḿ֬ೝʹཁ͢Δ͕࣌ؒ গͳ͍
• গͰΓΔ੍ => ҙࣝతʹແବͳ։ൃ Λ͠ͳ͘ͳΔ ϝϦοτ σϝϦοτ • ୯७ʹ࣮Մೳͳػೳͷ ͕ݮΔ • ٕज़ελοΫ͕ภΔͱΧ όʔࠔ • ༷ݮͷྗΛ੯͠Ή ͱࣦഊ͍͢͠
ࠓඞཁͳͷΛݟۃΊͯ ༰ࣻແ͘ྔΛݮΒ͢ ͕ॏཁ
ੜ࢈ੑΛ্͛ΔͨΊͷऔΓΈ • νʔϜنͷ੍ • ։ൃظؒͱ༷ͷ੍ • ֤ΤϯδχΞͷ୲ͷ֦ு • ։ൃϑϩʔͷࣗಈԽ •
ΠϯηϓγϣϯσοΩ • εϓϦϯτ • ੵۃతͳKPIڞ༗
։ൃظؒͱ༷ͷ੍ ෆཁͳػೳΛॳظ༷͔ΒΔج४ 1. ΞϓϦͷίϯηϓτΛ࠷খݶͷൣғͰݕূ͢Δͷʹඞཁ ͔ 2. ඦສDAUʹεέʔϧ͢Δମ੍͕͏͔ 3. ੳɾӡ༻ɾվળͷϑϩʔΛΓͳ͘౿ΉͨΊͷػೳ͕ ἧ͍ͬͯΔ͔
༷ΛΔͱྑ͍͜ͱ • ίϯϙʔωϯτؒͷ࣭͕ۉҰʹͳͬͯɺ ϦϦʔε࣌Ͱͷૈ͕ݮΔ • ͕໌ྎʹͳΔͷͰϞνϕͷԼ͕ গͳ͘ͳΔ • ୯७ʹૣ͘ؼΕΔ
ੜ࢈ੑΛ্͛ΔͨΊͷऔΓΈ • νʔϜنͷ੍ • ։ൃظؒͱ༷ͷ੍ • ֤ΤϯδχΞͷ୲ͷ֦ு • ։ൃϑϩʔͷࣗಈԽ •
ΠϯηϓγϣϯσοΩ • εϓϦϯτ • ੵۃతͳKPIڞ༗
֤ΤϯδχΞͷ୲ͷ֦ு ৽نࣄۀ։ൃࣨͷجຊελϯε ෯͍։ൃՄೳൣғ ࣄۀ࡞ΓʹϑΥʔΧε
෯͍։ൃՄೳൣғ ❌ ઙ͘͘ ઈରʹTܕਓࡐɺΠܕਓࡐͰߏ͢Δɻ ex) iOS͕ಘҙͰɺͦͷͰଞͷਓͷഒͷ ɹ ੜ࢈ੑΛग़ͤΔ͕ɺ͍͟ͱͳͬͨΒ ɹ αʔόʔαΠυରԠՄೳͰڵຯ͋Δɻ
ੜ࢈ੑΛ্͛ΔͨΊͷऔΓΈ • νʔϜنͷ੍ • ։ൃظؒͱ༷ͷ੍ • ֤ΤϯδχΞͷ୲ͷ֦ு • ։ൃϑϩʔͷࣗಈԽ •
ΠϯηϓγϣϯσοΩ • εϓϦϯτ • ੵۃతͳKPIڞ༗
খ͍͞νʔϜͰͷ࣮ελϯε ۪ʹҰ͔Β࣮ͯͨ͠Βؒʹ߹Θͳ͍ => ࣗಈԽͰ͖Δ࡞ۀపఈͯ͠ޮԽ
۩ମతͳվળϙΠϯτ • AWS OpsworksʹΑΔηοτΞοϓ • codenize-toolsʹΑΔInfrastructure as Code • DigdagʹΑΔETL
Workflow • CircleCI 2.0ʹΑΔtest, vet, deploy • Pushج൫ͳͲOSSͷAPIΛར༻
ੜ࢈ੑΛ্͛ΔͨΊͷऔΓΈ • νʔϜنͷ੍ • ։ൃظؒͱ༷ͷ੍ • ֤ΤϯδχΞͷ୲ͷ֦ு • ։ൃϑϩʔͷࣗಈԽ •
ΠϯηϓγϣϯσοΩ • εϓϦϯτ • ੵۃతͳKPIڞ༗
ΠϯηϓγϣϯσοΩͱʁ ϓϩδΣΫτͷશମ૾ (తɺഎܠɺ༏ઌॱҐɺํੑ)Λ తʹ͑ΔͨΊͷυΩϡϝϯτ ֎͚ͷҙٛ: తʹϓϩμΫτΛઆ໌Ͱ͖Δ ͚ͷҙٛ: Ϗδϣϯͷ౷Ұ
ཧ͢Δ߲ • ϓϩμΫτͷҙٛ(ͳͥզʑ͜͜ʹ͍Δͷ͔) • ΤϨϕʔλʔϐον༻ͷจݴ • Δ/Βͳ͍͜ͱϦετ • νʔϜߏ •
ඪKPIͱୡظؒ • είʔϓ, ༧ࢉ, ࣌ؒ, ࣭ͳͲͷΣΠτ • ࣮ࡍʹඞཁͳࢿݯ
ੜ࢈ੑΛ্͛ΔͨΊͷऔΓΈ • νʔϜنͷ੍ • ։ൃظؒͱ༷ͷ੍ • ֤ΤϯδχΞͷ୲ͷ֦ு • ։ൃϑϩʔͷࣗಈԽ •
ΠϯηϓγϣϯσοΩ • εϓϦϯτ • ੵۃతͳKPIڞ༗
KPT Keep: ࠓޙଓ͚͍͖ͯ͘ྑ͔ͬͨ͜ͱ Problem: վળ͖͢ Try: վળࢪࡦ৽ࢪࡦͱͯ͠ࢼ͢͜ͱ Λఆظత(݄Ұఔ)ʹ֬ೝ
εϓϦϯτ͝ͱͷҙࣝ߹Θͤ ࠓͷSprintͰूத͖͢͜ͱ ɹ࠷ॏཁKPIͷݟ͠ɺඪͷઃఆ εέδϡʔϧ ɹϦϦʔε༧ఆͱଧͪख ࠔΓ͝ͱ ɹ͙͢ରॲ͢Δ͔ஔ͍ͱ͍ͯΔ͖͜ͱ
ੜ࢈ੑΛ্͛ΔͨΊͷऔΓΈ • νʔϜنͷ੍ • ։ൃظؒͱ༷ͷ੍ • ֤ΤϯδχΞͷ୲ͷ֦ு • ։ൃϑϩʔͷࣗಈԽ •
ΠϯηϓγϣϯσοΩ • εϓϦϯτ • ੵۃతͳKPIڞ༗
ڞ༗ͯ͠·͔͢ʁ ڞ༗ํ๏ • Slack • ຖͷேձ • Sprint͝ͱͷৼΓฦΓ ͳͲͳͲ
ͳͥڞ༗͖͔͢ʁ ࣈਆΑΓਖ਼͍͠ ϏδϣϯνʔϜΛޑ͢Δͷʹྑ͍͕ɺ ࣈͱ͍͏ࣄ࣮͔ΒΛഎ͚ͯ ݴ͍༁ʹ͍ͬͯͳ͍͔ʁ ࣮ࡍͷϢʔβʔͷಈ͖Λݟͯɺ ҙຯͷ͋ΔվળํΛݟۃΊΔ
ͳͥڞ༗͖͔͢ʁ KPIʹޮ͔ͳ͍ࢪࡦΛଧ͍ͬͯͳ͍͔ʁ ࣮ࡍͷϢʔβʔͷಈ͖Λݟͯɺ ҙຯͷ͋ΔվળํΛݟۃΊΔ
ͳͥৗʹڞ༗͖͔͢ʁ ཧͱݱ࣮༰қʹͣΕΔ ͷͰɺ͍ͭͷ·ʹ͔ζϨ͕ੜ͡ͳ͍Α͏ʹৗʹࣈΛݟͯɺ ɾKPIͱͷࠩ ɾ૿ݮ, पظ ɾظతʹҙຯ͕͋ΔࢪࡦΛଧ͍ͯͯΔ͔ ͷೝࣝ߹ΘͤΛ͢Δɻ
ͲΜͳΛڞ༗͖͔͢ʁ • ظɾظܧଓ • ίϯόʔδϣϯ • ܧଓʹޮ͖͍͢ػೳͷར༻ • PushڐՄ, ։෧
• ABࢪࡦͷޮՌܭଌ݁Ռ • Ϣʔβʔ֫ಘܦ࿏ผ֫ಘɾܧଓ • ࠂޮՌ(CTR, CPI, CPD, etc…)
·ͱΊ • ੜ࢈ੑ = Output / Input • νʔϜߏɺKPIڞ༗ɺ༷ͷμΠΤοτɺ Ϗδϣϯ߹ΘͤɺࣗಈԽͳͲͳͲɺ
ΕΔ͜ͱΛຯʹɺॗʑͱɻ • શͯ৽نνʔϜͰΕͯΔ͜ͱɻ Ϧιʔεͷ͋ΔେنνʔϜͳΒঘߋΔ͖ɻ