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
チーム開発について / Team Development with agile
Search
Shunya Shishido
May 15, 2018
Technology
0
420
チーム開発について / Team Development with agile
新人研修2018
Shunya Shishido
May 15, 2018
Tweet
Share
More Decks by Shunya Shishido
See All by Shunya Shishido
PWA導入の成果と課題 / nikkei-pwa-html5conf2018
sisidovski
24
18k
Breaking the news in Japan: building the modern web in the far east
sisidovski
0
300
日経電子版を速くする / nikkei-inside-frontend
sisidovski
50
25k
CDNを活用した日経電子版のネットワーク最適化とサイト高速化 / Nikkei ITPro CDN
sisidovski
20
8.7k
日経電子版 サイト高速化とPWA対応 / nikkei-high-performance-pwa
sisidovski
67
200k
WebComponentsについて
sisidovski
0
330
Other Decks in Technology
See All in Technology
JJUG CCC 2025 Fall バッチ性能!!劇的ビフォーアフター
hayashiyuu1
0
140
仕様駆動 x Codex で 超効率開発
ismk
2
1.4k
機密情報の漏洩を防げ! Webフロントエンド開発で意識すべき漏洩パターンとその対策
mizdra
PRO
7
1.8k
バグと向き合い、仕組みで防ぐ
____rina____
0
250
コンピューティングリソース何を使えばいいの?
tomokusaba
1
140
“それなりに”安全なWebアプリケーションの作り方
xryuseix
0
290
Flutterで実装する実践的な攻撃対策とセキュリティ向上
fujikinaga
1
340
旧から新へ: 大規模ウェブクローラの Perl から Go への移行 / YAPC::Fukuoka 2025
motemen
1
740
プログラミング言語を書く前に日本語を書く── AI 時代に求められる「言葉で考える」力/登壇資料(井田 献一朗)
hacobu
PRO
0
150
日々のSlackアラート確認運用をCustom Chat Modesで楽にした話 / 日々のSlackアラート確認運用をCustom Chat Modesで楽にした話
imamotohikaru
0
450
はじめての OSS コントリビューション 〜小さな PR が世界を変える〜
chiroito
3
160
AIでテストプロセスを自動化しよう251113.pdf
sakatakazunori
0
110
Featured
See All Featured
Six Lessons from altMBA
skipperchong
29
4.1k
Designing for humans not robots
tammielis
254
26k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Practical Orchestrator
shlominoach
190
11k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
320
Building Applications with DynamoDB
mza
96
6.7k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Side Projects
sachag
455
43k
Transcript
1 νʔϜ։ൃʹ͍ͭͯ
2 લఏ
3 ιϑτΣΞ࢈ۀͲΜͲΜਐԽ͍ͯ͠Δ ଠݹ ιϑτΣΞσΟεΫʹೖΕͯ͢Δ࣌ ۀݐஙۀͱಉ͘͡ɺاըˠઃܭˠˠ࣭ཧˠྲྀ௨ͷϑϩʔ ۙʢ8FCͷ࣌ʁʣ
γεςϜΛ࡞ͬͯऴΘΓͰͳ͘ͳͬͨ ࢀೖোน͕Լ͕Γɺ࣍ʑͱ͍͍αʔϏε͕Ͱ͖Δɺڝ૪ͷܹԽ ݱʢΫϥυͷ࣌ʁʣ αʔόΛอ࣋͢Δඞཁͳ͘ͳͬͨ ૉૣ͍αʔϏεͷఏڙͱૉૣ͍վળ͕ଓ͚ΒΕΔ͔͕উෛ
4 ࣄৗʹෆ࣮֬ Ϛʔέοτͷᅂ͕มΘͬͨ ڝ߹αʔϏε͕ͲΜͲΜ৽͍͠ͷΛग़͢ ϓϩδΣΫτϝϯόʔ͕Ҿ͖ൈ͔Εͨ ಥવ৽͍͠ཁٻ͕͖߱ͬͯͨ
FUD ෆ࣮֬ͳঢ়گͷதͰ࣮֬ʹՌΛग़͢ʹʁ ˠ͍ΘΏΔ"HJMFͱ͔-&"/ͱ͔ݴΘΕΔͷ
5 ෆ࣮֬ͳঢ়گʹରԠ͢ΔͨΊʹ ͱʹ͔͘PVUQVUɺPVUDPNFʹϑΥʔΧε͢Δ ຊ࣭తͰͳ͍͜ͱʮΒͳ͍ʯ ྫ͑ॏްେͳυΩϡϝϯτͷඋ ܗ֚Խͨ͠ఆྫ.5(
ΠςϨʔγϣϯʢϑΟʔυόοΫϧʔϓʣΛ͘ճ͢ εϓϦϯτܭըΛཱ࣮ͯͯߦ͢Δ ࣗಈԽͯ͠ৗʹϓϩμΫγϣϯʹϦϦʔεͰ͖Δঢ়ଶʹ͢Δʢ$*ɾ$% ϏϧυɺςετɺσϓϩΠ ্هͷΑ͏ͳ͜ͱ͕࣮ݱͰ͖ΔنײͰνʔϜΛ࡞ΔɺݖݶΛҠৡ͢Δ
6 ϑΟʔυόοΫϧʔϓ ૉૣ͘ΞτϓοτΛग़͢ ޮՌଌఆɾϢʔβ͔ΒͷϑΟʔυόοΫΛड͚Δ վળ͢Δ ҎԼϧʔϓ
.71 .JOJNVN7BMVBCMF1SPEVDU Ϣʔβʹͪ͜Β͕ҙਤͨ͠ՁΛఏڙͰ͖Δ࠷খݶͷػೳΛ༗ͨ͠ أटἧ͑ͯձٞͰٞͯ͠ΔΑΓϑΟʔυόοΫϧʔϓΛ͘ճͨ͠ํ͕ ͍͍ ແବͳίετݮʹܨ͕Δ
7 νʔϜʹ৭ʑͳׂ͕͋Δ ϓϩμΫτଆ Ϧαʔνɾੳ اըɾઓཱུҊɺ,1*࡞ 6*69σβΠϯ
ͭͷνʔϜͰ͜ΕΒશͯΛ୲อͰ͖Δͷ͕ཧ ۀ༨ܭͳίϛϡχέʔγϣϯίετΛ࢈ΉˠͷԼΛট͘ ඞવతʹ֤ϝϯόʔ͕ঢ়گʹ߹ΘͤͯෳͷࢠΛඃΔ͜ͱʹͳΔ ಘҙେܴ͚ͩͲʮ͜ΕҎ֎Βͳ͍ʂʯ͍͠Α ্ͷྨԣஅ͢Δ͜ͱ͕ଟ͍͠ɺԣஅ͢Δ͖ ։ൃଆ ΞʔΩςΫνϟઃܭ ࣮ɾςετ ϦϦʔε
8 έʔεελσΟ
9 ཁɾԾઆΛετʔϦʔʹམͱ͠ࠐΉ ʮࠓͷΦϦϯϐοΫͷಛઃαΠτΛ࡞Γ͍ͨΜͩΑͳ͋ʯ ʮใͷهࣄ͕ಡΊͯɺࢼ߹݁Ռͱ͔ରઓ༧ఆͱ͔͕֬ೝͰ͖ΔαΠτʯ ʮͳΜ͔σβΠϯΠέͯͯɺϞόΠϧ͔ΒͰಡΈ͍ͨͳ͋ʯ ʮࣸਅͱ͔ͲʔΜͱग़͍ͨ͠ɺ͋ͱࠂඞཁͩͶʯ ʮαΠταΫαΫಡΈࠐ·Εͯ΄͍͠ʯ ʮ͋ͱϥΠϒʂࢼ߹ͷ࣮گதܧΈ͍ͨͳΈ͕΄͍͠ʯ
10 ετʔϦʔʹམͱ͠ࠐ͏ ετʔϦʔͱʁ ཁٻ༷ΛࣗવݴޠͰ݁ʹ·ͱΊͨͷ ʮ˔˔͕☓☓Ͱ͖Δʯͱ͍ͬͨͷ ώϯτ
ٕज़తͳϨΠϠʔͰׂ͠ͳ͍ ಈ࡞͢Δػೳ୯ҐͰׂ͢Δ
11 ετʔϦʔʹٻΊΒΕΔ͜ͱ *OEFQFOEFOU ಠཱੑɺґଘؔΛۃྗഉআ͍ͯ͠Δ͜ͱ /FHPUJBCMF ަবՄೳͰ͋Δ͜ͱɺঢ়گมΘΔɺҰͷܾఆΛઈରʹ͠ͳ͍
7BMVBCMF ϏδωεʹͱͬͯՁ͕͋Δ͜ͱ &TUJNBCMF ࡞ۀͷʹݟੵΓ͕ՄೳͰ͋Δ͜ͱʢෆՄೳͳΒߋʹׂ͢Δʣ 4J[F దͳ࡞ۀཻʢϢʔβϥΠϒ৴͕ݟΒΕΔɺͱ͔େ͖͗͢ʣ 5FTUBCMF ड͚ೖΕςετ͕Մೳ
12 ετʔϦʔ͕Ͱ͖ͨΒ ༏ઌॱҐ͚ ࡞ۀͷݟੵΓʢϓϥϯχϯάϙʔΧʔFUDʣ ͋ͱΠςϨʔγϣϯΛճ͢ εϓϦϯτܭըʢεϓϦϯτͷؒʹԿΛΔ͔ʣ
εϓϦϯτ࣮ࢪ ৼΓฦΓɺϕϩγςΟͷܭଌʢεϓϦϯτͰͲΕ͚ͩফԽͰ͖͔ͨʣ
13 ΠςϨʔγϣϯ νʔϜҰఆظؒΛ̍ͭͷ۠Γͱ͢Δ िؒि͕ؒଟ͍ ظؒͰୡ͖͢࡞ۀΛ༧ΊܾΊͯʢεϓϦϯτܭըʣͦͷୡʹ͚ͯ νʔϜͰऔΓΉ
ୡ͢ΔͨΊͷखஈͱͯ͠ɺҎԼͷΑ͏ͳࢪࡦΛߦ͏νʔϜ͕ଟ͍ σΠϦʔελϯυΞοϓʢ֤ࣗͷঢ়گؾ͖ͷڞ༗ʣ ͔ΜΜͳͲλεΫϘʔυͰͷਐḿཧʢ5SFMMP͕ଟ͍ɺݸਓతʹཧ ͕͖ʣ εϓϦϯτͷৼΓฦΓʢ,15ͳͲʣΛͯ͠վળΛ܁Γฦ͢
14 ࣮ࡍͷ։ൃ
15 νʔϜ։ൃͷʢҰ෦ʣ ετʔϦʔʢλεΫʣͷཧ ܭըʙணखʙྃ·ͰͷϫʔΫϑϩʔ ༏ઌॱҐ ιʔείʔυཧ
ϒϥϯνઓུ ։ൃΠϯϑϥ ݸਓ։ൃڥ ։ൃɾεςʔδϯάڥ αʔόߏʢ%PDLFS "OTJCMFͳͲʣ $*ɾ$% ϏϧυɾςετɾσϓϩΠͷϫʔΫϑϩʔ ࣮ݱํ๏ʢ+FOLJOT DJSDMFDJʣ ઃఆཧʢ1JQMJOF DJSDMFZNMʣ ίϛϡχέʔγϣϯ .5(ձٞମ 4MBDL *3$ XJLJ υΩϡϝϯτཧ ίʔυϨϏϡʔɺΞʔΩςΫνϟϨϏϡʔ Ϗϧυ Ϗϧυπʔϧ ੩తղੳ ςετ ςετܭը Ϣχοτςετɺड͚ೖΕςετ ࣗಈԽ
16 ݁ߏ৭ʑߟ͑ͳ͖Ό͍͚ͳ͍͜ͱ͕͋Δ ͚Ͳ͜Ε͕Ͱ͖ͨΒ։ൃޮ͕Ұؾʹ্͕Δʂ
17 ϦϦʔε·ͰͷϫʔΫϑϩʔʢྫʣ (JUIVC'MPXҰͱ͍͏લఏͰ͢ (JUIVC'MPXͷղઆIUUQTHJTUHJUIVCDPN(BCLN
18 νʔϜ։ൃͷΞυόΠε λεΫجຊతʹྻͰணख͢Δ͖ɻෳΛಉ࣌ʹΔ͖Ͱͳ͍ ෳͷ͜ͱΛಉ࣌ʹΔͱͦͷՁͷఏڙ͕ΕΔ λεΫͷਐḿ͕ݟ͑ͮΒ͘ͳΔ ࣮ʹΜͩΒ୭͔ʹ૬ஊ
ਓͰΜͰ͍ͯ࣌ؒͷແବʹͳΔ͜ͱ͕ଟ͍ ಈ͘ͷ͕Ͱ͖ͨΒपғʹํੑ͕ਖ਼͍͔֬͠ೝ͢Δ ৗʹ͜·ΊͳϑΟʔυόοΫΛ ϦϑΝΫλϦϯά ෛ࠴େ͖͘ͳΕͳΔ΄Ͳղܾ͕ࠔ গ͠༨༟͕͋ΕϦϑΝΫλϦϯάΛ͢Δ
19 νʔϜ։ൃͷΞυόΠε ίʔυΈΜͳͷͷ ଞͷਓࣗͷίʔυΛಡΜͰ༷ҙਤ͕ཧղͰ͖Δ͔Λҙࣝ͢Δ Ұ؏໋໊ͨ͠نଇɺநతͳ໊લආ͚Δ ίϝϯτʹ࣮ͷதͰͳ͘ʮͳͥͦ͏ͨ͠ͷ͔ʯͱ͍͏ҙਤΛॻ
͘ɻଞͷਓ͕ཧղͰ͖ͳ͍ͩΖ͏ͳͱࢥͬͨΒίϝϯτΛೖΕΔ σβΠϯύλʔϯ ιϑτΣΞݪଇΛҙࣝ͢Δ :"(/*ʢඞཁʹͳΔ·Ͱ࣮͢Δͳʣ %3:ʢಉ͜͡ͱΛ܁Γฦ͢ͳʣ ,*44ʢγϯϓϧʹ͓͚ͯ͠ʣ ιϑτΣΞݪଇͷɹIUUQTRJJUBDPNIJSPLJEBJDIJJUFNTEDECEF
20 ίʔυϨϏϡʔͷΞυόΠε ୭͔ͷ࡞ۀͷखΛࢭΊͳ͍ ίʔυϨϏϡʔͷґཔ͕དྷͨΒͳΔ͘ૣ͘ϨϏϡʔ͢Δ ϨϏϡʔͪґཔऀΛ͍ͨͤͯΔͱ͍͏ೝࣝΛ࣋ͭ ϨϏϡϫʔ͕ৗʹཁ༷݅ΛѲ͍ͯ͠ΔΘ͚Ͱͳ͍
ϨϏϡʔґཔมߋཁ݅ɺରԠ͢ΔνέοτͳͲΛ۩ମతʹॻ͘ (JUIVCͷ3FWJFX3FRVFTUػೳ(JUGZͱ͍͏ΞϓϦΛ͏ͱϨϏϡʔґཔ ͷΓͱΓ͕εϜʔζʹͳͬͯศར
21 ίʔυϨϏϡʔͷΞυόΠε ϨϏϡʔͷతίʔυͷ࣭୲อ ಈ͍͍ͯΔঢ়ଶ͕વɺͦͷ্Ͱݟམͱ͠ɺજࡏతʹෆ۩߹Λى͜͢Մ ೳੑͷ͋ΔՕॴɺΑΓϕλʔͳॻ͖ํ͕Ͱ͖Δํ๏ͳͲΛࢦఠͯ͠Βͬ ࣭ͯΛ্͛Δ ղܾͷݟࠐΈͷͳ͍෦Λ50%0ʹͯͦ͠Εͨ͠ͱ͍͑ͳ͍
ࣗ৴ͷͳ͍ঢ়ଶͰ͋Ε๊͑ࠐΜͰؤு࣮ͬͯ͢Δલʹ૬ஊ͠Α͏ ϨϏϡϫʔͳͦ͞͏ͳΒ-5(.Λ࣮ͯͨ͠͠Λ࿑͏
22 ίʔυϨϏϡʔͷΞυόΠε ࠣͳٞΊΑ͏ ʮΠϯσϯτ෯͕ҧ͏ʯͱ͔ʮ͜͜ͷׅހলུͰ͖Δʯͱ͔ʮηϛί ϩϯ͕ඞཁʯ ͦΕͧΕ͕࣋͋ΔͩΖ͏͠ɺٞͨ͠ͱͯͦ͠Ε͕αʔϏεશମ͔Β ݟΔͱᘭͳ͜ͱɻͷωλͱͯ͠໘ന͍͚Ͳ࣌ؒͷແବ
-JOUπʔϧͳΓίʔυϑΥʔϚολΛಋೖ͢Δ͖ ͋·ΓʹҰൠతͰͳ͍ॻ͖ํʹࢦఠͨ͠ํ͕͍͍ ࠣͳίʔυϨϏϡʔɹIUUQEIBUFOBOFKQOBPZB
23 ϚΠϯυηοτ
24 ͳͥνʔϜ։ൃ͕ඞཁͳͷ͔ ࢢڥͷٸܹʹมԽ͢Δ มԽʹରͯ͠ॊೈʹɺߴʹରԠ͢Δ γεςϜɾαʔϏε͕ਓͰ։ൃͰ͖ΔنΛ͑Δ ͦΕͧΕͷಘҙ
ೝࣝͷᴥᴪΛݮΒ͢ ٬؍తɾ߹ཧతͳٕज़બఆ FUD
25 ෳͷϓϩάϥϚ͕ؔΘΔ߹ɺ༏ΕͨίʔυΛॻ͚ͩ͘Ͱϓϩ δΣΫτޭ͠ͳ͍ɻશһ͕࠷ऴඪʹ͔ͬͯڠྗ͢Δ͜ͱ͕ ॏཁͰ͋ΓɺνʔϜͷڠྗϓϩδΣΫτޭͷΧΪͱͳΔɻ ιϑτΣΞ։ൃνʔϜεϙʔπͷΑ͏ͳͷ ΦϥΠϦʔʮ5&".(&&,(PPHMFͷΪʔΫ͍͔ͨͪʹͯ͠νʔϜΛ࡞Δͷ͔ʯΑΓ
26 ਓͰ։ൃͨ͠߹ ࣦഊͷՄೳੑ͕ߴ͘ͳΔ ࡞ͬͯΈ͚ͨͲ࣮શવΠέͯͳ͍ͷͩͬͨɺͳͲ ͷՄೳੑ͕͘ͳΔ
࣮ʹ͍᪴ͯແ༻ͳ࣌ؒΛඅ͢ νʔϜͰ։ൃͨ͠߹ ૣ͍ஈ֊͔Β͖᪴ΛճආͰ͖Δ ଞਓͷ࣮ΛؒۙͰݟͯͰ͖Δ ϑΟʔυόοΫϧʔϓΛճ͢͜ͱͰ࣌ؒ࿑ྗΛແବʹ͠ͳ͍ ୲͍ͯ͠Δਓ͕ࢮΜͩΒϓϩδΣΫτऴΘΓ Α͍νʔϜӅ͞ͳ͍
27 Α͍νʔϜӅ͞ͳ͍ ୭͔ͱҰॹʹࣄΛ͢ΔͱόΧʹ͞ΕͨΓ͠ͳ͍͔ͱෆ҆ʹͳ Δ͔͠Εͳ͍͕ɺؒҧͬͨ͜ͱΛͯ࣌ؒ͠ͱ࿑ྗΛແବʹ͢ Δ͜ͱΛෆ҆ʹࢥ͏͖
28 )VNBOJUZʢݠڏʣ ࣗશશೳͷਆͰͳ͍͠ɺৗʹਖ਼͍͠Θ͚Ͱͳ͍ 3FTQFDUʢଚܟʣ Ұॹʹಇ͘ಉ྅Λࢥ͍ͬͯɺೳྗ࣮Λߴ͘ධՁ͢Δ 5SVTUʢ৴པʣ ࣗҎ֎ͷਓ͕ਖ਼͍͜͠ͱΛ͢Δͱ৴ͯ͡ɺࣄΛͤΔ )35ͷݪଇ Ͳ͏ͤಇ͔ͳ͖Ό͍͚ͳ͍ͳΒָ͘͠ಇ͖͍ͨΑͶ
29 )35ͷݪଇ ʮͦͷࣄୀ۶ͦ͏ͳͷͰΓͨ͘ͳ͍ʯˡΤΰ ʮະͩʹΦϯϓϨͳΜͰ͔͢ʁʯˡͨͩͷඇ ʮͻͲ͍Ϋιίʔυͩͳ͋ʯˡਓ֨൱ఆ ʮ͍·গ͠༨༟͋ΔͷͰ͓͖ͬͯ·͢Αʯ ʮΫϥυҠߦ͍ͨ͠Ͱ͢Ͷɻݱঢ়ͷαʔόߏஙΛίʔυԽ͢Εʜʯ ʮ͜ͷ࣮ม໊ʹҰ؏ੑ͕ͳ͍͕͠ͳ͔ͬͨͱ͖ʹྫ֎͕ൃੜ͢ΔͶɻ ͜͜Λमਖ਼͢ΕͬͱΑ͘ͳΔΑɻҾ͖ଓ͖ΑΖ͘͠ʂʯ
30 શ෦ᘳʹ͜ͳ͢ͷ͍͠ʢͨͿΜ୭Ͱ͖ͯͳ͍ʣ ؾߏָ͑ͣ͘͠։ൃ͍͖ͯ͠·͠ΐ͏