Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
Go Backends for frontends with GraphQL and gRPC
timakin
6
3.8k
Design Pattern for Image and Text Composition in Go
timakin
5
6.6k
Golang API Testing the HARD way
timakin
13
6.5k
Head First Golang Image Package
timakin
2
10k
React Native Beyond Prototype
timakin
2
1.6k
Performance Optimization on Google AppEngine
timakin
5
6.2k
testcache.pdf
timakin
1
140
How Go cache
timakin
1
75
How Go cache tests
timakin
1
3k
Other Decks in Programming
See All in Programming
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
920
CloudNativePGを布教したい
nnaka2992
0
110
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
150
Jasprが凄い話
hyshu
0
160
Kotlinの開発でも AIをいい感じに使いたい / Making the Most of AI in Kotlin Development
kohii00
5
1.3k
kintone開発を効率化するためにチームで試した施策とその結果を大放出!
oguemon
0
150
Multi Step Form, Decentralized Autonomous Organization
pumpkiinbell
1
860
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
120
Rails アプリ地図考 Flush Cut
makicamel
1
130
もう僕は OpenAPI を書きたくない
sgash708
5
1.9k
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
970
負債になりにくいCSSをデザイナとつくるには?
fsubal
10
2.6k
Featured
See All Featured
Gamification - CAS2011
davidbonilla
80
5.2k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
The Cost Of JavaScript in 2023
addyosmani
47
7.4k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Mobile First: as difficult as doing things right
swwweet
223
9.4k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
990
The Pragmatic Product Professional
lauravandoore
32
6.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
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ڞ༗ɺ༷ͷμΠΤοτɺ Ϗδϣϯ߹ΘͤɺࣗಈԽͳͲͳͲɺ
ΕΔ͜ͱΛຯʹɺॗʑͱɻ • શͯ৽نνʔϜͰΕͯΔ͜ͱɻ Ϧιʔεͷ͋ΔେنνʔϜͳΒঘߋΔ͖ɻ