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
DroidKaigi公式アプリOSS成功要因
Search
konifar
July 02, 2016
Programming
5
1.4k
DroidKaigi公式アプリOSS成功要因
YAPC::Asia Hachioji 2016
http://yapcasia8oji-2016mid.hachiojipm.org/time_table_7_2/
konifar
July 02, 2016
Tweet
Share
More Decks by konifar
See All by konifar
AIで 浮いた時間で 何をする? #プロヒス2025
konifar
28
14k
物語を動かす行動"量" #エンジニアニメ
konifar
16
6.2k
提案のレベルを上げる #QiitaConference
konifar
90
34k
目安箱の設置とワークさせるポイント
konifar
5
2.2k
サバイバルモード下でのエンジニアリングマネジメント
konifar
31
13k
Android開発以外のAndroid開発経験の活かしどころ
konifar
3
3.1k
初めてのiOS関連GitHub ActionsをMarketplaceに公開するまでの実録
konifar
3
410
オーナーシップを持つ領域を明確にする
konifar
17
6.7k
雑に思考を整理する技術と効能
konifar
79
44k
Other Decks in Programming
See All in Programming
ネイティブ製ガントチャートUIを作って学ぶUICollectionViewLayoutの威力
jrsaruo
0
140
Conquering Massive Traffic Spikes in Ruby Applications with Pitchfork
riseshia
0
160
明日から始めるリファクタリング
ryounasso
0
120
Local Peer-to-Peer APIはどのように使われていくのか?
hal_spidernight
2
470
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
440
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
960
止められない医療アプリ、そっと Swift 6 へ
medley
1
130
CSC509 Lecture 02
javiergs
PRO
0
410
CSC509 Lecture 06
javiergs
PRO
0
260
ててべんす独演会〜Flowの全てを語ります〜
tbsten
1
220
CI_CD「健康診断」のススメ。現場でのボトルネック特定から、健康診断を通じた組織的な改善手法
teamlab
PRO
0
190
オープンソースソフトウェアへの解像度🔬
utam0k
2
240
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
850
Visualization
eitanlees
148
16k
Building Applications with DynamoDB
mza
96
6.6k
Six Lessons from altMBA
skipperchong
28
4k
Embracing the Ebb and Flow
colly
88
4.8k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Statistics for Hackers
jakevdp
799
220k
Music & Morning Musume
bryan
46
6.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
Transcript
%SPJE,BJHJެࣜΞϓϦ 044ޭཁҼ !LPOJGBS :"1$"TJB)BDIJPKJ
͜ʹ;͊ʔ !LPOJGBS
͜ʹ;͊ʔ !LPOJGBS ESPJELBJHJ
"OESPJEΛͬͯΔਓʁ
044ʹڵຯ͕͋Δਓʁ
%SPJE,BJHJ w "OESPJEٕज़ใͷڞ༗ͱίϛϡχέʔγϣϯ͕తͷ "OESPJE։ൃऀͷͨΊͷΧϯϑΝϨϯε w ʢʣɺʢۚʣʹ։࠵
ެࣜΞϓϦ࡞Γ·ͨ͠ ΦʔϓϯιʔεͰ%SPJE,BJHJͷΧϯϑΝϨϯεΞ ϓϦ࡞ͬͯΔ IUUQLPOJGBSIBUFOBCMPHDPNFOUSZ
લࡇͷΑ͏ͳੌ·͍͡Γ্͕Γ
None
None
(PPHMF*0ͷΞϓϦʹෛ͚ͯͳ͍
(JU)VCͷ1VODIDBSE
None
ϲ݄ܦͬͨࠓͰଓ͍͍ͯΔ
ؖࠃޠαϙʔτ 5IBOLT!1MVV
ܧଓతͳϥΠϒϥϦΞοϓσʔτ 5IBOLT!TIBVOLBXBOP
ͳͥ͜ΜͳʹΓ্͕ͬͨͷ͔
ʮࠓࢥ͑͋Ε͕Α͔ͬͨͳ͊ʯ ͱࢥ͑Δ͜ͱΛ͍͔ͭ͘ཧͨ͠ͷͰ ͦͷΛ͠·͢
%SPJE,BJHJެࣜΞϓϦ 044ޭཁҼ ʢ͔ͩͬͨ͠Εͳ͍ʣ
-BCFMͱ.JMFTUPOFΛ׆༻͢Δ $POUSJCVUFͷෑډΛԼ͛Δ ӳޠͰΓͱΓ͢Δ ϨϏϡʔΛߴʹճ͢ ༷ʑͳखஈͰͬͯΒ͏
-BCFMͱ.JMFTUPOFΛ׆༻͢Δ
*TTVF͕͋ͬͯͲΕΛΕ͍͍͔ Θ͔Βͳ͍ͱखΛ͚ͭʹ͍͘ -BCFMͱ.JMFTUPOFΛ׆༻͢Δ
༏ઌͷΘ͔Δ-BCFM -BCFMͱ.JMFTUPOFΛ׆༻͢Δ
༏ઌͷΘ͔Δ-BCFM -BCFMͱ.JMFTUPOFΛ׆༻͢Δ छྨͰͳ͘ ༏ઌΛද͢ϥϕϧ ೱ͍৭ʹ͍ͯ͠Δ
༏ઌͷΘ͔Δ-BCFM -BCFMͱ.JMFTUPOFΛ׆༻͢Δ XFMDPNFDPOUSJCVUFMBCFM
XFMDPNFDPOUSJCVUFMBCFM -BCFMͱ.JMFTUPOFΛ׆༻͢Δ w DPOUSJCVUFͯ͠΄͍͠*TTVFʹ͜ͷϥϕϧΛ͚͓ͭͯ͘ w ݟͨਓ͕ͲΕΛͬͨΒ͍͍͔ͻͱͰΘ͔Δ w XFMDPNFײ͕ग़ͯऔΓ͍͢
XFMDPNFDPOUSJCVUFMBCFM -BCFMͱ.JMFTUPOFΛ׆༻͢Δ
XB⒐FJPʢΧϯόϯʣ -BCFMͱ.JMFTUPOFΛ׆༻͢Δ w (JU)VCͱ࿈ܞͯ͠*TTVFͱ1VMMSFRVFTUΛΧϯόϯԽ IUUQTXB⒐FJPLPOJGBSESPJELBJHJ w ;FO)VCͰ͍͍͕ɺXB⒐FJPແྉͩ͠ϦϯΫΛͬ ͍ͯΕ͙͑͢Δͱ͍͏ख͕ܰ͋͞Δ
XB⒐FJPʢΧϯόϯʣ -BCFMͱ.JMFTUPOFΛ׆༻͢Δ
XB⒐FJPʢΧϯόϯʣ -BCFMͱ.JMFTUPOFΛ׆༻͢Δ *TTVFΛ্͛ͨΒ #BDLMPHʹೖΔ
XB⒐FJPʢΧϯόϯʣ -BCFMͱ.JMFTUPOFΛ׆༻͢Δ ΔͧͱܾΊͨΒ 3FBEZ υϥοάυϩοϓ
XB⒐FJPʢΧϯόϯʣ -BCFMͱ.JMFTUPOFΛ׆༻͢Δ ୭͔͕Γ࢝ΊͨΒ *O1SPHSFTT
XB⒐FJPʢΧϯόϯʣ -BCFMͱ.JMFTUPOFΛ׆༻͢Δ Ϋϩʔζͨ͠Β %POFʹೖΔ
XB⒐FJPʢΧϯόϯʣ -BCFMͱ.JMFTUPOFΛ׆༻͢Δ .JMFTUPOFՄࢹԽ
.JMFTUPOF -BCFMͱ.JMFTUPOFΛ׆༻͢Δ
.JMFTUPOF -BCFMͱ.JMFTUPOFΛ׆༻͢Δ όʔδϣϯ͝ͱʹͬͯ ʹͪೖΕ͓ͯ͘͜ͱͰ కΛՄࢹԽͰ͖Δ
-BCFMͱ.JMFTUPOFΛ׆༻͢Δ͜ͱͰ ԿΛ͍ͭ·ͰʹΕ͍͍͔͕໌֬ʹͳΓ ͱ͖ͬͭ͘͢ͳΔ -BCFMͱ.JMFTUPOFΛ׆༻͢Δ
$POUSJCVUFͷෑډΛԼ͛Δ
$POUSJCVUFʹ༐ؾ͕͍Δ $POUSJCVUFͷෑډΛԼ͛Δ w ʮͳΜ͔ͦ͠͏ʜʯ w ʮ͜ΜͳγϣϘ͍ͷ্͛ͯେৎ͔ͳʜʯ w ʮϨϏϡʔͰ໎͔͚ͨΒͲ͏͠Α͏ʜʯ w ʮࣗͳΜ͔͕ΔΑΓଞͷਓ͕ͬͨํ͕ʜʯ
*TTVFͷཻΛখ͘͞ $POUSJCVUFͷෑډΛԼ͛Δ w ͘Β͍ͰͰ͖ͦ͏ͳϨϕϧͷͷॻ͍͓ͯ͘ w ʮ͜Ε͘Β͍ͳΒࣗͰͰ͖ͦ͏ͩʯͱࢥͬͯΒ͏
༨നͷௐͱ͔ $POUSJCVUFͷෑډΛԼ͛Δ IUUQTHJUIVCDPNLPOJGBSESPJELBJHJJTTVFT
ఆظతͳ*TTVFͷ୨Է͠ $POUSJCVUFͷෑډΛԼ͛Δ w ݹ͍*TTVFΛΫϩʔζ͢Δ w ৽ͨʹग़͖ͯͨ*TTVFΛҰؾʹॻ͖ग़͢ w XFMDPNFDPOUSJCVUFϥϕϧΛషΓ͢ w ৗʹ࠷৽ʹอͭ͜ͱͰ$POUSJCVUPSͷࠞཚΛগͳ͘͢Δ
,PUMJOԽͷΫϩʔζ $POUSJCVUFͷෑډΛԼ͛Δ IUUQTHJUIVCDPNLPOJGBSESPJELBJHJQVMM
ࣗͰͰ͖ͳ͍͜ͱॻ͍͓ͯ͘ $POUSJCVUFͷෑډΛԼ͛Δ w ʮ͜͏͍͏͜ͱ͍ͨ͠ʯͱ͍͏*TTVFॻ͍͓͖ͯ͘ w "OESPJEͷ߹ɺਓʹΑͬͯৄ͍͕͠ҧ͏͜ͱ͋Δ ͷͰɺͦͷํ͕$POUSJCVUF͘͢͠ͳΔ
ϥΠϒϥϦ࡞ऀ͔Βͷ$POUSJCVUF $POUSJCVUFͷෑډΛԼ͛Δ
$POUSJCVUFͷෑډΛԼ͛Δ $POUSJCVUPSTΫϨδοτ $POUSJCVUPSTͷօ͞ΜͷѹతײँΛܗʹͨͯ͘͠ *TTVFʹͨ͠Βɺ!HPUPLBUTVZB͕࡞ͬͯ͘Εͨ IUUQTHJUIVCDPNLPOJGBSESPJELBJHJJTTVFT $POUSJCVUF͢ΔࡍͷϞνϕʔγϣϯʹͳΔ
$POUSJCVUFʹ༐ؾ͕͍ΔͷͰ ʮࢲͰͰ͖ͦ͏ʯ ʮͳΜָ͔ͦ͠͏ʯ ʮ$POUSJCVUFͯ͠ΈΑ͏͔ͳʯ ͱࢥͬͯΒ͑ΔΑ͏ʹ͠·͠ΐ͏ $POUSJCVUFͷෑډΛԼ͛Δ
ӳޠͰΓͱΓ͢Δ
2ෑډΛԼ͛Δͱ͔ݴ͓͖ͬͯͳ͕Β ͳΜͰӳޠͳͷʁ ӳޠͰΓͱΓ͢Δ
"ւ֎͔Βͷ$POUSJCVUF͋Δ͔ͳͱ ࢥ͍ͬͯͨʢͳ͔ͬͨʣ ӳޠͰΓͱΓ͢Δ
ӳޠͷํ͕ςϯγϣϯ্͕͕Δ ӳޠͰΓͱΓ͢Δ IUUQTHJUIVCDPNLPOJGBSBOESPJE NBUFSJBMEFTJHOJDPOHFOFSBUPS QMVHJOJTTVFT
ӳޠͰΓͱΓ͢Δ
ӳޠͰΓͱΓ͢Δ IUUQTHJUIVCDPNLPOJGBSESPJELBJHJQVMM
ӳޠͰΓͱΓ͢Δ
ӳޠͰΓͱΓ͢Δ ຊޠͷ࣌ΑΓΈΜͳ༏͍͠ؾ͕͢Δ ʢ݁ՌతʹͬͯΑ͔ͬͨʣ
ͪΖΜຊޠͰશવͳ͠ ӳޠͰΓͱΓ͢Δ IUUQTHJUIVCDPNLPOJGBSZBQDBTJBTDFOBSJPJTTVFT JTTVFDPNNFOU
ւ֎͔Βڹ͋ͬͨ ӳޠͰΓͱΓ͢Δ w ؖࠃޠͷ༁αϙʔτ w ΠϯυͷΧϯϑΝϨϯεͷެࣜΞϓϦͱ͍͍͔ͯͨ͠ Β'PSLͤͯ͘͞Εͱͷ࿈བྷ w %SPJEDPO5VOJTJBͷΧϯϑΝϨϯεΞϓϦӨڹΛड͚ ͍ͯΔΒ͍͠
IUUQTHJUIVCDPN/JMIDFNESPJEDPOUO
࠷ߴͷײ*TTVF ӳޠͰΓͱΓ͢Δ
ϨϏϡʔΛߴʹճ͢
$POUSJCVUPSʹͱͬͯҰ൪ͭΒ͍ͷ ࣗͷ*TTVF13͕์ஔ͞ΕΔ͜ͱ ϨϏϡʔΛߴʹճ͢
͍ͭͰݟͯΔײΛग़͢ ϨϏϡʔΛߴʹճ͢
͍ͭͰݟͯΔײΛग़͢ ϨϏϡʔΛߴʹճ͢ 13͕དྷͨΒ͙͢ʹʮݟͯΔΑʯ ͷFZFTίϝϯτ
͍ͭͰݟͯΔײΛग़͢ ϨϏϡʔΛߴʹճ͢ ؆୯ͳͷͩͬͨΒ͙͢ʹ֬ೝ ͯ͠ײँͷϦΞΫγϣϯ
͍ͭͰݟͯΔײΛग़͢ ϨϏϡʔΛߴʹճ͢ 0,ͳΒ߈ͰϚʔδ ૣ͍ͱ13དྷ͔ͯΒ͘Β͍
அʹ໎͏13ΛͲ͏ѻ͍͍͔͑ ϨϏϡʔΛߴʹճ͢
அʹ໎͏ϨϏϡʔͰͷࣦഊ ϨϏϡʔΛߴʹճ͢
அʹ໎ͬͯ์ஔμϝ ϨϏϡʔΛߴʹճ͢ w அʹ໎ͬͨͱͯ͠ɺԿϦΞΫγϣϯͳ͍ͷμϝ w 1VMMSFRVFTUͳΒɺͱΓ͋͑ͣϚʔδ͔ΫϩʔζͷͲͪΒ ͔ͷҙࢥΛࣔ͢͜ͱ w Ͳ͏͙ͯ͢͠ʹஅͰ͖ͳ͚ΕͦͷࢫΛίϝϯτʹ ͖͢
ࡉ͔͍ͱ͜Ζؾʹ͠ͳ͍ ϨϏϡʔΛߴʹճ͢ w ࡉ͔͍ม໊ϑΥʔϚοτ่ΕؾʹͤͣϚʔδ͢Δ w ؾʹͳͬͨΒޙͰࣗͰͨ͠ํ͕ૣ͍ w ৗʹεϐʔυ༏ઌɺԿ͔͋ΕޙͰ͢ͱ͍͏ҙࣝ
໎Θͳ͍ύοέʔδߏ ϨϏϡʔΛߴʹճ͢ w "OESPJEͰϕετͳύοέʔδߏ͕ܾ·͍ͬͯͳ͍ɻ .77.ɺ.71ɺͨ·ͨ%%%ͳͲɺઃܭʹΑͬͯ·ͪ ·ͪ w ਖ਼ղͳ͍͕ɺ$POUSJCVUPS͕ΫϥεΛ୳࣌͢৽ͨʹ࡞ Γ͍ͨ࣌ʹ໎Θͳ͍ߏΛҙࣝͨ͠
໎Θͳ͍ύοέʔδߏ ϨϏϡʔΛߴʹճ͢
໎Θͳ͍ύοέʔδߏ ϨϏϡʔΛߴʹճ͢ ʮ"DUJWJUZશ෦͜͜ʹ͍ͬͯΔͷͶʯ ʮ.PEFMՃ͍ͨ࣌͜͜͠ʹೖΕΔͷͶʯ
$POUSJCVUPS͔ΒͷΞΫγϣϯʹ ѹతײँΛ࣋ͬͯ߈ϨϏϡʔ͢Δ 044ͰظؒͷϞνϕʔγϣϯΛอͭͷ ΘΓͱ͍͠ͷͰεϐʔυײେࣄ ϨϏϡʔΛߴʹճ͢
༷ʑͳखஈͰͬͯΒ͏
प͠ͳ͚Ε ୭ʹ͞Εͣ$POUSJCVUFͳ͍ ༷ʑͳखஈͰͬͯΒ͏
༷ʑͳखஈΛͬͯ ·ͣͬͯΒ͏͜ͱ͕େࣄ ༷ʑͳखஈͰͬͯΒ͏
%SPJE,BJHJެࣜΞϓϦͷ߹ ༷ʑͳखஈͰͬͯΒ͏ "OESPJE"STFOBM "OESPJEͷϥΠϒϥϦΞϓϦΛհͯ͠ΔαʔϏε (PPHMF "OESPJE͔ͩΒ͔͠Εͳ͍͕ɺ"OESPJEؔ࿈άϧʔϓʹϙετ͢Δͱ ւ֎ͷਓʹͨ͘͞ΜݟͯΒ͑Δ
5XJUUFSɺ'BDFCPPLɺϒϩά %SPJE,BJHJͷެࣜ5XJUUFSͰपͯ͠Β͑ͨͷେ͖͔ͬͨɻ ຊͩͱ5XJUUFSϒϩάͰ݁ߏΊΒΕΔ
"OESPJEͷ߹ͷपͷํ๏ ԼهεϥΠυʹ·ͱΊͯ͋Γ·͢ ʮ#FBTUBSHB[FSʯCZLPOJGBS IUUQTTQFBLFSEFDLDPNLPOJGBSCFBTUBSHB[FS ༷ʑͳखஈͰͬͯΒ͏
ΊΔͷා͍Μ͚ͩͲʜ ༷ʑͳखஈͰͬͯΒ͏ w ʮίʔυݟΒΕΔͷஏ͔͍ͣ͠ʜʯ w ʮΊͬͪΌୟ͔ΕΔΜ͡Όͳ͍͔ͳʜʯ w ʮා͍ਓʹϚαΧϦ͛ΒΕͨΒͲ͏͠Α͏ʜʯ
༷ʑͳखஈͰͬͯΒ͏ ҆৺͍ͯͩ͘͠͞ օͦΜͳʹͪΌΜͱݟͯ·ͤΜ
ͪΌΜͱݟͯ͘ΕͯΔਓେମ༏͍͠ ༷ʑͳखஈͰͬͯΒ͏ w ܦݧ্ɺ13ૹͬͯ͘ΕΔΑ͏ͳਓ༏͍͠ w Կ͔ݴΘΕͨΒ͍͍ͤͱ͍͏ࡶ͞େࣄ
ࣗͷख͕ճΒͳ͍࣮ΛͿͬ͜·ΕΔޣຯ ༷ʑͳखஈͰͬͯΒ͏
༷ʑͳखஈͰͬͯΒ͏ ίʔυΛެ։͢Δෆ҆Θ͔Δ͕ ެ։ͯ͠ΈΔͱҙ֎ͱͳ͍ͷͰ ΨϯΨϯΊ͍͖ͯ·͠ΐ͏
Α͋͘Δ࣭
2͍ͭࣄʢຊۀʣͯͨ͠ͷʁ
"ຖͯ͠·ͨ͠
ʁ
13͚ͩ߈Ͱݟ͍ͯͨ w ৗʹσΟεϓϨΠʹө͓͍ͯͯ͠ɺ13͚ͩࣄதͰ ͙͢ʹݟͯϦΞΫγϣϯΛฦ͍ͯͨ͠ w ϏϧυͪͳͲͷεΩϚ࣌ؒʹνϥνϥݟ͍ͯͨ
ͻͨ͢Β࣮ w Ոʹؼͬͯ࣌ʙ࣌͘Β͍ʹ࣮͍ͯͨ͠ ʢָ࣌ͯ͘͠ϋΠʹͳ͍ͬͯͨͷͰฏؾͩͬͨʣ w Շʹएׯന͍ͰݟΒΕ͕ͨɺ%SPJE,BJHJొஃ४උͰ ͋Δͱ͍͏͜ͱͰҰԠڐՄΛಘ͍ͯͨ
ਭͪΌΜͱऔͬͨํ͕͍͍ w $POUSJCVUPSͷํʑʹͬͱ͓ͤ͢ΕΑ͔͔ͬͨ w ָ͍͍ͯͭͭ͘͠ݟͯ͠·͍ͬͯͨͷͰۤͰͳ͔ͬͨ
·ͱΊ
-BCFMͱ.JMFTUPOFΛ׆༻͢Δ $POUSJCVUFͷෑډΛԼ͛Δ ӳޠͰΓͱΓ͢Δ ϨϏϡʔΛߴʹճ͢ ༷ʑͳखஈͰͬͯΒ͏
࠷ॳΘΓͱదͰ Γͳ͕Βࢼߦࡨޡ͖ͯͨ͠෦ଟ͍
044Ͱ͍ΖΜͳਓͱͷΛ࡞Δͷ ֶָ͍͠͠ͼଟ͍
ίʔυެ։͢Δͷ͕ෆ҆Ͱ ͱΓ͋͑ͣެ։ͯ͠ΈΔͱ͍͍͔
͋Γ͕ͱ͏͍͟͝·ͨ͠
%SPJE,BJHJ ʢʣʙʢۚʣ