Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
日経電子版アプリ 穴のあいたバケツ開発
Search
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.3k
日経電子版 レガシーな基礎の上に建つ旅館
taishiblue
15
7.4k
日経電子版 穴のあいたバケツ開発[加筆・修正版]
taishiblue
6
3.7k
日経電子版アプリが高速化のためにやったこと
taishiblue
16
10k
日経電子版 新聞アプリとしてのUI/UX
taishiblue
13
15k
Other Decks in Technology
See All in Technology
因果AIへの招待
sshimizu2006
0
930
Playwright x GitHub Actionsで実現する「レビューしやすい」E2Eテストレポート
kinosuke01
0
450
AWSを使う上で最低限知っておきたいセキュリティ研修を社内で実施した話 ~みんなでやるセキュリティ~
maimyyym
2
200
AWS Trainium3 をちょっと身近に感じたい
bigmuramura
1
130
最近のLinux普段づかいWaylandデスクトップ元年
penguin2716
1
670
A Compass of Thought: Guiding the Future of Test Automation ( #jassttokai25 , #jassttokai )
teyamagu
PRO
1
250
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
150
AWS CLIの新しい認証情報設定方法aws loginコマンドの実態
wkm2
5
600
Challenging Hardware Contests with Zephyr and Lessons Learned
iotengineer22
0
130
【AWS re:Invent 2025速報】AIビルダー向けアップデートをまとめて解説!
minorun365
4
480
Uncertainty in the LLM era - Science, more than scale
gaelvaroquaux
0
810
コミューンのデータ分析AIエージェント「Community Sage」の紹介
fufufukakaka
0
450
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.8k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
Designing for humans not robots
tammielis
254
26k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.3k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
The World Runs on Bad Software
bkeepers
PRO
72
12k
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 ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠