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
スマートフォンアプリ開発における共創的な開発チーム
Search
ninjinkun
June 12, 2016
Programming
61
19k
スマートフォンアプリ開発における共創的な開発チーム
複雑かつリッチな体験を提供するスマートフォンアプリを開発するためのチームワーク、その中でのエンジニアの役割について
ninjinkun
June 12, 2016
Tweet
Share
More Decks by ninjinkun
See All by ninjinkun
買収から2ヶ月でシステム統合した話
ninjinkun
0
110
Designer's and Engineer's Thinking Styles
ninjinkun
0
220
Launchable Webinar テストを効率化して生産性を上げる方法
ninjinkun
2
560
ディープリンクの 設計と実装 - iOSDC2017
ninjinkun
18
10k
ReSwiftでアプリの状態管理 / Reactive Swift Meetup
ninjinkun
9
17k
フリルのアプリ開発今昔物語
ninjinkun
3
2.2k
プロトタイピング合宿によるデザインリニューアル
ninjinkun
1
3.1k
デザイナーが仕事をしやすいアプリエンジニアを考える
ninjinkun
4
680
Elevationで影が思ったように出ないとき
ninjinkun
4
12k
Other Decks in Programming
See All in Programming
猫と暮らすネットワークカメラ生活🐈 ~Vision frameworkでペットを愛でよう~ / iOSDC Japan 2025
yutailang0119
0
220
ソフトウェア設計の実践的な考え方
masuda220
PRO
3
470
Let's Write a Train Tracking Algorithm
twocentstudios
0
220
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1k
Serena MCPのすすめ
wadakatu
4
900
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
ota1022
0
240
ポスターセッション: 「まっすぐ行って、右!」って言ってラズパイカーを動かしたい 〜生成AI × Raspberry Pi Pico × Gradioの試作メモ〜
komofr
0
940
プログラマのための作曲入門
cheebow
0
540
階層構造を表現するデータ構造とリファクタリング 〜1年で10倍成長したプロダクトの変化と課題〜
yuhisatoxxx
3
910
ABEMAモバイルアプリが Kotlin Multiplatformと歩んだ5年 ─ 導入と運用、成功と課題 / iOSDC 2025
akkyie
0
320
CSC509 Lecture 05
javiergs
PRO
0
290
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
920
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
20k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
It's Worth the Effort
3n
187
28k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
RailsConf 2023
tenderlove
30
1.2k
Building an army of robots
kneath
306
46k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
890
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.7k
The Language of Interfaces
destraynor
162
25k
Transcript
εϚʔτϑΥϯΞϓϦ։ൃʹ ͓͚Δڞతͳ։ൃνʔϜ dΤϯδχΞͷࢹ͔Βd
OJOKJOLVO w גࣜձࣾ'BCMJD w ϑϦϚΞϓϦϑϦϧɺ3*%& w J04"OESPJE8FCΤϯδχΞ w J04։ൃɺ"OESPJE։ൃ
όοΫάϥϯυ w ίϯϐϡʔλαΠΤϯε w /"*45 ͯͳ w σβΠϯࢥߟ w %"ϊʔϚϯʹڧ͘ӨڹΛ
ड͚͍ͯΔ ʢ࣌σβΠϯࢥߟͱ͍͏ݴ༿ͳ͔͚ͬͨͲʣ
͓͜ͱΘΓ w ݸਓతͳମݧʹج͍ͮͨ༰Ͱ͋ΓɺͲ͜·ͰҰൠ ԽͰ͖Δͷ͔ະ w ͰϓϩδΣΫτʹ͜͏͍͏ਓ͕ਓډΔͱ͍͍ Μ͡Όͳ͍͔ͳʔͱࢥ͍ͬͯΔ w ʜͦΜͳײ͡ͷԹײͰ͍͖ͬͯ·͢
ΞδΣϯμ w ͡Ίʹڞతͳ։ൃνʔϜ w 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ w ΤϯδχΞ͕σβΠφʔతࢹΛ࣋ͭʹ
͡Ίʹ ڞతͳ։ൃνʔϜ
ۀϞσϧͷ่յ w 1$8FC࣌ΤϯδχΞͱσβΠφʔͷۀ͕ ཱ͍ͯͨ͠ w ΤϯδχΞ͕)5.-ςϯϓϨʔτͷͻͳܗΛ࡞ͬ ͯσβΠφʔ͕ͦ͜ʹ$44ΛͯΔ w ͦ͘͠ͷٯ ͡Ίʹ
ۀϞσϧͷ่յ w εϚʔτϑΥϯΞϓϦͰϏδϡΞϧ࣮Τϯδ χΞͷࣄ w σβΠφʔ͕खΛग़ͮ͠Β͍ w Ξτϓοτʹର͢ΔΤϯδχΞͷӨڹ͕ڧ͘ͳͬ ͍ͯΔ ͡Ίʹ
σβΠφʔͷ σβΠϯΛఏҊͨͯ͘͠ͲΕ͘Βɹɹɹ ͍ͷ͕͔͔Δ͔Θ͔Βͳ͍ ͡Ίʹ
σβΠφʔͷ ΤϯδχΞ͕σβΠϯ༷ ͷ··࣮ͯ͠͠·͏ ༷ʹͬͱҙݟ͕ཉ͍͠ ͡Ίʹ
લఏ w ΞϓϦͷઃܭʹ͓͍ͯσβΠφʔͷՌׂͨ͢ ඇৗʹେ͖͍ w ϏδϡΞϧͱΠϯλϥΫγϣϯͷઃܭͰϢʔβʔମ ݧ͕΄΅ܾ·Δ ͡Ίʹ
͔͠͠ʜ w σβΠφʔ͕ಠྗͰਖ਼ղͷϢʔβʔମݧ༷ Λ࡞ΕΔ͜ͱ·ͣͳ͍ w ٕज़తͳ੍ w ϢʔβʔཧղͷόΠΞε w ΠϯλϥΫγϣϯσβΠϯͷ͠͞
͡Ίʹ
։ൃνʔϜσβΠφʔΛॿ͚Α͏ w ༷ʹ͍ͭͯੵۃతͳҙݟަΛߦ͏ w ٕज़తͳࢹΛڞ༗͢Δ w σβΠφʔతࢹΛ࣋ͭ ͡Ίʹ
ҰํͰΤϯδχΞͷ ্༷͕͔Β͖߱ͬͯͯͦͷ··࣮ ͍ͯ͠Δ ͡Ίʹ ͬͱෲམͪײ͕΄͍͠
෦ྖҬԣஅతͳνʔϜ w ΤϯδχΞɺσβΠφʔɺϓϩμ ΫτϚωʔδϟʔɺϚʔέςΟ ϯάɺ2"ΛؚΜͩνʔϜ w ΞϯνϑΥʔλʔϑΥʔϧ w ϓϩδΣΫτ։͔࢝࣌ΒશһͰ લఏΛڞ༗͢Δ
͡Ίʹ
ूஂతֶश w ༷ʑͳઐՈͰνʔϜΛ· ͳ͍ͱղܾͰ͖ͳ͍͕૿ ͍͑ͯΔ w ৺ཧత҆શ w ઐੑΛ͑ͯҙݟΛݴ͍ ߹͑Δڥ͕伴ʹͳΔ
͡Ίʹ
ڞతͳνʔϜͷϝϯόʔʹͳΔ w ࢦ͢ΰʔϧʮਖ਼͍͠ʯΛ࡞ͬͯϢʔβʔͷ ߦಈΛม͑Δ͜ͱ w ͦͷͨΊʹʜ w ੵۃతʹଞ৬छΛר͖ࠐΉ w ࣗͷ৬ΛίʔσΟϯάʹݶఆ͠ͳ͍
͡Ίʹ
'BCMJDͰ࣮ࡍʹ ͍ͬͯΔ͜ͱ
ྫখنͳػೳվળ w αϙʔτ͔Β্͕͖ͬͯͨϢʔβʔͷཁΛ10͕ ༏ઌॱҐ͚ w *TTVFͰσβΠφʔɺΤϯδχΞɺ10͕༷Λٞ w ಈతϓϩτλΠϓɺ4LFUDIϑΝΠϧͷ࡞ɺڞ༗ w ࣮
w શһ2" 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
ྫେنϦχϡʔΞϧ w ܦӦ͔ΒͷτοϓμϯͰܾఆ w ϢʔβʔΠϯλϏϡʔɺΞϯέʔτ w ࢢௐࠪɺڝ߹ௐࠪ w ϓϩτλΠϐϯά߹॓ w
͋ͱྫͱڞ௨ 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
༷ϨϏϡʔ 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
༷ϨϏϡʔ w ํੑ͕ܾ·͍ͬͯΕɺσβΠφʔ(JU)VC *TTVFʹߴਫ਼ͳϞοΫΛష͍ͬͯ͘ w ಈతϓϩτλΠϓɺ4LFUDIϑΝΠϧؚ͕·ΕΔ ͜ͱଟ͍ w ΤϯδχΞɺϏδωε͕ϨϏϡʔͯ͠ҙݟ͢Δ w
༷ͷৄࡉ٧Ίɺ࣮ίετײͷ͢Γ߹Θͤ 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
σβΠφʔͱͷٞ w ʮͳΜ͔มʯʮμα͍ʯ w ࠷ѱͳϑΟʔυόοΫ w ͖ͪΜͱݴޠԽͯ͠ҙݟΛݴ͏ w ݴޠԽ͢ΔͨΊʹσβΠφʔͷݴ༿ΛֶͿඞཁ ͕͋Δ
'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
ݕ౼ηογϣϯ w ͕ߜΒΕ͍ͯͳ͍߹શһͰݕ౼ηογϣϯ ΛΔ͜ͱ͋Γ·͢ 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
ಈతϓϩτλΠϓ 4LFUDIϑΝΠϧͷڞ༗ 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
ಈతϓϩτλΠϓͷڞ༗ w 'MJOUPɺ1SPUUͳͲͰ ࡞ΒΕͨϓϩτλΠ ϓ͕શମͷ༷ॻʹ ͳΔ 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
4LFUDIϑΝΠϧͷڞ༗ w ࡉ͔͍αΠζɺϚʔδϯͳͲͷ ༷ॻͱͯ͠ڞ༗͢Δ w ࣮࣌ʹසൟʹࢀর͢Δ w ϐΫηϧࢦఆͷը໘༷ॻ ࡞Βͳ͍ 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
શһ2" 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
શһ2" w ֤εςʔΫϗϧμΛר͖ࠐΜͰखಈ2" w 2"ͱ༷ͷ֬ೝΛಉ࣌ʹߦ͏ 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
શһʁ w ϦϦʔε͔ΒӨڹΛड͚Δશһ w αϙʔτελοϑ w ࣄۀऀ w σβΠφʔ w
ΤϯδχΞ 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
ϝϦοτ w αϙʔτ৽ػೳͷ༷ΛΔ͜ͱ͕Ͱ͖Δ w ୭͔͕ೲಘ͍ͯ͠ͳ͍ঢ়ଶͰϦϦʔε͞ΕΔͷΛ ͛Δ w ؆୯ͳϢʔβϏϦςΟςετΛߦ͏߹͋Δ 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
ͲΕ͘Β͍2"ͬͯΔͷʁ w ετΞͷఏग़લ w όάPS༷มߋ͕ग़ͯ2" ʜͱ૿͍͑ͯ ͘ͷ͕ී௨ w ͘Β͍༨༟Λݟ͍ͯΔ w
ຊʹશһ͕ࢀՃ͢Δͷ࠷ॳͷҰճͰे 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
ϢʔβʔΠϯλϏϡʔ 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
૾ͷཌྷΛ͛ͯɺ ݱ࣮ͷϋϯϚʔͰ͑͋͛Δ 'BCMJDϑΝϯμʔσβΠφʔ UBLFKVOF 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
ϢʔβʔΠϯλϏϡʔ w ϢʔβʔͷχʔζΛௐࠪ͢ΔͨΊʹߦ͏ w ͍ΘΏΔΤεϊάϥϑΟοΫΠϯλϏϡʔ w 'BCMJDͰओʹσβΠφʔͱࣄۀऀ͕ߦ͍ͬͯΔ 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
ΠϯλϏϡʔϩάͷڞ༗ w Ͱ͖ΕΤϯδχΞಉ੮͢Δ͜ͱ͕·͍͠ w ͔࣮͠͠ͰखҰഋͩͱશ෦ࢀՃ͍͠ w ΠϯλϏϡʔϩάΛ2JJUB5FBNʹڞ༗͍ͯ͠Δ w ͔͠͠Ұ࣍ใ͕ϕετɺϩά͋͘·Ͱೋ࣍ใ 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
ϢʔβʔͷΛฉ͋͘Ε͜Ε w ΞϯέʔτΛසൟʹ࣮ࢪ w Ϣʔβʔ͔Β࠾༻ͨ͠αϙʔτε λοϑʹώΞϦϯάʢϑϦϧʣ w தݹंചങίϛϡχςΟͷதͷਓ ʹώΞϦϯάʢ3*%&ʣ 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
ϓϩτλΠϐϯά߹॓ 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
ϓϩτλΠϐϯά߹॓ w Ϧαʔνڞ༗ w ϖʔύʔϓϩτλΠϐϯά w ٞɾू w πʔϧϓϩτλΠϐϯά w
ϢʔβʔςετʢΦϑΟεʹ͔ͬͯΒʣ 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
Ϧαʔνڞ༗ w ࣄલʹଞࣾͷΞϓϦΛϦαʔν w ҹͯ͠·ͱΊΔ w ͓ޓ͍ʹԿΛࢀߟʹ͍ͯ͠Δͷ͔Λڞ༗͢Δ 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
ϖʔύʔϓϩτλΠϐϯά w 6*Λࢴʹॻ͖ग़͢ w ϝϯόʔશһ͕࡞Δ w ͱʹ͔͋͘ΓಘΔύλʔϯΛ ཏ͢Δ w ࣮ࡍʹ࠾༻͠ͳͯ͘
ݕ౼ͯ͠௵͓ͯ͘͜͠ͱ͕େࣄ 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
ٞɾू w શһͰ࡞ͬͨϓϩτλΠϓΛ࣋ͪدͬͯٞ w ͦΕͧΕͷྑ͍ॴΛऔΓೖΕͯϓϩτλΠϐϯάΛ ܁Γฦ͢ 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
ϝϦοτ w σβΠφʔɺΤϯδχΞɺϏδωεͷઢ͕ἧ͏ w ٕज़త੍ɺͬ͘͟Γͱͨ͠ڞ༗Ͱ͖Δ w େنϦχϡʔΞϧͳͲʹ͓͢͢Ί 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
όϯμϦʔΦϒδΣΫτ w ݴ༿จࣈͰͷใୡʹ ݶք͕͋Δ w ֆϓϩτλΠϓͳͲɺΠϝʔ δΛשىͤ͞Δͷ͕͋Δͱٞ ͕εϜʔζʹͳΔ w ϝϯόʔͷੑΛܹ͢Δ
'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
Δ͜ͱ όϯμϦʔΦϒδΣΫτ ༷ϨϏϡʔ ಈతϓϩτλΠϓɺ4LFUDIϑΝΠϧ શһ2" Ќ൛ΞϓϦ ϢʔβʔΠϯλϏϡʔ ಈతϓϩτλΠϓɺΠϯλϏϡʔϩά ϓϩτλΠϐϯά߹॓ ϖʔύʔϓϩτλΠϓ
όϯμϦʔΦϒδΣΫτ 'BCMJDͰ࣮ࡍʹ͍ͬͯΔ͜ͱ
σβΠφʔతࢹΛ ࣋ͭ
㱠σβΠϯ͕Ͱ͖Δ w ͪΐͬͱ͕ͨࣝ͋͠Ε͍͍ w తڞ௨ݴޠͷ֫ಘ σβΠφʔతࢹΛ࣋ͭ
ษڧ͢Δ͜ͱ w ϨΠΞτઃܭͷࣝ w ΠϯλϥΫγϣϯઃܭͷࣝ w 4LFUDIΛ৮ͬͯΈΔ w σβΠϯࢥߟ σβΠφʔతࢹΛ࣋ͭ
ϨΠΞτઃܭͷࣝ w ͜ͷಡΜͰ͓͚0, w ใΛཧͯ͠ϨΠΞτ͢Δ ͨΊͷجૅࣝΛֶश͢Δ w ϨΠΞτઃܭཧతͳͷ Ͱ͋Δ͜ͱ͕ཧղͰ͖Ε0, σβΠφʔతࢹΛ࣋ͭ
ΠϯλϥΫγϣϯઃܭͷࣝ w େͷΠϯλϥΫγϣϯ4%,͕ఏڙͯ͘͠ΕΔ ͷͰे w ͔͠͠ಠࣗͷදݱΛ͍ͨ͜͠ͱ࣌ʑ͋Δʢྫ-JLF Ϙλϯʣ w ஸઐੑͷڱؒʹ͋ΔྖҬ w
σβΠφʔ͕Δ߹͋Δ͠ɺΤϯδχΞ͕ Δ߹͋Δ σβΠφʔతࢹΛ࣋ͭ
ΠϯλϥΫγϣϯઃܭͷࣝ w 1SPDFTTJOHܥͷຊͰֶश͢Δ ͷ͕ۙಓ͔ w ϝσΟΞΞʔτʹڵຯ͕͋Δਓ ͜ͷʹڧ͍ σβΠφʔతࢹΛ࣋ͭ
4LFUDIΛ৮ͬͯΈΔ w σβΠφʔ͕ϨΠΞτΛߟ͑ΔաఔΛମݧͰ͖Δ w ؆୯ͳը૾͕ࣗͰ࡞ΕΔΑ͏ʹͳΔͱศར σβΠφʔతࢹΛ࣋ͭ
σβΠϯࢥߟ w ຊͷΛൃݟ͠ղܾ͢Δͷ ͕σβΠϯͰ͋Δ w ؍ˠΞΠσΞग़ˠϓϩτλ Πϐϯάˠςετˠ؍ʜ σβΠφʔతࢹΛ࣋ͭ
σβΠϯࢥߟ w แׅతͳςΩετ w ΠϯλϏϡʔɺϖϧιφɺ ӬԕͷதڃऀϞσϧ w ಡΉͷେมͳͷͰྠߨ͕ ͓͢͢Ί σβΠφʔతࢹΛ࣋ͭ
σβΠϯࢥߟ w ࣮ࡍͲ͏͢Ε͍͍ͷʁͱ͍͏ ͍ʹ͑Δຊ w σβΠϯࢥߟͱϦʔϯελʔτΞο ϓͷϚογϡΞοϓ w ৽͠͞ͳ͍͕࣮ͷ͕த৺Ͱ ಡΈ͍͢
σβΠφʔతࢹΛ࣋ͭ
·ͱΊ w ڞతͳνʔϜͷϝϯόʔʹͳΔ w 'BCMJDͰ࣮ફ͍ͯ͠Δ։ൃख๏ w ༷ϨϏϡʔɺϓϩτλΠϓͷڞ༗ɺશһ2"ɺϢʔ βʔΠϯλϏϡʔɺϓϩτλΠϐϯά߹॓ w σβΠφʔతࢹΛ࣋ͭ
w ϨΠΞτɺΠϯλϥΫγϣϯɺσβΠϯࢥߟΛֶͿ
͓·͚
͓͢͢Ίຊ
ΤϯδχΞͱͯ͠ σβΠφʔʹͬͯཉ͍͜͠ͱ
खݩͰΞϓϦΛϏϧυ͢Δڥ Λ͑Δ w ։ൃதͷΞϓϦखݩͰϏϧυͯ֬͠ೝ͢Δ w ΤϯδχΞ3&"%.&ΛͪΌΜͱॻ͘ w ର໘ͰϏϧυ͕௨Δ·Ͱαϙʔτ͢Δ
ࣗͰΞϓϦΛ࡞ͬͯΈΔ w 9DPEF "OESPJE4UVEJPΛͬͯࣗͰΞϓϦΛ ࡞ͬͯΈΔ w ίʔυΛॻ͔ͳͯ͋͘ΔఔͷͷͰ͖Δ w ͲΜͳύʔπ͕͋Δ͔͓͚ͬͯ0,
ΤϯδχΞ ϓϥοτϑΥʔϚʔͱͷ ΠϯλʔϑΣΠε
ϓϥοτϑΥʔϚʔͱͷΠϯλʔ ϑΣΠε w ΞϓϦͷੈքͰຖՄೳʹͳΔ͜ͱ͕૿͍͑ͯΔ w ͔͠͠"QQMF (PPHMFͷग़ͯ͘͠ΔใΤϯδχ Ξ͚ w ͔Έࡅ͍ͯϏδωεɺσβΠφʔʹڞ༗͢Δ
w ಛʹ88%$ (PPHMF*0ͷใ
ϓϥοτϑΥʔϚʔͱͷΠϯλʔ ϑΣΠε w ϓϥοτϑΥʔϚʔʹಇ͖͔͚Δ ͜ͱʹΑͬͯϓϩϞʔγϣϯΛ༗ རʹਐΊΔ͜ͱ͕Մೳ w ྫϑϦϧͷϚςϦΞϧσβΠϯ ରԠʹΑΔϕετΞϓϦ֫ಘ
"OESPJEΤϯδχΞͷ σβΠφʔ͕J04Ά͍6*͔Γఏ Ҋͯ͘͠Δ "OESPJEͬͯͳ͍ Μ͡Όͳ͍
։ൃʹؔΘΔਓΛৗͰ ͏͖ w ձࣾͰิॿ੍͕͋Δͱ͍͍͔Ͱ͢ w J04Ϣʔβʔʹ"OESPJEΛ͢ w "OESPJEϢʔβʔʹJ04Λ͢