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
Satoshi Kawashima
July 25, 2018
Technology
920
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
アジャイル開発でのソフトウェア設計
第128回PHP勉強会@東京の発表資料です。
変なこと書いてたらすいません。
言い訳がましいですが、こう考えてる人もいる程度に受け止めていただけると幸いです。
Satoshi Kawashima
July 25, 2018
More Decks by Satoshi Kawashima
See All by Satoshi Kawashima
モジュラモノリス導入から4年間の総括:アーキテクチャと組織の相互作用について / Architecture and Organizational Interaction
nazonohito51
9
6.9k
モジュラモノリスにおけるトランザクション設計の考え方 / transaction design on modular monolith
nazonohito51
16
9.9k
BASE大規模リアーキテクチャリング / base_rearchitecturing
nazonohito51
17
14k
既存サービスに後からR/W Splittingライブラリを入れる時に考えたこと / r-w-splitting
nazonohito51
1
30k
社内勉強会でOOPとCleanArchitectureとDDDを勉強し始めたというお話
nazonohito51
7
5.5k
CakePHP2でもPhpStormがコード補完してくれるようにした話 / cakephp2-ide-helper
nazonohito51
1
2.7k
PHPStanでCustomRuleを作る / Make PHPStan CustomRule
nazonohito51
6
4.5k
単方向依存を実現する静的解析ライブラリのご紹介 / Analyze PHP Dependencies
nazonohito51
3
6.3k
「SOLIDの原則って何ですか?」って質問に答えたかった / What's SOLID principle
nazonohito51
6
2.3k
Other Decks in Technology
See All in Technology
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
420
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
9
3.1k
事業価値と Engineering 2026年度版
recruitengineers
PRO
51
25k
修正PRを食べてレビュースキルが賢くなる:Claude Codeによる自己改善サイクル
yuyaumetsu
6
1.6k
My broken English still works: speaking at global OSS events
naruoga
0
110
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
830
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.4k
【CEDEC2026】Creative Approaches to Localizing the Dialects and Unique Speech of Umamusume: Pretty Derby Characters in English
cygames
PRO
3
25k
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
20260807_第6回_関東kaggler会LT_claw系bot xangiと始める、"寂しくない" kaggle
sugupoko
0
360
LLM・AIエージェントシステムベストプラクティス
shibuiwilliam
6
1.5k
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
9.2k
Featured
See All Featured
Tell your own story through comics
letsgokoyo
1
1k
Navigating Team Friction
lara
192
16k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
250
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Designing for Performance
lara
611
70k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Odyssey Design
rkendrick25
PRO
2
770
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Transcript
ౡܛ(.01FQBCP *OD ୈճ1)1ษڧձˏ౦ژ ΞδϟΠϧ։ൃͰͷ ιϑτΣΞઃܭ
ΞϓϦέʔγϣϯΤϯδχΞ ౡܛ!OB[POPIJUP 4)ࣄۀ෦+6(&.νʔϜ IUUQOB[POPIJUPKVHFNKQ
ιϑτΣΞ։ൃͨ͘͞Μͷ ʮྑ͍ઃܭͷͨΊͷϊϋʯ ͰᷓΕ͍ͯΔ
ΦϒδΣΫτࢦઃܭ
ςετ
ίʔσΟϯάςΫχοΫ
σʔλϕʔε
σβΠϯcΞʔΩςΫνϟ ύλʔϯ
υϝΠϯੳ
"1*
ϚΠΫϩαʔϏε
ઃܭํ๏
ݱ࣮
બͱଥڠͷੵΈॏͶ
ଥڠ͢Δʹ ͳΔ͘ྑ͍ଥڠΛ͍ͨ͠
ͦͦ ԿͷͨΊʹ ઃܭΛͯͨ͠Μ͚ͩͬ
جຊʹཱͪฦͬͯΈͨ
ΞδϟΠϧ։ൃʹ͓͚Δ ιϑτΣΞઃܭͱ
ࢲͨͪɺιϑτΣΞ։ൃͷ࣮ફ ͋Δ͍࣮ફΛखॿ͚Λ͢Δ׆ಈΛ௨ͯ͡ɺ ΑΓΑ͍։ൃํ๏Λݟ͚ͭͩͦ͏ͱ͍ͯ͠Δɻ ͜ͷ׆ಈΛ௨ͯ͠ɺࢲͨͪҎԼͷՁʹࢸͬͨɻ ϓϩηεπʔϧΑΓݸਓͱରΛɺ แׅతͳυΩϡϝϯτΑΓಈ͘ιϑτΣΞΛɺ ܖަবΑΓސ٬ͱͷڠௐΛɺ ܭըʹै͏͜ͱΑΓมԽͷରԠΛɺ Ձͱ͢Δɻ͢ͳΘͪɺࠨهͷ͜ͱ͕ΒʹՁ͕͋Δ͜ͱΛ ೝΊͳ͕Βɺࢲͨͪӈهͷ͜ͱ͕ΒʹΑΓՁΛ͓͘ɻ
ΞδϟΠϧιϑτΣΞએݴ IUUQBHJMFNBOJGFTUPPSH
υΩϡϝϯτΑΓίʔυΛ ༏ઌ͍ͤͯ͞Δ͚ͩͰ ઃܭΛ͠ͳ͍Θ͚Ͱͳ͍
ΥʔλʔϑΥʔϧͱͷൺֱ wΥʔλʔϑΥʔϧͷઃܭɿఔ QSPDFTT ͷ໊લͱͯ͠ͷʮઃܭʯ ͱ͍͏ҙຯ߹͍͕ڧ͍ wఔͷલͷ४උఔ wΞδϟΠϧͷઃܭɿιϑτΣΞΛมߋ͍͢͠ঢ়ଶʹอͭҰ࿈ͷ׆ ಈ BDUJWJUZ
͜ͷ͍͋ͩͷ1)1ͷݱ wʮʹରͯ͠ղܾࡦͱͳΔߏΛ༩ ͑ΔΞΫςΟϏςΟʯ
ΞδϟΠϧʹ͓͚Δઃܭͷൣғ wίʔυͱςετʹର͢Δ׆ಈΛத৺ʹޠΒΕΔ w$4͚ͷXJLJ·ͱΊɺίʔυ͔Β͔ΓͮΒ͍෦ͷυΩϡϝ ϯτ࡞Γͱ͔ઃܭ׆ಈʹؚ·ΕΔͱݸਓతʹࢥ͏͕ɺগͳ͘ͱ ΞδϟΠϧͰͦͷลΓ͋·Γ৮ΕΒΕͳ͍ w࠷ۙԿͰίʔυͰཧ͢ΔΑ͏ʹͳ͖ͬͯͨͷͰɺΞδϟΠϧͷ ߟ͑ํݱͷঢ়گʹॏͳΔ෦ଟ͍
ԿͷͨΊʹઃܭ͢Δͷ͔ʁ
ʢલུʣ ΞδϟΠϧŋϓϩηε࣋ଓՄೳͳ։ൃΛଅਐ͠·͢ɻ ҰఆͷϖʔεΛܧଓతʹҡ࣋Ͱ͖ΔΑ͏ʹ͠ͳ͚ΕͳΓ·ͤΜɻ ٕज़తӽੑͱ༏Εͨઃܭʹର͢Δ ෆஅͷҙ͕ػහ͞ΛߴΊ·͢ɻ γϯϓϧ͞ʢϜμͳ͘࡞ΕΔྔΛ࠷େݶʹ͢Δ͜ͱʣ͕ຊ࣭Ͱ͢ɻ ࠷ྑͷΞʔΩςΫνϟɾཁٻɾઃܭɺ ࣗݾ৫తͳνʔϜ͔ΒੜΈग़͞Ε·͢ɻ νʔϜ͕ͬͱޮΛߴΊΔ͜ͱ͕Ͱ͖Δ͔ΛఆظతʹৼΓฦΓɺ ͦΕʹج͍ͮͯࣗͨͪͷΓํΛ࠷దʹௐ͠·͢ɻ
ΞδϟΠϧએݴͷഎޙʹ͋Δݪଇ BHJMFNBOJGFTUPPSHQSJODJQMFTIUNM
ػහ͞ʢΞδϦςΟʣ ΛߴΊΔͨΊʹઃܭ͢Δ
͜͜·Ͱͷ·ͱΊ wΞδϟΠϧ͔ͩΒͱݴͬͯઃܭΛ͠ͳ͍Θ͚Ͱແ͍ wίʔυͱςετΛத৺ʹઃܭ͍ͯ͘͠ wมԽΛڐ༰͠ͳ͕ΒΛམͱ͞ͳ͍ͨΊʹɺػහ ͞ʢΞδϦςΟʣΛߴΊΔͨΊʹઃܭΛ͢Δ
ͲΜͳΞϓϩʔνͰઃܭΛ͢Δͷ͔
None
ΠϯΫϦϝϯλϧͳઃܭ
ΠϯΫϦϝϯλϧͳઃܭ w91ͷओཁϓϥΫςΟεʢʣ wຖઃܭ͠ɺͦͷ࣌·ͰͷγεςϜͷχʔζʹઃܭΛ߹ΘͤΔ wͦͷ࣌ඞཁͳ͚ͩઃܭ͢ΔɺඞཁҎ্ʹઃܭ͠ͳ͍ wܦࡁੑʢ͘͢ػೳΛಧ͚Δʣͱઃܭͷ࣭Λॏࢹ͍ͯ͠Δʢͱࢥͬ ͯΔ
ઃܭͷ࣭ͱʁ wաͳઃܭٯʹΞδϦςΟΛԼ͛Δ w༧ଌʹجͮ͘ઃܭෆඞཁͳෳࡶ͞Λট͘ wݪଇύλʔϯʹతʹै͏͚ͩͰෆඞཁͳෳࡶ͞Λট͘ wઃܭͦͷιϑτΣΞͷෳࡶ͞ʹదͨ͠ઃܭΛߦ͏ඞཁ͕͋Δ
దͨ͠ઃܭͱʁ wιϑτΣΞઃܭͷੑ࣭ͱͯ͠ɺඇܾఆ తͰ͋Δͱ͞Ε͍ͯΔ wࢼߦࡨޡϨϏϡʔ͠߹͍ɺܦݧ ͳͲΛ௨ͯ͡ਐԽ͠ɺվળ͞Ε͍ͯ͘ ͷ wຊʹదͨ͠ઃܭͩͬͨͷ͔ܦͬ ͔ͯΒৼΓฦͬͯΈͳ͍ݶΓ͔Βͳ ͍
͜͜·Ͱͷ·ͱΊ wΞδϟΠϧͷ͓͚ΔઃܭͱৗʹΞδϦςΟҡ࣋ͷ؍ ͰઃܭΛݟ͠ଓ͚Δͱ͍͏࣋ଓͨ͠׆ಈ wʮཧͷઃܭʯଘࡏͤͣɺΰʔϧͱݺΔঢ়ଶແ ͍
ଥڠͷํʹ͍ͭͯߟ͑ͯΈͨ
ଥڠͷํΛߟ͑Δ wΞδϟΠϧʹ͓͍ͯɺͦͦઃܭࣗମ͕ଥͳ ʢదͳʣམͱ͠ॴΛԆʑͱ୳͠ଓ͚Δͱ͍͏׆ಈ ͩͬͨ wʮཧͷઃܭ͕͋ͬͯɺͦͨ͜ͲΓண͚ͳ͍͔Β ଥڠ͢Δʯͱ͍͏ࢹࣗମ͕ͨͿΜҧ͏
ΕΔ͜ͱ wܧଓతʹઃܭΛݟ͠ͳ͕ΒɺࠓΑΓྑ͘͠Α͏ͱෆ அͷྗͰվળ͠ଓ͚Δ wϦιʔεݶΒΕ͍ͯΔͷͰΞδϦςΟߩݙͷߴ͞ Ͱ༏ઌΛ͚ͭΔ
ࢀߟॻ੶
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠