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
モダン・ソフトウェアエンジニアリングのエッセンス / Essence of Modern So...
Search
Masanori Kado
July 21, 2020
Programming
7
10k
モダン・ソフトウェアエンジニアリングのエッセンス / Essence of Modern Software Engineering
https://smartse.connpass.com/event/178626/
Masanori Kado
July 21, 2020
Tweet
Share
More Decks by Masanori Kado
See All by Masanori Kado
tokyo-tech-dtf-2019-storytelling
kdmsnr
0
760
tokyo-tech-dtf-2019-define-pov
kdmsnr
0
670
tokyo-tech-dtf-2019-ideation
kdmsnr
0
620
tokyo-tech-dtf-2019-guidance
kdmsnr
0
2.4k
tokyo-tech-dtf-2019-introduction
kdmsnr
0
560
tokyo-tech-dtf-2019-user-research
kdmsnr
0
680
大学におけるイマドキのエンジニア教育―東京工業大学EDPの事例(デブサミ2019 14-D-4)/ Modern Engineering Education at University
kdmsnr
4
3.6k
2018_EDP-BC_Final_Report_Announcement.pdf
kdmsnr
0
320
edp-toolkit on SIGED
kdmsnr
0
990
Other Decks in Programming
See All in Programming
AWS Infrastructure as Code の新機能 2025 総まとめ 〜SA 4人による怒涛のデモ祭り〜
konokenj
10
3.1k
Ruby x Terminal
a_matsuda
5
570
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
270
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
Rails Girls Tokyo 18th GMO Pepabo Sponsor Talk
yutokyokutyo
0
190
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
16
9.5k
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1.1k
15年目のiOSアプリを1から作り直す技術
teakun
1
590
「やめとこ」がなくなった — 1月にZennを始めて22本書いた AI共創開発のリアル
atani14
0
340
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
200
手戻りゼロ? Spec Driven Developmentとは@KAG AI week
tmhirai
1
150
CSC307 Lecture 14
javiergs
PRO
0
450
Featured
See All Featured
Claude Code のすすめ
schroneko
67
220k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
250
Site-Speed That Sticks
csswizardry
13
1.1k
Documentation Writing (for coders)
carmenintech
77
5.3k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
A better future with KSS
kneath
240
18k
Music & Morning Musume
bryan
47
7.1k
A Tale of Four Properties
chriscoyier
162
24k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
30 Presentation Tips
portentint
PRO
1
250
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Transcript
ϞμϯɾιϑτΣΞΤϯδχΞϦϯά ͷΤοηϯε ݄ ϫΠΫϧגࣜձࣾ ֯యʢ!LENTOSʣ
.BSUJO'PXMFSTBZTʢʣ w ݫ֨͗ͯ͢ɺՁ͕ݶΒΕΔ w "MJTUBJS$PDLCVSO͕ɺιϑτΣΞ։ൃͰਓ͕த৺తͳཁ ૉͰ͋Γɺਓຊ࣭తʹඇઢܗతͰ༧ଌෆೳͳͷͰ͋Δͱ આ໌ͯ͘͠Εͨ https://bliki-ja.github.io/Semat/
.BSUJO'PXMFSTBZTʢʣ w ݫ֨͗ͯ͢ɺՁ͕ݶΒΕΔ w "MJTUBJS$PDLCVSO͕ɺιϑτΣΞ։ൃͰਓ͕த৺తͳཁ ૉͰ͋Γɺਓຊ࣭తʹඇઢܗతͰ༧ଌෆೳͳͷͰ͋Δͱ આ໌ͯ͘͠Εͨ w ਓ͕ѻ͍͍͢ܭࢉࣜͰهड़Ͱ͖Δ༧ଌՄೳͳΤʔδΣϯτʹ ͳΕՄೳੑ͋Δ͔͠Εͳ͍
https://bliki-ja.github.io/Semat/
ཧͷ༻ w ཧͱʁ w J ݱΛʮهड़ʯ͢Δͷ w JJ ݱΛʮ༧ଌʯ͢Δͷ w
ʮ༧ଌʯ͢ΔͨΊʹʮهड़ʯ͕ඞཁͰ͋Γɺ ʮهड़ʯ͢ΔͨΊʹʮݴޠʯ͕ඞཁͰ͋Δ
ཧͷ༻ w ཧͱʁ w J ݱΛʮهड़ʯ͢Δͷ w JJ ݱΛʮ༧ଌʯ͢Δͷ w
ʮ༧ଌʯ͢ΔͨΊʹʮهड़ʯ͕ඞཁͰ͋Γɺ ʮهड़ʯ͢ΔͨΊʹʮݴޠʯ͕ඞཁͰ͋Δ w কདྷΛ༧ଌ͍͕ͨ͠ɺ·ͣͦͷͨΊͷݴޠ͕ඞཁ
&TTFODFͷΞʔΩςΫνϟ
&TTFODFͷΞʔΩςΫνϟ ᶃ ᶄ ᶅ
ᶃΤοηϯγϟϧԽ͞Εͨख๏
ͬ͘͟Γͱʮख๏ʯͱԿ͔ w ʮιϑτΣΞΛ։ൃɾҡ࣋͢Δͱ͖ʹඞཁͱͳΔͯ͢ͷ͜ͱʹରͯ͠ɺ ΞυόΠεΛఏڙ͢Δͷʯ w ʮͯ͢ͷ͜ͱʯΥʔλʔϑΥʔϧख๏͕ཧղ͍͢͠ w ͏·͍͔͘ͳ͍͜ͱΛআ͚ʢʂʣͦΜͳʹѱ͘ͳ͍ w ݱ࣮తʹɺΞδϟΠϧΛؚΉ෮తख๏ͰΔ͖
w ͱ͍͑ɺࣗݾ৫Խ͕લఏͩͱʮͯ͢ͷ͜ͱʯΛݟಀ͍͢͠ w 㱤શମͷݟऔΓਤΛผ్༻ҙ͓ͯ͘͠ͱΑ͍
ख๏ͷେ͖ͭ͋͘Δ w ཚཱʹΑΔͷҾͬுΓ߹͍ʢख๏ͷઓ૪ʣ w ࣅͨΑ͏ͳ͜ͱΛͬͯΔͷʹ໊લ͕ҧ͏ w ෦ʢϓϥΫςΟεʣ͕ϞδϡʔϧԽ͞Ε͍ͯͨΒ࠶ར༻Մೳͳͷʹʂ w ख๏ͷ࡞ऀ͕ܾΊΔઈରతͳϧʔϧ͕͋Δʢख๏ͷࠈʣ w
ʮͦΜͳͷͰࢭΊΛͤΜʯ w ॻ੶Ͱ৮Ε͍ͯͳ͍͕ɺೝఆࢿ੍֨ͷ͋Γͦ͏
ʮιϑτΣΞ͕ੈքΛ৯Δʯ࣌ʢʣ ιϑτΣΞͷख๏͚ͩΛޠͬͯΔ߹͡ΌͶ͑
৯ޙͷख๏͜͏͋Γ͍ͨ wطΛ͏ͷͰͳ͘ɺঢ়گʹ͋ΘͤͯࣗͨͪͰख๏Λ࡞Γ͍ͨ w ͨͩ͠ɺθϩ͔Βख๏Λ࡞Δͷେม͗͢Δ w 㱤طଘͷϓϥΫςΟεΛʮ߹ʯ͢Ε͍͍ʢʮख๏ϓϥΫςΟεͷ߹ʣ w ͦΕʹɺࣗͨͪͰख๏Λ࡞ͬͯ୭ཧղͯ͘͠Εͳ͍ w 㱤ʮهड़͢ΔݴޠʯΛ౷Ұͯ͠୭ͰಡΊΔΑ͏ʹ͢Ε͍͍
w ϓϩμΫτͷ6.-ʹର͢Δϓϩηεͷ&TTFODFͱ͍͏Ґஔ͚ͮͬΆ͍ʁ ʢ6.-ͱಉ͘͡Β͍ͷرͱઈΛ࣋ͭͱ͍͍ͱࢥ͏ʜʜʣ
ᶄΤοηϯγϟϧԽ͞Εͨ ϓϥΫςΟε
ϓϥΫςΟεͱԿ͔ w ख๏Λߏ͢Δ۩ମతͳ࡞ۀํ๏ͷ͜ͱ w ख๏ͱҧͬͯʮ͜ΜͳΜͳΜ΅͍͍͋ͬͯͰ͔͢ΒͶʯ w ͭͷྖҬʹӨڹΛ༩͑ΔʢΞϧϑΝͷঢ়ଶΛมԽͤ͞Δʣɿ w ސ٬ w
ιϦϡʔγϣϯʢٕज़ʣ w ׆ಈʢϓϩδΣΫτʣ
ϓϥΫςΟεΛهड़͢Δݴޠ
ϓϥΫςΟεΛهड़͢Δݴޠ ͏͖ʮͷʯ Δ͖ʮ͜ͱʯ ඞཁͳʮೳྗʯ ʢѻ͏ͷ΄͏͕Α͔ͬͨʁʣ
ʮϖΞϓϩάϥϛϯάʯΛهड़ͯ͠Έͨ
ʮϖΞϓϩάϥϛϯάʯΛهड़ͯ͠Έͨ Δ͖ʮ͜ͱʯ ඞཁͳʮೳྗʯ ͏͖ʮͷʯ
ૉͳײ w ͜ΕͬͯɺຊʹΘ͔Γ͍͢ʜʜͷ͔ʁ w 6.-ͱಉ͘͡Β͍ͷرͱઈΛ࣋ͭͱ͍͍ͱࢥ͏ʢճʣ w ͏ͪΐͬͱઆ໌Λଓ͚·͢
Δ͖ʮ͜ͱʯ͕ϓϥΫςΟεͷத৺ Δ͖ʮ͜ͱʯ
ʮ͜ͱʯͷৄࡉΛΧʔυʹهड़͢Δ
ʮ͜ͱʯʮͷʯͷঢ়ଶΛม͑Δ
༻ҙ͞ΕͨछྨͷΞϧϑΝʢͷʣ
ΞϧϑΝΧʔυԽ͞Ε͍ͯΔ
ΞϧϑΝෳͷঢ়ଶΛ࣋ͭ
ૉͳײ w ϓϥΫςΟεʹΑͬͯঢ়ଶΛมԽͤ͞ΔͷΘ͔Γ͍͢ w ঢ়ଶͳͲΛΧʔυʹ͢Δͷ͍͍ΞΠσΞͩͱࢥ͏ʂ w ్த͔Β&TTFODFͷઆ໌ʹ౿ΈࠐΜͰ͠·ͬͯͨʜʜɻ
ᶅ&TTFODF ʢΧʔωϧ ݴޠʣ
&TTFODFͱʁ &TTFODF Χʔωϧ ݴޠ ʮख๏ͷج൫ʯͱͳΔͷ
&TTFODFݴޠ
&TTFODFΧʔωϧ ͍ͭ͜Β۩ମత͗͢ΔͷͰ Χʔωϧʹೖ͍ͬͯͳ͍ ʢදݱܕ͚ͩఆٛ͞Ε͍ͯΔʣ ͕͜͜Χʔωϧ ɾͷ ɾ͜ͱ ɾೳྗ
Χʔωϧͷ ΞϧϑΝʢͷʣ
ΧʔωϧͷΞϧϑΝʢͷʣ
ΞϧϑΝෳͷঢ়ଶΛ࣋ͭ
ঢ়ଶΛਐḿͤ͞ΔͨΊʹߟ͑Δ ʮεςʔΫϗϧμʔΛר͖ࠐΉͨΊͷϛʔςΟϯάΛ։࠵ͯ͠ΈΔʁʯ
ʮঢ়ଶΛ͑ʯήʔϜ
ʮঢ়ଶΛ͑ʯήʔϜ
ঢ়ଶͷਐḿͷՄࢹԽ
ʢิʣຊޠͷΞϧϑΝঢ়ଶΧʔυͭ͘Γ·ͨ͠ IUUQTHJUIVCDPNLENTOSFTTFODFBMQIBTUBUFDBSETKB
Χʔωϧͷ ΞΫςΟϏςΟεϖʔεʢ͜ͱʣ
ΞΫςΟϏςΟεϖʔεʢ͜ͱʣ ਖ਼֬ʹϓϥΫςΟεͷΞΫςΟϏςΟʢ͜ͱʣΛೖΕΔʮ͜ͱͷೖΕʯ
ϓϥΫςΟε͕Γͳ͍ͱ͜Ζ͕Θ͔Δ
ʢิʣΧʔωϧͰΓͳ͍ͱ͖ w Χʔωϧʹ͋ΔΞϧϑΝʢͷʣΞΫςΟϏςΟεϖʔεʢ͜ ͱʣͰෆेͳ͜ͱ͕͋Δ w ϓϥΫςΟεͷ࡞࣌ʹΧʔωϧΛܧঝ֦ͯ͠ு͢Ε͍͍ w FHʦཁٻʧΛܧঝͨ͠ʦϓϩμΫτόοΫϩάΞΠςϜʧ w FHʦ࡞ۀΛ४උ͢ΔʧΛܧঝͨ͠ʦνʔϜͷΩοΫΦϑʧ
εΫϥϜͱ&TTFODF
εΫϥϜͷશମ૾
&TTFODFݴޠʹϚοϐϯά
&TTFODFݴޠͰදݱͨ͠ͷ
ૉͳײ w ͑ͬɺΊͬͪΌΘ͔Γʹ͘͘ͳͬͯʜʜͳ͍ʁ w 6.-ͱಉ͘͡Β͍ͷرͱઈΛ࣋ͭͱ͍͍ͱࢥ͏ʢճʣ w ͏ͪΐͬͱઆ໌Λଓ͚·͢
ΧʔυԽ͞Εͨͷ
ঢ়ଶ͕໌ࣔతʹͳͬͨͷ
εΫϥϜ͚ͩ͡Όෆेͳ͜ͱΘ͔Δ ʢʦ׆ಈʧྖҬ͚ͩ͡Όͳ͍ؾ͢Δ͚Ͳɺෆेͳͷಉҙʣ
εΫϥϜͷࣦഊͯ͠Δ w &TTFODFͷΧʔυΛ͑ɺͲ͜Ͱࣦഊ͍ͯ͠Δ͔͕Θ͔Δ w ࣍ͷʮঢ়ଶʯʹਐΉͨΊʹԿΛ͖͔͢ʁΛߟ͑ΒΕΔ IUUQTQBHFTTFSWJDFTTTJWBSKBDPCTPODPNFTTFOUJBMTDSVN
ʢิʣ"HJMF&TTFOUJBMT͋Δ IUUQTQSBDUJDFMJCSBSZJWBSKBDPCTPODPN
શମతͳҹ w ΞδϟΠϧ։ൃͷʮָ͠͞ʯେ෯μϯͯ͠Δؾ͕͢ΔͶ w ʮ͢ͰʹྲྀߦͬͯΔʯͦ͏͕ͩɺશવͦΜͳؾ͕͠ͳ͍ w ͋Ε΄Ͳආ͚͍ͯͨʮख๏ͷࠈʯײ͕ग़ͯͳ͍ʂʁ w 6.-ͱಉ͘͡Β͍ͷرͱઈΛ࣋ͭͱ͍͍ͱࢥ͏ʢճʣ w
Ͱɺ։ൃ͕͏·͍ͬͯ͘ͳ͍ͱ͖ʹ͏ͷΑͦ͞͏ w ʮख๏ͷج൫ʯͱͳΔ҆ఆײͳΜͱͳ͘ײ͡ΒΕΔ w Ϡίϒιϯ͕ݩؾͦ͏ͰΑ͔ͬͨͰ͢
։ൃ͕͏·͍ͬͯ͘ͳ͍ํੋඇͲ͏ͧʂ