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
139
140k
質とスピード(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秋版) / Building Automated Test Culture 2022 Autumn Edition
twada
PRO
27
11k
質とスピード(2022春版、質疑応答用資料付き) / Quality and Speed 2022 Spring Edition
twada
PRO
57
61k
予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHPerKaigi 2022
twada
PRO
67
35k
アジリティを支える品質特性 / Agility and Quality Characteristics Developers Summit 2021 Summer
twada
PRO
58
40k
Engineers in VOYAGE
twada
PRO
11
8.9k
組織にテストを書く文化を根付かせる戦略と戦術(2020秋版) / Strategy and Tactics of Building Automated Testing Culture into Organization 2020 Autumn Edition
twada
PRO
76
38k
質とスピード(2020春版) / Quality and Speed 2020 Spring Edition
twada
PRO
144
110k
質とスピード / Quality and Speed
twada
PRO
194
140k
組織にテストを書く文化を根付かせる戦略と戦術(2019夏版) / Strategy and Tactics of Building Automated Testing Culture into Organization 2019 Summer Edition
twada
PRO
43
20k
Other Decks in Programming
See All in Programming
Most Valuable Bug(?) ~インシデント未遂から得た学び~
tatsumiakahori
0
140
PHPアプリケーションにおけるアーキテクチャメトリクスについて / Architecture Metrics in PHP Applications
isanasan
1
210
まだ日本国内で利用できないAppActionsにトライしてみた / MoT TechTalk #15
mot_techtalk
0
110
Swift Expression Macros: a practical introduction
kishikawakatsumi
2
710
爆速の日経電子版開発の今
shinyaigeek
1
530
Micro Frontends with Module Federation @MicroFrontend Summit 2023
manfredsteyer
PRO
0
460
Writing Greener Java Applications
hollycummins
0
330
Spring BootとKubernetesで実現する今どきのDevOps入門
xblood
0
340
なぜRubyコミュニティにコミットするのか?
luccafort
0
300
はてなリモートインターンシップ2022 インフラ 講義資料
hatena
4
2.1k
TypeScript 4.9のas const satisfiesが便利
tonkotsuboy_com
9
2.2k
Step Functions Distributed Map を使ってみた
codemountains
0
100
Featured
See All Featured
For a Future-Friendly Web
brad_frost
166
7.7k
How GitHub Uses GitHub to Build GitHub
holman
465
280k
It's Worth the Effort
3n
177
26k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
38
3.6k
Creatively Recalculating Your Daily Design Routine
revolveconf
207
11k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
63k
Facilitating Awesome Meetings
lara
33
4.6k
A Modern Web Designer's Workflow
chriscoyier
689
180k
Testing 201, or: Great Expectations
jmmastey
25
5.7k
In The Pink: A Labor of Love
frogandcode
132
21k
Unsuck your backbone
ammeep
659
56k
Build The Right Thing And Hit Your Dates
maggiecrowley
22
1.4k
Transcript
࣭ͱεϐʔυ ాਓ
[email protected]
ʙιϑτΣΞ։ൃͷయܕతͳޡղΛղ͘ʙ /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ʣ ࣗͨͪͷࣹఔʹ͋Δ ෦࣭ͷํΛ٘ਜ਼ʹ͢Δͱ͍͏ அΛ͕ͪ͠ͳͷͰͳ͍͔
ాਓ
[email protected]
࣭ͱεϐʔυ ʙιϑτΣΞ։ൃͷయܕతͳޡղΛղ͘ʙ
ాਓ
[email protected]
෦࣭ͱεϐʔυ ʙιϑτΣΞ։ൃͷయܕతͳޡղΛղ͘ʙ
ͰͲͷΑ͏ͳ ɹ෦࣭Λ ٘ਜ਼ʹ๋͛ͨͷ͔
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 ࣗಈςετʹ͓͚ΔςελϏϦςΟ
ాਓ
[email protected]
෦࣭ͱεϐʔυ ʙιϑτΣΞ։ൃͷయܕతͳޡղΛղ͘ʙ
ాਓ
[email protected]
อकੑͱεϐʔυ ʙιϑτΣΞ։ൃͷయܕతͳޡղΛղ͘ʙ
อकੑΛ ٘ਜ਼ʹ๋͛Δͱ Ͳ͏ͳΔ͔
ʮ͋ͱͰΫϦʔϯʹ͢Ε͍͍Αɻઌʹࢢʹग़͞ͳ͚Εʂʯ ։ൃऀͦ͏͍ͬͯͭ͝·͔͢ɻ͕ͩɺ͋ͱͰΫϦʔϯʹ͢Δ͜ͱͳ ͍ɻࢢ͔ΒͷϓϨογϟʔࢭ·Βͳ͍͔Βͩɻʮઌʹࢢʹग़͞ͳ͚ Εʯͱ͍͏͜ͱɺޙΖʹڝ߹ଞ͕ࣾେ͍Δͱ͍͏͜ͱͰ͋Δɻڝ߹ ଞࣾʹ͍ൈ͔Εͳ͍ͨΊʹɺ͜Ε͔ΒΓଓ͚Δ͔͠ͳ͍ɻ ͦͷ݁Ռɺ։ൃऀϞʔυΛΓସ͑Δ͜ͱ͕Ͱ͖ͳ͍ɻ࣍ͷػೳɺ·ͨ ࣍ͷػೳɺ·ͨ·ͨ࣍ͷػೳΛՃ͢Δ͜ͱʹͳΓɺίʔυΛΫϦʔϯʹ ͢Δ͜ͱ·Ͱख͕ճΒͳ͍ɻ ͦͯ͠ɺ่յ͕࢝·Δɻੜ࢈ੑ͕θϩʹ͍͍ۙͮͯ͘ɻ ʰ$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 ͷΛࢿ͢ΔͱܾΊͨɻ࠷ॳϕϩγςΟ͕མ͕ͪͨɺ ϲ݄ܦͬͨޙ໌֬ʹσϦόϦʔ͕ߴ·ͬͨɻʢྫΛڍ ͛Δͱɺϲ݄͔͔ΔͱݴΘΕ͍ͯͨنͷ։ൃ͕ͰऴΘΔΑ ͏ʹͳͬͨʣ ͨ·ͨ·ࢀՃͨ͠ΠϕϯτͰ
[email protected]
͞Μͷ ʮ࣭ͱεϐʔυʯʹؔ͢ΔߨԋΛฉ͖ɺ ͱͱΜͰ͍ͨϙΠϯτͩͬͨͷͰ ਧͬΔ͜ͱ͕Ͱ͖ͨɻ ΩϟσΟגࣜձ༷ࣾͷࣄྫ
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 εϐʔυ͓Αͼ࣭ͱτϨʔυΦϑͳͷڭҭɺɺଟ༷ੑͷࢿ