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
66
Designer's and Engineer's Thinking Styles
ninjinkun
0
170
Launchable Webinar テストを効率化して生産性を上げる方法
ninjinkun
2
540
ディープリンクの 設計と実装 - iOSDC2017
ninjinkun
18
10k
ReSwiftでアプリの状態管理 / Reactive Swift Meetup
ninjinkun
9
16k
フリルのアプリ開発今昔物語
ninjinkun
3
2.2k
プロトタイピング合宿によるデザインリニューアル
ninjinkun
1
3.1k
デザイナーが仕事をしやすいアプリエンジニアを考える
ninjinkun
4
660
Elevationで影が思ったように出ないとき
ninjinkun
4
12k
Other Decks in Programming
See All in Programming
Enterprise Web App. Development (1): Build Tool Training Ver. 5
knakagawa
1
120
PHPで書いたAPIをGoに書き換えてみた 〜パフォーマンス改善の可能性を探る実験レポート〜
koguuum
0
170
Chrome Extension Techniques from Hell
moznion
1
160
AWS で実現する安全な AI エージェントの作り方 〜 Bedrock Engineer の実装例を添えて 〜 / how-to-build-secure-ai-agents
gawa
8
840
Qiita Bash
mercury_dev0517
2
200
タイムゾーンの奥地は思ったよりも闇深いかもしれない
suguruooki
1
700
REALITY コマンド作成チュートリアル
nishiuriraku
0
100
Building a macOS screen saver with Kotlin (Android Makers 2025)
zsmb
1
160
KawaiiLT 登壇資料 キャリアとモチベーション
hiiragi
0
120
Unlock the Potential of Swift Code Generation
rockname
0
260
Kamal 2 – Get Out of the Cloud
aleksandrov
1
190
国漢文混用体からHolloまで
minhee
1
200
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
37
1.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
13
1.4k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
178
53k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Designing for humans not robots
tammielis
252
25k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Producing Creativity
orderedlist
PRO
344
40k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
560
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Λ͢