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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Taishi Takeichi
October 18, 2016
Technology
94
79k
日経電子版アプリ 穴のあいたバケツ開発
140年の歴史を持つ会社の、高速内製アジャイル開発への挑戦
Taishi Takeichi
October 18, 2016
Tweet
Share
More Decks by Taishi Takeichi
See All by Taishi Takeichi
日経電子版 プロダクトアウトからの脱却
taishiblue
10
11k
プロダクトマネジメントとは[新卒研修]
taishiblue
25
9.4k
日経電子版 レガシーな基礎の上に建つ旅館
taishiblue
15
7.5k
日経電子版 穴のあいたバケツ開発[加筆・修正版]
taishiblue
6
3.7k
日経電子版アプリが高速化のためにやったこと
taishiblue
16
10k
日経電子版 新聞アプリとしてのUI/UX
taishiblue
13
15k
Other Decks in Technology
See All in Technology
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.6k
20260208_第66回 コンピュータビジョン勉強会
keiichiito1978
0
200
22nd ACRi Webinar - ChipTip Technology Eric-san's slide
nao_sumikawa
0
100
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
480
私たち準委任PdEは2つのプロダクトに挑戦する ~ソフトウェア、開発支援という”二重”のプロダクトエンジニアリングの実践~ / 20260212 Naoki Takahashi
shift_evolve
PRO
2
210
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
210
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
340
22nd ACRi Webinar - NTT Kawahara-san's slide
nao_sumikawa
0
110
量子クラウドサービスの裏側 〜Deep Dive into OQTOPUS〜
oqtopus
0
150
今日から始めるAmazon Bedrock AgentCore
har1101
4
420
SRE Enabling戦記 - 急成長する組織にSREを浸透させる戦いの歴史
markie1009
0
170
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
250
Featured
See All Featured
The Language of Interfaces
destraynor
162
26k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
130
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Six Lessons from altMBA
skipperchong
29
4.2k
HDC tutorial
michielstock
1
400
Thoughts on Productivity
jonyablonski
74
5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Transcript
1 ܦిࢠ൛ΞϓϦ݀ͷ͍͋ͨόέπ։ൃ ʙͷྺ࢙Λ࣋ͭձࣾͷɺߴΞδϟΠϧ։ൃͷઓʙ ຊܦࡁ৽ฉࣾɹࢢେࢤ ΤϯλʔϓϥΠζΞδϟΠϧษڧձ
2 ࣗݾհ ࢢେࢤʢ5BJTIJ5BLFJDIJʣ ݄ੜ·Ε"#ܕࡕਆϑΝϯ ຊܦࡁ৽ฉࣾσδλϧฤہฤ෦ ܦిࢠ൛ϞόΠϧΞϓϦνʔϜͷϦʔμʔ ʢϓϩμΫτϚωʔδϟʔɾϓϩδΣΫτϚωʔδϟʔʣ
3 ࣗݾհ େֶଔۀޙɺ̑΄Ͳɾɾɾ ɺ8FC։ൃձࣾʹೖࣾ 8FCΤϯδχΞͱͯ͠ಇ͘ '9औҾͷ8FCΞϓϦ։ൃͳͲʹैࣄ ɺຊܦࡁ৽ฉࣾ ຊࣾ ʹೖࣾ αʔϏε։ൃͷϞόΠϧΞϓϦνʔϜʹଐ
J04ΞϓϦ։ൃʹैࣄɺͦͷޙϞόΠϧΞϓϦ։ൃશൠΛ୲
4 ܦͱ ৽ฉ ࡶࢽ ์ૹ σʔλ ΠϯσοΫε
5 ຊܦࡁ৽ฉͱ ɾܦͷϝΠϯϓϩμΫτ ɾʢ໌࣏ʣੜ ɹࠓͰपʂ ɾສ෦ൃߦ
6 ༗ྉձһʢ4,200ԁ/݄ʣ 48ສਓ ແྉձһ 300ສਓ ඇొ 2500ສUB ܦిࢠ൛ͱ ɾ20103݄ץ ɾ݄ؒΞΫηε
3ԯ݅ ɾຖ 900 ຊͷهࣄΛ৴ ɾPCɾϞόΠϧαΠτɺ ɹiOS, Android ΞϓϦͳͲʹରԠ
7 ܦిࢠ൛ͱ ேץɾ༦ץ ຊܦࡁ৽ฉͷͯ͢ͷهࣄ 8FCץ 8FCݶఆͷهࣄ .Zχϡʔε ͖ͳ࿈ࡌΩʔϫʔυͳͲΛͱʹύʔιφϥΠζ
8 ిࢠ൛ͷϓϩμΫτ 1$αΠτ ϞόΠϧαΠτ ిࢠ൛ΞϓϦ ʢJ04"OESPJEʣ ࢴ໘ϏϡʔΞʔΞϓϦ ʢJ04"OESPJEʣ ଞɾ/*,,&*45:-&ɾ-JTT/ɾਓࣄΦονͳͲ
9 ిࢠ൛ͷϓϩμΫτ 1$αΠτ ϞόΠϧαΠτ ిࢠ൛ΞϓϦ ʢJ04"OESPJEʣ ࢴ໘ϏϡʔΞʔΞϓϦ ʢJ04"OESPJEʣ ଞɾ/*,,&*45:-&ɾ-JTT/ɾਓࣄΦονͳͲ
10 ిࢠ൛ͷϓϩμΫτ 1$αΠτ ϞόΠϧαΠτ ిࢠ൛ΞϓϦ ʢJ04"OESPJEʣ ࢴ໘ϏϡʔΞʔΞϓϦ ʢJ04"OESPJEʣ ଞɾ/*,,&*45:-&ɾ-JTT/ɾਓࣄΦονͳͲ
11 ిࢠ൛ΞϓϦ
ࠓ͓͍ͨ͜͠͠ͱ
13 ʮ݀ͷ͍͋ͨόέπʯ CZਂو೭ࢯ
14 ऄޱΛଠ͘͢Δʹ ɾϓϩϞʔγϣϯ ɾΞΫΠδγϣϯ ɾ4&0ɾࢄܕϝσΟΞͳͲ ʮ݀ͷ͍͋ͨόέπʯ
15 όέπΛେ͖͘͢Δʹ ɾϚʔέοτنΛ֦େ ɾίϯςϯπΛ֦ॆɾແྉ։์ ɾ͓ࢼ͠ࢪࡦͳͲ ʮ݀ͷ͍͋ͨόέπʯ
16 όέπͷ݀Λ࠹͙ʹ ɾϦςϯγϣϯ ɾάϩʔεϋοΫ ɾϓϩμΫτͷϒϥογϡΞοϓͳͲ ʮ݀ͷ͍͋ͨόέπʯ
17 ଠ͍ऄޱΛશ։ʹͯ͠ਫΛྲྀͯ͠ɺ ɾখ͍͞όέπͰ͙͢ʹᷓΕͯ͠·͏ ɾ͕݀ͨ͘͞Μ͍͍͋ͯͨΒஷ·Βͳ͍ ࣮ߦͷॱ൪͕େࣄ
18 ࠓ͓͍ͨ͜͠͠ͱ ɾΠέͯΔόέπ։ൃνʔϜΛ࡞ΔͨΊʹͬͨ͜ͱ ɾόέπΛେ͖͘͢ΔͨΊʹͬͨ͜ͱ ɾόέπͷ݀Λ࠹͙ͨΊʹͬͨ͜ͱ
ΠέͯΔόέπ։ൃνʔϜΛ࡞Δ
20 ͜Ε·Ͱͷ։ൃ ɾΥʔλʔϑΥʔϧ։ൃ ɾશ֎ ɾʮͯ͘ɺ͍͍ͪͪେ͖͍ϓϩδΣΫτʯ
21 ϦϦʔε·Ͱʹ̎ि͔͔ؒͬͨྫ
22 ϦϦʔε·Ͱʹ̎ि͔͔ؒͬͨྫ
23 ϦϦʔε·Ͱʹ̎ि͔͔ؒͬͨྫ ɾ༷ɾཁ݅ఆٛॻ࡞ ɾࣾઆ໌ɾௐ ɾ։ൃձࣾͱଧͪ߹Θͤɾൃॻ࡞ ɾςετέʔε࡞ ɾ࣮ ɾडೖςετɾσόοά ɾਃɾϦϦʔε
24 ϦϦʔε·Ͱʹ̎ि͔͔ؒͬͨྫ ɾϘλϯͻͱͭՃ͢Δ͚ͩͰɺ ɹͻͱͭͷϓϩδΣΫτʹͳͬͯ͠·͏ ɾૉૣ͘ੈʹఏڙ͠ɺϑΟʔυόοΫΛಘΔ͜ͱ͕Ͱ͖ͳ͍ ɾ։ൃ్தͰͷॊೈͳ༷มߋ͕Ͱ͖ͳ͍ ɾٕज़తͳϊϋ͕ࣾʹͨ·Βͳ͍
25 όέπ։ൃʹٻΊΒΕΔ͜ͱ ɾ͍αΠΫϧͰͷϦϦʔεɺΞδϟΠϧ։ൃ ɾڝ߹ͷొڥͷมԽʹॊೈʹରԠ ɾऔҾίετͷ࠷খԽ ɾʮͯ͘ɺͳΔ͘খ͍͞ϓϩδΣΫτʯ
26 όέπ։ൃʹٻΊΒΕΔ͜ͱ ɾ͍αΠΫϧͰͷϦϦʔε ɾڝ߹ͷొڥͷมԽʹॊೈʹରԠ ɾऔҾίετͷ࠷খԽ ɾʮͯ͘ɺͳΔ͘খ͍͞ϓϩδΣΫτʯ ͦ͏ͩɺԽ͠Α͏ʂ
27 Ͳ͔͜ΒखΛ͚ͭΔ͔ ɾϢʔβʔʹ͍ۙɺϑϩϯταΠυͷ։ൃΛԽ ɾଞࣾʹઈରෛ͚ΒΕͳ͍ͷɺܦʹ͔͠࡞Εͳ͍ͷΛɺ ɹ֎ͷਓʹ࡞ͬͯΒͬͯͲ͏͢Δ
ϓϩμΫτϚωʔδϟʔɿ1ਓ σβΠφʔɿ1ਓ iOSΤϯδχΞɿ3ਓ AndroidΤϯδχΞɿ3ਓ WebΤϯδχΞɿ2ਓ ʢQAɿ3ਓʣ 28 ϝϯόʔ σδλϧฤہʢਓʣ αʔϏε։ൃʢਓʣ
ϞόΠϧΞϓϦνʔϜ
29 ϝϯόʔ ɾඞͣࣾ͠һͰ͋Δඞཁͳ͍ ɾࣗࣄͱͯ͠ଊ͑ΒΕΔਓͳΒɺڠྗձࣾͷਓͰ͍͍
30 ֎෦ͷίϯαϧλϯτ ٕज़ސɿҏ౻࠸ࢯʢ!OBPZB@JUPʣ 6*69ίϯαϧλϯτɿਂو೭ࢯʢ!qBEEJDUʣ ʙ
31 ׂࢄͱνʔϜҙࣝ ɾਓϓϩμΫτ ɾׂΛ໌֬ʹɺΛ໌֬ʹ ɾͷલͷϓϩμΫτ։ൃʹूதͰ͖Δڥ
32 ׂࢄͱνʔϜҙࣝ ɾνʔϜͱͯ͠ڞ௨ͷΰʔϧΛ࣋ͭ ɾϓϩμΫτผͰɺ ɹαʔϏεͱͯ͠ಉ͡ํΛ͘ ɾڞ༗͖͢ϊϋଞϓϩμΫτదٓγΣΞ ɾνʔϜ໊Λ͚ͯΈͨΓ
33 ϓϩμΫτΦʔφʔΛ໌֬ʹ ɾ෦ॺͱͯ͠ͷܾఆݖͱผʹɺνʔϜͷܾఆݖΛ໌֬ʹ ɾܾఆݖΛ࣋ͭਓɺ࣌Λݟͯஅ͢Δ ɾϦʔμʔ͍ͯɺҙ֎ͱܾఆݖ͕ᐆດͩͬͨΓɺ ɹܾఆݖΛ࣋ͭਓ͕அ͠ͳ͔ͬͨΓ͢Δ ɾΞδϟΠϧ։ൃͰஅͷ࿈ଓɺຖ͕அ
34 πʔϧɾڥͷඋ ɾίϛϡχέʔγϣϯɾใڞ༗ ɾιʔεཧ ɾܭଌ
35 -FU`Tίϛϡχέʔγϣϯʂ ɾ੮ସ͑ ɾேձ ɾिҰͷϓϩμΫτఆྫ ɾPO ʢ࣌ʹҿΈʹʣ
36 ʮཧͰͳ͘ࢧԉʯ ɾΤϯδχΞ͕։ൃʹूத͍͢͠ڥΛ ɾձٞͳΔ͘ݮΒͯ͠ɺ ɹπʔϧ੮ͰͷίϛϡχέʔγϣϯͰิ͏ ɾΤϯδχΞ͕ҙݟΛݴ͍͍ؔ͢ੑ ɾࣗΒͷגΛԼ͛Δߦҝμϝμϝ
37 ࣾͰࣾ֎ͰϓϨθϯεΛ্͛Δ
38 ࣾͰࣾ֎ͰϓϨθϯεΛ্͛Δ
όέπΛେ͖͘͢Δ
40 શ໘ϦχϡʔΞϧ
41 શ໘ϦχϡʔΞϧ ɾ݄ʹిࢠ൛ΞϓϦΛશ໘ϦχϡʔΞϧ ɾεΫϥονͰ։ൃ ɾ6*͚ͩͰͳ͘ɺίϯςϯπɾରϢʔβʔ֦େ
42 ୭Ͱ͑ΔΞϓϦʹ ɾ༗ྉձһݶఆ ɾேץɾ༦ץ ɹʴ8FCץͷҰ෦ ɾແྉձһɺ·ͨ ɹొͯ͠ͳͯ͘Ұ෦ӾཡՄೳ ɾேץɾ༦ץ ɹʴ8FCץͯ͢ ɾແྉձһͳΒແ݅Ͱ̍िؒɺ
ɹશίϯςϯπɾશػೳ͕ ɹར༻Մೳʹ
43 ϖʔύʔϓϩτλΠϓ͔Βஸೡʹ ਂ͞ΜͱҰॹʹ͔݄͔͚ͯϓϩτλΠϓΛ࡞
44 Πϯϑϥॊೈʹ ΦϯϓϨ͔ΒΫϥυ S3 EC2 CloudFront SNS
45 "QQ4UPSFͷϕετ৽ண"QQʹ ɾ͓͢͢ΊͷτοϓΧςΰϦʹܝࡌ ɾτοϓΧςΰϦ๒ͰΠϯετʔϧܹ૿ ɾݱࡏχϡʔεΧςΰϦͷ ɹϕετχϡʔε"QQʹ
46 ͨͩ͠ɺϦχϡʔΞϧਏ͍Ͱ͢
47 Πϯετʔϧ㱠৽نΞΫςΟϒϢʔβʔ ɾΠϯετʔϧɺΞΫςΟϒϢʔβʔ͕૿͔͑ͨͱ͍͏ͱɾɾɾ ɾϦςϯγϣϯࢪࡦ͕ඞཁ ɾץҎདྷͷϓϩμΫτͷෛ࠴ղফ͠ͳ͚Ε
όέπͷ݀Λ࠹͙
49 ಓͳάϩʔεϋοΫ ɾϦςϯγϣϯͱখ͍͞ΧΠθϯͷ܁Γฦ͠ ɾඞͣ͠৽ػೳՃͰͳ͍ ɾͰɺ͔ΒݟͯΔͱԿͬͯΔ͔Θ͔ΓͮΒ͍ʢࣾʣ
50 ʮ࣍ԿΔͷʁʯ ʮهࣄμϯϩʔυߴԽͰ͢ʢ͖Γͬʣʯ ʮ;ʔΜɻ͋ͱʁʯ ʮɾɾɾʯ
51 ৽ػೳՃ͔ΓͬͯΔͱ͜͏ͳΔ ʢඦಙφΠϑɹCZਂو೭ࢯʣ
52 ϞόΠϧΞϓϦνʔϜ͚ͩͰͰ͖Δ͜ͱ ɾىಈɾμϯϩʔυߴԽ ɾαΫαΫͷૢ࡞ײ ɾσβΠϯɾ6*ΧΠθϯ ɾϢʔβʔΧελϚΠζػೳ ɾΞϓϦͷ҆ఆԽʢΫϥογϡϑϦʔΞοϓʣ
53 ϦϦʔεεέδϡʔϧ J04ిࢠ൛ "OESPJEిࢠ൛ J04ࢴ໘ "OESPJEࢴ໘ ϞόΠϧ8FC ϞόΠϧ"1*
54 ʢ,FZOPUFಈըͰ͢ɻ̍Ͱ͍͔ʹαΫαΫʹͳ͔͕ͬͨΘ͔Γ·͢ʣ
55 ϞόΠϧΞϓϦνʔϜ͚ͩͰͰ͖ͳ͍͜ͱ ɾଞνʔϜͷ"1*վम ɾίϯςϯπʹؔΘΔվम
56 શ֯ӳͷ֯ม
57 ϦϦʔε·Ͱͷεςοϓ ɾίϯςϯπ୲ऀʹݸผʹ૬ஊ ɾવΔ͖ձٞͰఏҊ ɾଞνʔϜͷ"1*ͰରԠՄೳ͔૬ஊ ɾ֬ೝ༻ͷϓϩτΞϓϦΛ࡞ ɾϓϩτΞϓϦΛΠϯετʔϧ࣮ͨ͠ػΛ̎༻ҙͯ͠ɺ ɹίϯςϯπ୲ऀʹؒ֬ೝͯ͠Β͏ɻஸೡͳσϞͰ৴པΛಘΔ ɾ0,͕ग़ͨͷͰ"1*ͷཁ݅Λ٧Ί࣮ͯΛґཔ ɾϞόΠϧΞϓϦνʔϜͰ࠷ऴςετ
ɾϦϦʔε
58 ͪΐͬͱʹͳͬͨ
59 ͪΐͬͱʹͳͬͨ
60 ʹ݁͠ͳ͍ͱ͜ΖͰ۪ʹ
61 Ռ ɾΞΫςΟϒϢʔβʔ͕ϦχϡʔΞϧॳ͔Βഒʹ ɾϨϏϡʔͷධՁ্͕͖ͬͯͨ
՝
63 2"ͷෛ୲૿ ɾਝͳ։ൃମ੍Ͱ͋Δ͕Ώ͑ʹɺςετͷෛ୲͕૿͑ͨ ɾςετ͕ؒʹ߹ΘͣɺϦϦʔε͕ΕΔ͜ͱ ɾॊೈͳ༷มߋ͕2"ʹΘ͍ͬͯͳ͍୯७ͳϛε
64 2"ͷෛ୲૿ ɾϢχοτςετ૿ɺFFςετ ɾཁ݅ΛͳΔ͘γϯϓϧʹ ɾλεΫཧπʔϧͪΌΜͱ͏ʴͬͱίϛϡχέʔγϣϯ
65 ͦͦԿΛΔͷ͔ ɾϦχϡʔΞϧॳͷ՝͍͍ͩͨ௵ͨ͠ ɾઈରΔ͖λεΫঃʑʹݮ͖ͬͯͨ ɾ࣍ʹԿΛΕ͍͍ͷ͔
66 ΠϯϓοτΛ૿ͦ͏ ɾ͝ҙݟ͝ཁϑΥʔϜΛઃ͚ͯɺϢʔβʔͷཁΛฉ͘ ɾ4UPSFͷϨϏϡʔ ɾνʔϜࣾɺਂ͞Μ͔ΒͷఏҊ ϦΞϧλΠϜͰTMBDL௨ʴ#BDLMPHʹλεΫͱͯ͠ొ
67 աڈͷࢪࡦΛৼΓฦͬͯΈΔ
68 ݀ͷେ͖͞ͱ࠹͗͢͞ ɾॏཁʢ݀ͷେ͖͞ʣͱ ɹΓ͢͞ʢ࠹͗͢͞ʣΛ࣠ʹ ɹࢪࡦҊΛϓϩοτ͢Δ ɾӈ্Λ࠷༏ઌλεΫͱͯ͠ɺ ɹ࣮͍ͯ͘͠
69 ٕज़తͳτϥΠ ɾ3FBMNͷ࠾༻ ɾΦϑϥΠϯͰχϡʔε͕ಡΊΔΑ͏ʹ ɾ8FCQϑΥʔϚοτͷ࠾༻ʢࢴ໘ϏϡʔΞʔΞϓϦʣ ɾαʔόʔϨεΞʔΩςΫνϟʢࢴ໘ϏϡʔΞʔΞϓϦʣ
·ͱΊͱ͜Ε͔Β
71 ·ͱΊ ɾ·ͣମ੍࡞Γ ɾ݀ͷۭ͍ͨόέπɺ࣮ߦͷॱ൪͕େࣄ ɾಓͳΧΠθϯઈରʹࢭΊ͍͚ͯͳ͍
72 ·ͱΊ ɾ·ͣମ੍࡞Γ ɾ݀ͷۭ͍ͨόέπɺ࣮ߦͷॱ൪͕େࣄ ɾಓͳΧΠθϯઈରʹࢭΊ͍͚ͯͳ͍ ɾ͏Δ͜ͱ͕ͳ͍ͱࢥͬͯɺͦΜͳ͜ͱͳ͍ ɾτϨϯυपғͷڥɺΏͬ͘ΓͰৗʹಈ͍͍ͯΔ
73 ͜Ε͔Β ɾྑ͍จԽɾश׳ͷҡ࣋ͱԣల։ ɾͦΖͦΖऄޱΛଠ͘͢ΔͨΊʹͰ͖Δ͜ͱ ɾಓͳΧΠθϯઈରʹࢭΊͳ͍
74 ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠