Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
スマートフォンアプリ開発における共創的な開発チーム
ninjinkun
June 12, 2016
Programming
61
18k
スマートフォンアプリ開発における共創的な開発チーム
複雑かつリッチな体験を提供するスマートフォンアプリを開発するためのチームワーク、その中でのエンジニアの役割について
ninjinkun
June 12, 2016
Tweet
Share
More Decks by ninjinkun
See All by ninjinkun
Launchable Webinar テストを効率化して生産性を上げる方法
ninjinkun
2
450
ディープリンクの 設計と実装 - iOSDC2017
ninjinkun
17
8.8k
ReSwiftでアプリの状態管理 / Reactive Swift Meetup
ninjinkun
9
15k
フリルのアプリ開発今昔物語
ninjinkun
3
2k
プロトタイピング合宿によるデザインリニューアル
ninjinkun
1
2.8k
デザイナーが仕事をしやすいアプリエンジニアを考える
ninjinkun
4
590
Elevationで影が思ったように出ないとき
ninjinkun
4
11k
Square Fragmentやめるってよ
ninjinkun
13
3.2k
Mobile App Development for Perl Mongers
ninjinkun
16
11k
Other Decks in Programming
See All in Programming
PHP でガチの電卓を作る
memory1994
PRO
2
170
Unity+C#で学ぶ! メモリレイアウトとvtableのすゝめ 〜動的ポリモーフィズムを実現する仕組み〜
rossam
1
380
花き業界のサプライチェーンを繋げるプロダクト開発の進め方
userlike1
0
190
Micro Frontends with Module Federation @MicroFrontend Summit 2023
manfredsteyer
PRO
0
660
新卒でサービス立ち上げから Hasuraを使って3年経った振り返り
yutorin
0
240
Qiita Night PHP 2023
fuwasegu
0
11k
Most Valuable Bug(?) ~インシデント未遂から得た学び~
tatsumiakahori
0
150
Unityでのチート対策を簡単かつ高品質に行う為の取り組み
trapezoid
2
1.9k
42tokyo-born2beroot-review
love42
0
130
ITエンジニア特化型Q&Aサイトteratailを 言語、DB、クラウドなど フルリプレイスした話
leveragestech
0
460
フロントエンドで学んだことをデータ分析で使ってみた話
daichi_igarashi
0
190
(新米)エンジニアリングマネージャーのしごと #RSGT2023
murabayashi
9
6k
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
15
1.2k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
13
5.5k
Statistics for Hackers
jakevdp
785
210k
A designer walks into a library…
pauljervisheath
199
16k
Designing for Performance
lara
600
65k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
351
21k
Navigating Team Friction
lara
177
12k
GitHub's CSS Performance
jonrohan
1020
430k
Clear Off the Table
cherdarchuk
79
290k
The Power of CSS Pseudo Elements
geoffreycrofte
52
4.3k
Making Projects Easy
brettharned
102
4.8k
Learning to Love Humans: Emotional Interface Design
aarron
263
38k
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Λ͢