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
Evolutionary Architecture
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
uzzu
May 16, 2016
Technology
2
360
Evolutionary Architecture
uzzu
May 16, 2016
Tweet
Share
More Decks by uzzu
See All by uzzu
Context Receiversに思いを馳せる / Context Receivers
uzzu
0
740
StoreKitのこれまでとこれから / StoreKit 2 from 1
uzzu
5
20k
Autofill Framework
uzzu
0
140
アプリ内課金の最新事情 クライアントサイド編 / In-app Purchase in Cookpad 2019
uzzu
3
4.6k
Billing Client 2.0 acknowledgement
uzzu
0
17k
Promoting IAP対応から学ぶ外部アプリ内課金実装 / Promoting IAP and others
uzzu
2
1.6k
ブログ作り直した / My blog @ Othlo Tech
uzzu
0
210
新規アプリ開発を支えるユーザ・決済基盤
uzzu
2
2.9k
kotlin-mpp-library-tips
uzzu
1
6.4k
Other Decks in Technology
See All in Technology
20260323_データ分析基盤でGeminiを使う話
1210yuichi0
0
200
SSoT(Single Source of Truth)で「壊して再生」する設計
kawauso
2
400
QA組織のAI戦略とAIテスト設計システムAITASの実践
sansantech
PRO
1
250
脳が溶けた話 / Melted Brain
keisuke69
1
1.1k
Kiro Meetup #7 Kiro アップデート (2025/12/15〜2026/3/20)
katzueno
2
270
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
76k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
OPENLOGI Company Profile for engineer
hr01
1
61k
Physical AI on AWS リファレンスアーキテクチャ / Physical AI on AWS Reference Architecture
aws_shota
1
180
「活動」は激変する。「ベース」は変わらない ~ 4つの軸で捉える_AI時代ソフトウェア開発マネジメント
sentokun
0
130
Change Calendarで今はOK?を仕組みにする
tommy0124
1
130
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
130
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
240
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
90
Skip the Path - Find Your Career Trail
mkilby
1
92
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
240
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.8k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Mobile First: as difficult as doing things right
swwweet
225
10k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Transcript
Evolutionary Architecture @uzzu
Evolutionary Architecture(進化的アーキテクチャ)は まだ定義が固まっているものではありません。 このスライドは私個⼈の⾒解です。
Evolutionary Architectureって何?
https://www.thoughtworks.com/radar/techniques/evolutionary-architecture
https://www.thoughtworks.com/radar/techniques/evolutionary-architecture
“An evolutionary architecture supports continual and incremental change as a
first principle along multiple dimentions.” 第⼀原則として、複数の次元で継続的かつ漸進的な変更を⽀援する
複数の次元で継続的かつ漸進的な変更...?
Traditional Architecture 要求(次元) 変更
Traditional Architecture 要求(次元) 変更
Traditional Architecture 要求(次元) 変更
Traditional Architecture 要求(次元) 変更
Traditional Architecture 要求(次元) 変更
Traditional Architecture 要求(次元) 変更
Traditional Architecture 要求(次元) 変更
要求(次元) 変更 Traditional Architecture
Big ball of mud architecture
Traditional Architecture 要求(次元) 変更
Evolutionary Architecture 要求(次元) 変更
Evolutionary Architecture Pain-Driven 要求(次元) 変更
Evolutionary Architecture Last Responsible Moment 要求(次元) 変更
Evolutionary Architecture Pain-Driven Last Responsible Moment 要求(次元) 変更
複数の次元で継続的かつ漸進的な変更を⽀援する 要求(次元) 変更
Charstaristics Modularity and Coupling Organized Around Buisiness Capabilities Experimentation (Possible
to Hypothesis-Driven Development)
Charstaristics Modularity and Coupling Organized Around Buisiness Capabilities Experimentation (Possible
to Hypothesis-Driven Development)
Charstaristics Modularity and Coupling Organized Around Buisiness Capabilities Experimentation (Possible
to Hypothesis-Driven Development)
Charstaristics Modularity and Coupling Organized Around Buisiness Capabilities Experimentation (Possible
to Hypothesis-Driven Development)
そもそも、なぜ⼿軽に差し替える必要があるかといえば、以下の様な 理由があります。 • 依存している基盤実装(レガシーコード、3rd-party製のライブラ リ)に問題が発覚した時に、利⽤者に影響なく別の基盤実装に差し 替えられるようにする為 • パッと基盤実装を捨てる事ができるのはライブラリ開発者の 精神的負荷を⼤きく軽減します
そもそも、なぜ⼿軽に差し替える必要があるかといえば、以下の様な 理由があります。 • 新しい技術や導⼊したい技術を積極的に導⼊・検証できるように する為 • 利⽤者のスピード感に追いつく必要があります。依存ライブ ラリが⾜を引きずってはいけません
・ Fitness Functions (Ignore) ・ Pain-Driven ・ Last Responsible Moment
Evolutionary Architecture Pain-Driven Last Responsible Moment 要求(次元) 変更
? Fitness Functions (Ignore) ✔ Pain-Driven ✔ Last Responsible Moment
Summary
・Evolutionary Architectureは、第⼀原則として、複数の次元で継 続的かつ漸進的な変更を⽀援する ・第⼀原則から概観できる設計⼿法の特徴は... Fitness Functions ※今回は説明しませんでした Pain-Driven (痛みを⽣みそうなものから) Last
Responsible Moment (最終責任時点の前までに決定) ・Evolutionary Architectureの特徴は... Modularity and Coupling (モジュール化とコンポーネント分離) Organized Around Business Capabilities (ビジネス能⼒に沿った組織化) Experimentation (ビジネスに「実験」の⼒を与える)
https://www.thoughtworks.com/insights/blog/microservices-evolutionary-architecture
https://www.thoughtworks.com/radar/techniques/evolutionary-architecture
https://www.infoq.com/jp/news/2016/04/evolutionary-architectures
https://www.thoughtworks.com/books/building-evolutionary-architectures
End Evolutionary Architecture