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
15k
物語を動かす行動"量" #エンジニアニメ
konifar
16
6.3k
提案のレベルを上げる #QiitaConference
konifar
90
34k
目安箱の設置とワークさせるポイント
konifar
5
2.2k
サバイバルモード下でのエンジニアリングマネジメント
konifar
31
14k
Android開発以外のAndroid開発経験の活かしどころ
konifar
3
3.1k
初めてのiOS関連GitHub ActionsをMarketplaceに公開するまでの実録
konifar
3
420
オーナーシップを持つ領域を明確にする
konifar
17
6.7k
雑に思考を整理する技術と効能
konifar
79
45k
Other Decks in Programming
See All in Programming
Serena MCPのすすめ
wadakatu
4
990
Devvox Belgium - Agentic AI Patterns
kdubois
1
120
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
220
Flutterで分数(Fraction)を表示する方法
koukimiura
0
130
スマホから Youtube Shortsを見られないようにする
lemolatoon
27
31k
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
170
Foundation Modelsを実装日本語学習アプリを作ってみた!
hypebeans
0
110
理論と実務のギャップを超える
eycjur
0
130
Go言語はstack overflowの夢を見るか?
logica0419
0
260
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3.3k
Django Ninja による API 開発効率化とリプレースの実践
kashewnuts
0
1.3k
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
490
Featured
See All Featured
Balancing Empowerment & Direction
lara
4
690
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.9k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Git: the NoSQL Database
bkeepers
PRO
431
66k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
The Invisible Side of Design
smashingmag
302
51k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
KATA
mclloyd
32
15k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
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 ʢʣʙʢۚʣ