Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
質とスピード(2020秋100分拡大版) / Quality and Speed 2020 Autumn Edition
Takuto Wada
PRO
November 20, 2020
Programming
135
130k
質とスピード(2020秋100分拡大版) / Quality and Speed 2020 Autumn Edition
質とスピード(2020秋100分拡大版)
2020/11/20 @ JaSST'20 Kyushu
Takuto Wada
PRO
November 20, 2020
Tweet
Share
More Decks by Takuto Wada
See All by Takuto Wada
質とスピード(2022春版、質疑応答用資料付き) / Quality and Speed 2022 Spring Edition
twada
PRO
36
24k
予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHPerKaigi 2022
twada
PRO
48
24k
アジリティを支える品質特性 / Agility and Quality Characteristics Developers Summit 2021 Summer
twada
PRO
56
33k
Engineers in VOYAGE
twada
PRO
10
3.9k
組織にテストを書く文化を根付かせる戦略と戦術(2020秋版) / Strategy and Tactics of Building Automated Testing Culture into Organization 2020 Autumn Edition
twada
PRO
74
34k
質とスピード(2020春版) / Quality and Speed 2020 Spring Edition
twada
PRO
144
110k
質とスピード / Quality and Speed
twada
PRO
190
130k
組織にテストを書く文化を根付かせる戦略と戦術(2019夏版) / Strategy and Tactics of Building Automated Testing Culture into Organization 2019 Summer Edition
twada
PRO
43
19k
Worse Is Better - 過去を知り、未来に備える。技術選定の審美眼 2019 edition / Worse Is Better - Understanding the Spiral of Technologies 2019 edition
twada
PRO
62
19k
Other Decks in Programming
See All in Programming
Custom Design Systems in Compose UI
rharter
5
510
Jetpack Compose best practices 動画紹介 @GoogleI/O LT会
takakitojo
0
130
PythonユーザによるRust入門
rmizuta3
9
3k
言語処理ライブラリ開発における失敗談 / NLPHacks
taishii
1
420
EFFICIENT CREATION OF AN EMPTY COLLECTION IN .NET
abt
0
150
Keeping your team in top shape with the Gradle Enterprise API
runningcode
3
120
Reactive Java Microservices on Kubernetes with Spring and JHipster
deepu105
1
160
engineer
spacemarket
0
460
こそこそアジャイル導入しようぜ!
ichimichi
0
1k
dotdotdot_in_predict_function
bk_18
1
170
I/O Extended 2022 in Android ~ Whats new in Android development tools
pluu
0
500
ドメインモデル方式のクラス設計 座談会
masuda220
PRO
3
1k
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
15
940
The Brand Is Dead. Long Live the Brand.
mthomps
46
2.7k
Designing Experiences People Love
moore
130
22k
The Cult of Friendly URLs
andyhume
68
4.8k
Designing for Performance
lara
597
63k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
37
3.2k
Building Your Own Lightsaber
phodgson
94
4.6k
Happy Clients
brianwarren
89
5.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
119
28k
Teambox: Starting and Learning
jrom
122
7.7k
KATA
mclloyd
7
8.7k
Navigating Team Friction
lara
175
11k
Transcript
࣭ͱεϐʔυ ాਓ !U@XBEB ʙιϑτΣΞ։ൃͷయܕతͳޡղΛղ͘ʙ /PW !+B445,ZVTIVجௐߨԋ ʢळόʔδϣϯʣ
t-wada t_wada twada #jasstkyushu ࣗݾհ
t-wada t_wada twada #jasstkyushu ࣗݾհ illustrated by @mty_mno
ٕज़ॻͷग़൛ʹؔΘ͍ͬͯ·͢
ΑΖ͓͘͠ئ͍͠·͢ #jasstkyushu illustrated by @mty_mno
ߥͿΔ࢛ఱԦ͕͋ΒΘΕͨʂ ༩͑ΒΕͨ࣌ؒʹରͯ͠Δ͖͜ͱ͕ଟ͗͢Δ߹ɺͲ͏͖͔͢ B είʔϓΛΔ C ͬͱਓΛ૿͢ D ϦϦʔεΛԆظ͢Δ E
࣭Λ٘ਜ਼ʹ͢Δ ʰΞδϟΠϧαϜϥΠʱQ
wظతʹಘΒΕΔ wதظతʹٯޮՌʹͳΔ wظతʹக໋ইʹͳΔ ࣭Λ٘ਜ਼ʹ͢ΕεϐʔυಘΒΕΔʁ
ʮظతதظతʯͷڥʁ ͜͜Ͱ͍͏ʮ࣭ʯͱʁ
ʮظతதظతʯͷڥʁ ͜͜Ͱ͍͏ʮ࣭ʯͱʁ
l࣭ͱ୭͔ʹͱͬ ͯͷՁͰ͋Δz (FSBME8FJOCFSH IUUQTXXXBNB[PODPKQEQ9
Accessibility Adaptability Administrability Analyzability Auditability Availability Calibrability Changeability Compatibility Configurability
Exploitability Extensibility Flexibility Functionality Installability Integrability Internationalizab ility Interoperability Learnability Maintainability Marketability Maturity Modifiability Operability Personalizability Portability Recoverability Reliability Replaceability Reusability Scalability Security Sensitivity Stability Suitability Supportability Testability Traceability Transactionality Understandability Upgradeability Usability ... and lots more! JMJUJFT
IUUQTXXXKVTFPSKQEFQBSUNFOUBMQPJOUIUNM ङϞσϧ
ʢ͓٬༷͔Βʣݟ͑Δ࣭ͱݟ͑ͳ͍࣭ w֎෦࣭ͱ෦࣭ wར༻࣌ͷ࣭ͱ࣭ wػೳཁ݅ͱඇػೳཁ݅
External Quality: Correctness, Usability, Efficiency, Reliability, Integrity, Adaptability, Accuracy, Robustness
Internal Quality: Maintainability, Flexibility, Portability, Re-usability, Readability, Testability, Understandability ֎෦࣭ͱ෦࣭
ιϑτΣΞͷ࣭Λ֎෦ࢦඪͰಛ͚ͮΔਓଟ͍ɻਖ਼͍͜͠ͱΛ͢ Δɺόά͕ͳ͍ɺ͍ɺͳͲͩɻ͕ͩɺͦΕΒΑΓਂ͍ݪҼͷঢ়ʹ ͗͢ͳ͍ɻ ຊॻͰઆ໌͢ΔιϑτΣΞͷ࣭෦࣭Ͱ͋Δɻ෦࣭Λ࡞Γ ࠐΜͩ݁Ռͱͯ͠ɺ֎෦࣭ͱͯ͠ఆٛ͞ΕΔಛੑͷ࣮ݱʹۙͮ͘͜ͱ ͕Ͱ͖Δɻ෦࣭݁ՌͰͳ͘ݪҼͰ͋Γɺྑ͍ιϑτΣΞ͕උ ͍͑ͯΔ͖ͷͩɻ ʰϨΨγʔίʔυ͔Βͷ٫ʱQ
External Quality: Correctness, Usability, Efficiency, Reliability, Integrity, Adaptability, Accuracy, Robustness
Internal Quality: Maintainability, Flexibility, Portability, Re-usability, Readability, Testability, Understandability ෦࣭ʢ*OUFSOBM2VBMJUZʣ ࣗͨͪͷࣹఔʹ͋Δ ෦࣭ͷํΛ٘ਜ਼ʹ͢Δͱ͍͏ அΛ͕ͪ͠ͳͷͰͳ͍͔
ాਓ !U@XBEB ࣭ͱεϐʔυ ʙιϑτΣΞ։ൃͷయܕతͳޡղΛղ͘ʙ
ాਓ !U@XBEB ෦࣭ͱεϐʔυ ʙιϑτΣΞ։ൃͷయܕతͳޡղΛղ͘ʙ
ͰͲͷΑ͏ͳ ɹ෦࣭Λ ٘ਜ਼ʹ๋͛ͨͷ͔
External Quality: Correctness, Usability, Efficiency, Reliability, Integrity, Adaptability, Accuracy, Robustness
Internal Quality: Maintainability, Flexibility, Portability, Re-usability, Readability, Testability, Understandability ෦࣭ʢ*OUFSOBM2VBMJUZʣ
External Quality: Correctness, Usability, Efficiency, Reliability, Integrity, Adaptability, Accuracy, Robustness
Internal Quality: Maintainability, Flexibility, Portability, Re-usability, Readability, Testability, Understandability อकੑʢ.BJOUBJOBCJMJUZʣ
อकੑ Maintainability
#PFIN #SPXO BOE-JQPXT2VBMJUZ$IBSBDUFSJTUJDT IUUQTXXXUIPNBTBMTQBVHIPSHQVCGOEJMJUZIUNM
#PFIN #SPXO BOE-JQPXT2VBMJUZ$IBSBDUFSJTUJDT IUUQTXXXUIPNBTBMTQBVHIPSHQVCGOEJMJUZIUNM
#PFIN #SPXO BOE-JQPXT2VBMJUZ$IBSBDUFSJTUJDT IUUQTXXXUIPNBTBMTQBVHIPSHQVCGOEJMJUZIUNM
.BJOUBJOBCJMJUZʢอकੑʣΛߏ͢Δͷ w5FTUBCJMJUZςετ༰қੑ w6OEFSTUBOEBCJMJUZཧղ༰қੑ w.PEJpBCJMJUZมߋ༰қੑ
w ࣮ߦԁੑʢ0QFSBCJMJUZʣ w ࣗಈ࣮ߦ͕༰қͰ͔ͭߴ w ؍ଌ༰қੑʢ0CTFSWBCJMJUZʣ w ςετ݁ՌͷऔಘɾظൺֱΛࣗಈԽ͍͢͠ w ੍ޚ༰қੑʢ$POUSPMMBCJMJUZʣ
w ࣄલঢ়ଶΛ੍ޚ͠ɺςετରΛࣗಈૢ࡞͍͢͠ w ղՄೳੑʢ%FDPNQPTBCJMJUZʣ w ςετରͷΓग़͠ɺςετڥͷ෦ஔ͕༰қ IUUQTTQFBLFSEFDLDPNHPZPLJUFTUBCJMJUZJOFNCFEEFETPGUXBSF ࣗಈςετʹ͓͚ΔςελϏϦςΟ
ాਓ !U@XBEB ෦࣭ͱεϐʔυ ʙιϑτΣΞ։ൃͷయܕతͳޡղΛղ͘ʙ
ాਓ !U@XBEB อकੑͱεϐʔυ ʙιϑτΣΞ։ൃͷయܕతͳޡղΛղ͘ʙ
อकੑΛ ٘ਜ਼ʹ๋͛Δͱ Ͳ͏ͳΔ͔
ʮ͋ͱͰΫϦʔϯʹ͢Ε͍͍Αɻઌʹࢢʹग़͞ͳ͚Εʂʯ ։ൃऀͦ͏͍ͬͯͭ͝·͔͢ɻ͕ͩɺ͋ͱͰΫϦʔϯʹ͢Δ͜ͱͳ ͍ɻࢢ͔ΒͷϓϨογϟʔࢭ·Βͳ͍͔Βͩɻʮઌʹࢢʹग़͞ͳ͚ Εʯͱ͍͏͜ͱɺޙΖʹڝ߹ଞ͕ࣾେ͍Δͱ͍͏͜ͱͰ͋Δɻڝ߹ ଞࣾʹ͍ൈ͔Εͳ͍ͨΊʹɺ͜Ε͔ΒΓଓ͚Δ͔͠ͳ͍ɻ ͦͷ݁Ռɺ։ൃऀϞʔυΛΓସ͑Δ͜ͱ͕Ͱ͖ͳ͍ɻ࣍ͷػೳɺ·ͨ ࣍ͷػೳɺ·ͨ·ͨ࣍ͷػೳΛՃ͢Δ͜ͱʹͳΓɺίʔυΛΫϦʔϯʹ ͢Δ͜ͱ·Ͱख͕ճΒͳ͍ɻ ͦͯ͠ɺ่յ͕࢝·Δɻੜ࢈ੑ͕θϩʹ͍͍ۙͮͯ͘ɻ ʰ$MFBO"SDIJUFDUVSFʱQ
IUUQTUXJUUFSDPNOFLPZBTUBUVT
IUUQTNBSUJOGPXMFSDPNBSUJDMFTJTRVBMJUZXPSUIDPTUIUNM อकੑͷ͕ͨ͞Β͢ͷ ͻͱͭͻͱͭͷมߋʹ ༨ܭͳ͕͔͔࣌ؒΔ
อकੑΛ٘ਜ਼ʹ͢ΕεϐʔυಘΒΕΔʁ wظతʹಘΒΕΔ wதظతʹٯޮՌʹͳΔ wظతʹக໋ইʹͳΔ
Ͱ εϐʔυΛམͱͤ อकੑ্͕Δʁ
IUUQTUXJUUFSDPNWPMVOUBTTUBUVT
IUUQTPTBIBUFOBCMPHDPNFOUSZ ٕज़ྗͷ͋Δਓ͋Δఔٸ͍Ͱ࡞ͬͨͱͯ͠Ұఆ Ҏ্ͷ࣭ͷίʔυΛॻ͘͠ɺҙਤతʹ࣭Λམͱ͠ ͨͱͯ͋͠·Γ্͕Βͳ͍ɻ ٯʹɺٕज़ྗ͕ߴ͘ͳ͍ਓ͕࣌ؒΛ͔͚ͯ࡞ͬͨͱ͠ ͯͦͷਓͷٕज़ྗҎ্ͷ࣭ͷίʔυॻ͚ͳ͍ɻ
ܦӦతͳཁٻʹ߹Θͤͯɺ༩͑ΒΕͨ։ൃظ͔ؒΒॊೈʹԚ͞ͱ͞Λબ͢Δͱ͍͏Α͏ ͳث༻ͳܳ΄ͱΜͲෆՄೳͩͱ͍͑·͢ɻ͜ΕɺۃΊͯجૅతͳͱ͜ΖͰ͋Εଟগ Ͱ͖Δ͔͠Ε·ͤΜ͕ɺ࣮ࡍʹɺιʔείʔυ͕Ԛ͍ͯ͘ਓ͍Εɺ៉ྷͰ͍ ਓଟ͍͘·͢ɻ ʰΤϯδχΞϦϯά৫ͷটʱQ ΫΠοΫμʔςΟͷਆ
ͭ·Γ τϨʔυΦϑͰͳ͍
IUUQTUXJUUFSDPNLBU[DIBOHTUBUVT
࣭ อकੑ εϐʔυ τϨʔυΦϑͱߟ͑Δͷయܕతͳޡղ നؙ͖ҹෛͷଓࠜݩ͕૿͑ΕઌݮΔɻࠜݩ͕ݮΕઌ૿͑Δ
࣭Λ٘ਜ਼ʹ͢ΔͷɺޮՌతͳίϯτϩʔϧํ๏Ͱͳ͍ɻ࣭ ੍ޚมͰͳ͍ɻ ࣭Λड͚ೖΕΔ͜ͱͰɺϓϩδΣΫτ͕͘ͳΔ͜ͱͳ͍ɻ ߴ࣭Λཁٻ͢Δ͜ͱͰɺϓϩδΣΫτ͕͘ͳΔ͜ͱͳ͍ɻ Ή͠Ζ࣭ΛߴΊΔ͜ͱͰɺσϦόϦʔ͕ߴʹͳΔ͜ͱ͕ଟ͍ɻ ࣭ج४ΛԼ͛ͯ͠·͏ͱɺσϦόϦʔ͕͘ͳΓɺ ༧ଌͰ͖ͳ͘ͳͬͯ͠·͏ɻ ʰΤΫετϦʔϜϓϩάϥϛϯάʱQ
ઌ΄Ͳͷ։ൃऀͷ͝·͔͠ɺ่յͨ͠ίʔυΛॻ͚ظతʹ͘ͳ Δͷͷɺظతʹ্͕͕Δͱ͍͏ߟ͑ํʹͱ͍͍ͮͯΔɻ ͜ͷ͜ͱΛ৴͍ͯ͡Δ։ൃऀɺ่յͨ͠ίʔυΛॻ͘Ϟʔυ͔Βɺ ͍ͣΕͲ͔͜ͰΫϦʔϯʹ͢ΔϞʔυʹΓସΘΕΔɺͱ͍͏ ʢαΪͱΧϝͷʣαΪͷΑ͏ͳࣗ৴Λ͍࣋ͬͯΔɻ ͕ͩɺͦΕࣄ࣮ޡೝͰ͋Δɻ ࣄ࣮ɺظతʹظతʹɺ่յͨ͠ίʔυΛॻ͘΄͏͕ ΫϦʔϯͳίʔυΛॻ͘ΑΓৗʹ͍ɻ ʰ$MFBO"SDIJUFDUVSFʱQQ
ظతʹظతʹɺ ่յͨ͠ίʔυΛॻ͘΄͏͕ ΫϦʔϯͳίʔυΛॻ͘ΑΓ ৗʹ͍ɻ #PC.BSUJO ʰ$MFBO"SDIJUFDUVSFʱQ
࠷ߴͷ։ൃऀ͕͍ͪΜ͖Ε͍͖ͳ։ൃऀͰ͋Δ͜ͱʹؾͮ ͍ͨͱ͖ɺࢲͼͬ͘Γͨ͠ɻ͍ϓϩάϥϚʔࡶͳϓϩά ϥϚʔͩͱࢥ͍͔ͬͯͨΒͩɻ ͕ͩɺ࣮ࡍਖ਼ରͩͬͨɻࢲ͕ձͬͨதͰ࠷ͷϓϩάϥ ϚʔɺίʔυΛѻ͍͍͢Α͏ʹอͭ͜ͱʹಛʹҙΛͬ ͍ͯͨɻ ʰϨΨγʔίʔυ͔Βͷ٫ʱQ
ίʔυΛॻ͘͞ͱίʔυͷ͖Ε͍͞ʹؔ࿈͕͋Δͱೝࣝͨ͠ ͋ͱͰɺࢲͦͷͭͷ͍͋ͩͷҼՌؔΛݟ͚ͭΔͷʹ࣌ ؒΛཁͨ͠ɻ ίʔυͷ࣭Λߴ͘อ͍ͬͯͨʮʹؔΘΒͣʯ͍ͷͰͳ ͍ɻίʔυͷ࣭Λߴ͘อ͍ͬͯͨʮ͔Βͦ͜ʯ͍ͷͩɻ ͜ͷ͜ͱΛཧղͨ͠ΒɺιϑτΣΞ։ൃʹର͢Δ ݟํ͕มΘͬͨɻ ʰϨΨγʔίʔυ͔Βͷ٫ʱQQ
ίʔυͷ࣭Λߴ͘อ͍ͬͯͨ ʮʹؔΘΒͣʯ͍ͷͰͳ ͍ɻίʔυͷ࣭Λߴ͘อͬͯ ͍ͨʮ͔Βͦ͜ʯ͍ͷͩɻ %BWJE4DPUU#FSOTUFJO ʰϨΨγʔίʔυ͔Βͷ٫ʱ QQ
࣭ อकੑ εϐʔυ ίʔυͷ࣭Λ٘ਜ਼ʹ͔ͨ͠Β͍ͷͰͳ͘ നؙ͖ҹෛͷଓࠜݩ͕૿͑ΕઌݮΔɻࠜݩ͕ݮΕઌ૿͑Δ
࣭ อकੑ εϐʔυ ίʔυͷ࣭Λߴ͘อ͍ͬͯͨʮ͔Βͦ͜ʯ͍ ҹਖ਼ͷଓࠜݩ͕૿͑Εઌ૿͑Δɻࠜݩ͕ݮΕઌݮΔ
Ͱ εϐʔυ͔Β࣭ͷ ӨڹͲ͏͔
࣭ อकੑ εϐʔυ Ͱεϐʔυ͔Β࣭ อकੑ ͷӨڹͲ͏͔
࣭ѱ͍ͱجຊతʹखΓΛੜΉͷͰʹͶฦΔɻखͬͯ Δֶ࣌ؒͼΛ͏·ͳ͍࣌ؒɻ࣭ΛԼ͛Δͱ͍͏அֶͼͷ ԼΛڐ༰͢Δͱ͜ͱɻ ैདྷͷమ൘ ͩͱޡղ͞Ε͍ͯͨ ࣭ͩͬͨͯͯ͋͛͢Α͏ ࣭ྼԽ͢ΕखΓ͕ൃੜ͢Δ͚ͩͰɺ݁ہϦʔυλΠϜͷ ૿ՃʹͶฦΔͷͰΊ·͠ΐ͏ɻ ࣭ྼԽ͢ΕϦʔυλΠϜͷ૿ՃʹͶฦΔ IUUQJLFZIBUFCMPKQFOUSZ
ϦʔυλΠϜ͕૿Ճ͢ΔͱԾઆݕূϓϩηε͕ճΒͳ͍ IUUQJLFZIBUFCMPKQFOUSZ
ຊͷؔ
ຊͷؔɹ w෦࣭͕εϐʔυΛੜΈ wεϐʔυֶ͕ͼͷϧʔϓΛੜΈ wֶͼͷϧʔϓ͕֎෦࣭ΛੜΈ w֎෦࣭͕ڝ૪ྗΛੜΈ wڝ૪ྗ͕ച্ΛੜΈ wച্͕෦࣭ΛҭΉ ˞ྑ͍ͷΛ࡞ΕചΕΔͱ ͍͏Θ͚Ͱͳ͍ͷͰɺ͜͜ ͦ͏؆୯Ͱ୯७Ͱͳ͍
࣭ εϐʔυ ຊͷؔɹ ҹਖ਼ͷଓࠜݩ͕૿͑Εઌ૿͑Δɻࠜݩ͕ݮΕઌݮΔ
ʮ࣭WTεϐʔυʯͱ͍͏֓೦ࠜຊతʹؒҧ͍ͬͯΔͱࢥ͏ɻ ͩͬͯૉૣ͘։ൃΛ͠ͳͯ͘ڥɺ͋Δ͍ࣗͷڥͷཧղͷม ԽʹιϑτΣΞ͕͍ͭͯ͜ΕͣɺιϑτΣΞ͕ղܾ͖͕͢ ղܾͰ͖ͳ͘ͳΓɺඞવతʹ࣭͕མͪͯ͠·͏ɻ ٯʹɺ࣭ͷߴ͍ιϑτΣΞΛॻ͔ͳͯ͘ɺͳʹ͔͋ΔʹΠϯϑ ϥ่͕յ͠ɺૉૣ͘։ൃΛ͢Δ͜ͱ͕Ͱ͖ͳ͘ͳͬͯ͠·͏ɻΠϯϑ ϥͷ่յɺΔؾΛ͙ͷͰಛʹ͕ͨͪѱ͍ɻ IUUQTLOPIKQBOTXFSTEDB Evan Priestley
࣭WTεϐʔυͱ͍͏ೋഎͷؔɺ ہॴతͳͷͰ͔͠ͳ͍ɻ େҬతʹɺยํΛ٘ਜ਼ʹͨ͠߹ɺ Β͵͏ͪʹ͏Ұͭ٘ਜ਼ʹ͍ͯ͠Δͱ ͍͏͜ͱΛ͓Εͳ͘ɻ IUUQTLOPIKQBOTXFSTEDB Evan Priestley
ݱʹ͓͚Δ࣭ͱεϐʔυͭͷΩʔϝτϦΫε wϦʔυλΠϜ wσϓϩΠස w.553 ฏۉम෮࣌ؒ wมߋࣦഊ IUUQTXXXBNB[PODPKQEQ
ϦʔυλΠϜͱσϓϩΠසԾઆݕূϓϩηεΛਝʹճ͢ IUUQJLFZIBUFCMPKQFOUSZ
IUUQJLFZIBUFCMPKQFOUSZ ϦʔυλΠϜͱσϓϩΠසϑϩʔޮͱϦιʔεޮ Ϧιʔεޮ ϑϩʔޮ
MTTR .553.FBOUJNFUP3FDPWFSZ3FQBJS IUUQTXXXTMJEFTIBSFOFUEFDPEFEPTSFTJUFSFMJBCJMJUZFOHJOFFSJOHJOB[VSFPOB[VSF Ұ෦վม
.5#'ΛࣺͯΔͷͰͳ࣭͘ΛϓϩηεͰ࡞ΓࠐΉ IUUQTXXXSZV[FFDPNDPOUFOUTCMPH
IUUQTDMPVEHPPHMFDPNEFWPQTTUBUFPGEFWPQT
ΤϦʔτ ϋΠύϑΥʔϚʔ ϛσΟΞϜ ύϑΥʔϚʔ ϩʔύϑΥʔϚʔ ϦʔυλΠϜ ະຬ ͔Βिؒ ि͔ؒΒϱ݄ ϱ݄͔Βϱ݄
σϓϩΠස ΦϯσϚϯυ ෳճ ճ͔Βिճ िճ͔Β݄ճ ϱ݄͔Βϱ݄ .553 ࣌ؒະຬ ະຬ ະຬ ि͔ؒΒϱ݄ มߋࣦഊ ͭͷΩʔϝτϦΫεͷௐࠪʢສ݅Ҏ্ͷճΛΫϥελʔੳʣ w։ൃͱ࣭τϨʔυΦϑͷؔͰͳ͍ w৫ؒͷ͔ࠩͳΓେ͖͘ɺ͞Βʹ։͍͍ͯΔʢʣ wѹతͳࠩܧଓతσϦόϦ%FW0QTͷ৫తͳࢿͷࠩ IUUQTXXXTMJEFTIBSFOFU%FW0QT8FCJOBSTBDDFMFSBUFTUBUFPGEFWPQTTVSWFZSFTVMUTBSFJO
ΤϦʔτ ΤϦʔτͱϩʔύϑΥʔϚʔͷࠩ ϩʔύϑΥʔϚʔ ϦʔυλΠϜ ະຬ ഒ ϱ݄͔Βϱ݄ σϓϩΠස ΦϯσϚϯυ ෳճ
ഒ ϱ݄͔Βϱ݄ .553 ࣌ؒະຬ ि͔ؒΒϱ݄ มߋࣦഊ ͭͷΩʔϝτϦΫεΤϦʔτΫϥελͱϩʔύϑΥʔϚʔΫϥελͷࠩ w։ൃͱ࣭τϨʔυΦϑͷؔͰͳ͍ w৫ؒͷ͔ࠩͳΓେ͖͘ɺ͞Βʹ։͍͍ͯΔʢʣ wѹతͳࠩܧଓతσϦόϦ%FW0QTͷ৫తͳࢿͷࠩ IUUQTXXXTMJEFTIBSFOFU%FW0QT8FCJOBSTBDDFMFSBUFTUBUFPGEFWPQTTVSWFZSFTVMUTBSFJO
อकੑΛ٘ਜ਼ʹ͢ΕεϐʔυಘΒΕΔʁ wظతʹಘΒΕΔ wதظతʹٯޮՌʹͳΔ wظతʹக໋ইʹͳΔ
ʮظతதظతʯͷڥʁ ͜͜Ͱ͍͏ʮ࣭ʯͱʁ
ςετࣗಈԽͷଛӹذʮճʯ IUUQTXXXBNB[PODPKQEQ ͓ΑͦճͰ खಈςετͱࣗಈԽ͞Εͨςετͷ ίετ͕ٯస͢Δ
IUUQTXXXBNB[PODPKQEQ "1IJMPTPQIZPG4PGUXBSF%FTJHO good design eventually pays for itself, and sooner
than you might think.
͜ΓͷδϨϯϚ illustrated by @mty_mno IUUQUFTUFSDIBOIBUFOBEJBSZDPNFOUSZ
෦࣭ͷࢿͷଛӹذ ޙͱ͔Ͱͳ͘ ϲ݄ҎʹݱΕΔ IUUQTNBSUJOGPXMFSDPNBSUJDMFTJTRVBMJUZXPSUIDPTUIUNM ෦࣭ͷࢿͷଛӹذϲ݄ҎʹݱΕΔ
wظతʹಘΒΕΔ wϲ݄ޙʹٯޮՌʹͳΔ wظతʹக໋ইʹͳΔ อकੑΛ٘ਜ਼ʹ͢ΕεϐʔυಘΒΕΔʁ ϲ݄ҎͰ͋Εɺ෦࣭ͷࢿͷडӹऀࣗͨͪࣗ Ͱ͋Γɺͭ·ΓಓಙᛗዟͷͰͳ͘ଛಘͷͰ͋Δ
ϦϑΝΫλϦϯά༻ͷϦιʔεΛ७૿ͨ͠༁Ͱͳ͍ɻTQSJOU ͷΛࢿ͢ΔͱܾΊͨɻ࠷ॳϕϩγςΟ͕མ͕ͪͨɺ ϲ݄ܦͬͨޙ໌֬ʹσϦόϦʔ͕ߴ·ͬͨɻʢྫΛڍ ͛Δͱɺϲ݄͔͔ΔͱݴΘΕ͍ͯͨنͷ։ൃ͕ͰऴΘΔΑ ͏ʹͳͬͨʣ ͨ·ͨ·ࢀՃͨ͠ΠϕϯτͰU@XBEB͞Μͷ ʮ࣭ͱεϐʔυʯʹؔ͢ΔߨԋΛฉ͖ɺ ͱͱΜͰ͍ͨϙΠϯτͩͬͨͷͰ ਧͬΔ͜ͱ͕Ͱ͖ͨɻ ΩϟσΟגࣜձ༷ࣾͷࣄྫ
IUUQTDBEEJUFDIBSDIJWFT
ߥͿΔ࢛ఱԦείʔϓΛΕ ༩͑ΒΕͨ࣌ؒʹରͯ͠Δ͖͜ͱ͕ଟ͗͢Δ߹ɺͲ͏͖͔͢ B είʔϓΛΔ C ͬͱਓΛ૿͢ D ϦϦʔεΛԆظ͢Δ E
࣭Λ٘ਜ਼ʹ͢Δ ʰΞδϟΠϧαϜϥΠʱQ
͔͜͜ΒԆઓ
Ͱεϐʔυ͓Αͼ࣭ ԿͱτϨʔυΦϑͳͷ͔
IUUQTCIBUFOBOFKQFOUSZTTQFBLFSEFDLDPNUXBEBRVBMJUZBOETQFFE Ͱεϐʔυͱ࣭ԿͱτϨʔυΦϑͳͷ͔࣍ੈͷڭҭɺ৽ٕज़ͷௐࠪɺଟ༷ੑͷ֬อ
IUUQTPTBIBUFOBCMPHDPNFOUSZ Ͱɺ࣭ͱʹ͍ͭͯͷτϨʔυΦϑ͕ҙࣝ͞ΕΔ ͱ͖ɺ࣮ࡍʹԿͱԿ͕ṝʹ͔͚ΒΕ͍ͯΔͷ͔ɻ ͦΕ֤ݸਓͰͳ͘ϓϩμΫτશମͷ࣭ͱ͕ṝ ʹ͔͚ΒΕ͍ͯΔͷͰͳ͍͔ɻݴ͍͑Εɺϓϩμ Ϋτͷ࣭Λࢧ͑ΔͨΊʹඞཁͳϝϯόʔͷͱͦͷ ͷͨΊʹඞཁͳϑΟʔυόοΫֶशͷ͕࣌ؒṝʹ ͔͚ΒΕ͍ͯΔͷͰͳ͍͔ͱࢥ͏ɻ
ຊͷྗΛ͚ͭΔʹ ͕͔͔࣌ؒΔ
ιϑτΣΞͷ։ൃʹ࠷ॳ͔Β࠷ޙ·ͰؔΘΔͱ͍͏ܦݧͱͯوॏ ͩͬͨΜ͡Όͳ͍ͩΖ͏͔ɻͳͥͳΒɺϓϩδΣΫτ։࢝࣌ͷμϝͳσβ Πϯͷͬ͠ฦ͠ΛɺޙͰࣗͰϞϩʹड͚Δ͔Βͩɻ ॳ΅͘ɺ΄ͱΜͲߟ͑ͣίʔυΛʮΞϯμʔΤϯδχΞϦϯάʯ͍ͯ͠ ͨɻޙʑ͜ΕΛաʹमਖ਼ͯ͠͠·͍ɺશͯΛʮΦʔόʔΤϯδχΞϦϯ άʯ͠࡞ΓࠐΈ͗ͯ͢͠·ͬͨɻ̎ͱ͍͏࣌ؒ͜͏͍ࣦͬͨഊΛܦ ݧ͢Δʹेͳ࣌ؒͰɺࣙΊΔ͜ΖʹγεςϜͷσβΠϯͷԘക͕ɺ ͔ͳΓΘ͔ΔΑ͏ʹͳ͍ͬͯͨͱࢥ͏ɻ IUUQTLOPIKQBOTXFSTEDB Evan
Priestley
Ұ൪ॏཁͰҰ൪͔͍ͬͳεΩϧγεςϜΛઃܭ͢ΔͨΊͷஅྗͩɻ ݶΓͳ͘γϯϓϧͳσβΠϯͱ͍͏ͷͳ͔ͳ͔ڭ͑ΒΕΔͷͰͳ ͘ɺେํܦݧΛॏͶ֮ͯ͑Δͷͩɻ ͜ͷʮஅྗʯɺϓϩάϥϚʔʹͱͬͯඇৗʹॏཁͳͷ͕ͩɺͦ͏؆୯ ʹڭ͑ΒΕΔͷͰͳ͍ɻ΅͕͘ΔݶΓɺஅྗΛ͚ͭΔ Ұ൪ͷํ๏ɺࣗͰઃܭͨ͠γεςϜΛ͍ؒϝϯς͢Δ ͜ͱͩͱࢥ͏ IUUQTLOPIKQBOTXFSTEDB Evan Priestley
࣭ͱίετ τϨʔυΦϑ͔
1IJMJQ$SPTCZ2VBMJUZJT'SFF࣭ΞοϓίετΞοϓ͔μϯ͔ ίετΞοϓઆ ίετμϯઆ
IUUQTTQFBLFSEFDLDPNTIJNBTIJNBTUBSURVBMJUZSFBMGSFFDBNQBJHO 2VBMJUZJT'SFF㲈࣭࣮࣭ແྉ
Ͳͷ͘Β͍ ઃܭʹࢿ͢Δ͔
ΞʔΩςΫςΟϯά͍ͭɺͲΕ͚ͩʁ ,4-0$ສߦͷϓϩδΣΫτͷ ઌߦઃܭͷεΠʔτεϙοτ IUUQTXXXPSFJMMZDPKQCPPLT
ιϑτΣΞͷن͕εΠʔτεϙοτʹ༩͑ΔӨڹ IUUQTXXXPSFJMMZDPKQCPPLT
ιϑτΣΞͷن͕εΠʔτεϙοτʹ༩͑ΔӨڹ w ιϑτΣΞγεςϜ͕େ͖͘ͳΕͳΔ΄Ͳɺલ͍ͷΞʔΩς Ϋνϟઃܭ͔Βड͚ΔԸܙେ͖͘ͳΔ w খنʢສߦʣͷιϑτΣΞγεςϜͰɺલ͍ͷΞʔΩς Ϋνϟࡦఆ͔Β΄ͱΜͲԸܙΛड͚ΒΕͳ͍ w ΞʔΩςΫνϟઃܭʹগ͔͠͠ࢿ͠ͳ͍ͱɺڧͳͬ͠ฦ͕͠ དྷΔ͜ͱ͕༧͞ΕΔ
w ΞʔΩςΫνϟʹࢿ͢Ε͢Δ΄Ͳɺඞཁͳख͠গͳ͘ͳΔ IUUQTXXXPSFJMMZDPKQCPPLT
ཁٻͷมಈܽؕίετ͕εΠʔτεϙοτʹ༩͑ΔӨڹ ཁٻͷมಈ͕େ͖͍߹ ɺٸͳมԽʹରԠ͢Δ ͨΊͷੳจॻԽͷख ΓͷͨΊɺઌߦઃܭͷޮՌ Լ͕Δ ߴ͍৴པੑΛٻΊΒΕܽؕ ίετ͕ߴ͍߹ɺΞʔ ΩςΫςΟϯάͷඞཁੑ͕ ߴ·Δ
IUUQTXXXPSFJMMZDPKQCPPLT
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ w ʮ࣭ͱεϐʔυτϨʔυΦϑͷؔʹ͋Δʯେ͖ͳޡղ w ʮ࣭ʯͷ໊ͷͱʹ٘ਜ਼ʹ͞ΕΔͷ෦࣭ͷಛʹอकੑ ʢςετ༰қੑɺཧղ༰қੑɺมߋ༰қੑʣ w ࣮ࡍʹอकੑΛߴΊΕεϐʔυ্͕Δ͠ɺอकੑΛམͱͤ εϐʔυԼ͕Δ w
εϐʔυΛམͱͯ͠อकੑ্͕Βͳ͍͠ɺεϐʔυΛམͱ͢ͱԾઆݕ ূϓϩηε͕ճΒͳ͍ w ෦࣭ͷࢿͷଛӹذҙ֎ͱૣ͘ ϲ݄Ҏ ͬͯ͘Δ w ϲ݄Ҏͱ͍͏͜ͱडӹऀࣗͨͪࣗͰ͋Γɺͭ·Γಓಙᛗዟ ͷͰͳ͘ଛಘͷͰ͋Δ w εϐʔυ͓Αͼ࣭ͱτϨʔυΦϑͳͷڭҭɺɺଟ༷ੑͷࢿ