Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Evolutionary Architecture
Search
uzzu
May 16, 2016
Technology
2
330
Evolutionary Architecture
uzzu
May 16, 2016
Tweet
Share
More Decks by uzzu
See All by uzzu
Context Receiversに思いを馳せる / Context Receivers
uzzu
0
720
StoreKitのこれまでとこれから / StoreKit 2 from 1
uzzu
5
19k
Autofill Framework
uzzu
0
130
アプリ内課金の最新事情 クライアントサイド編 / 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.5k
ブログ作り直した / My blog @ Othlo Tech
uzzu
0
180
新規アプリ開発を支えるユーザ・決済基盤
uzzu
2
2.9k
kotlin-mpp-library-tips
uzzu
1
6.4k
Other Decks in Technology
See All in Technology
1人1サービス開発しているチームでのClaudeCodeの使い方
noayaoshiro
2
500
AIの長期記憶と短期記憶の違いについてAgentCoreを例に深掘ってみた
yakumo
4
460
特別捜査官等研修会
nomizone
0
170
WordPress は終わったのか ~今のWordPress の制作手法ってなにがあんねん?~ / Is WordPress Over? How We Build with WordPress Today
tbshiki
2
860
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
400
CARTAのAI CoE が挑む「事業を進化させる AI エンジニアリング」 / carta ai coe evolution business ai engineering
carta_engineering
0
2.1k
Strands AgentsとNova 2 SonicでS2Sを実践してみた
yama3133
1
970
ActiveJobUpdates
igaiga
1
240
AWSを使う上で最低限知っておきたいセキュリティ研修を社内で実施した話 ~みんなでやるセキュリティ~
maimyyym
2
1.8k
Microsoft Agent 365 についてゆっくりじっくり理解する!
skmkzyk
0
410
AWS Security Agentの紹介/introducing-aws-security-agent
tomoki10
0
340
たまに起きる外部サービスの障害に備えたり備えなかったりする話
egmc
0
330
Featured
See All Featured
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
0
200
Thoughts on Productivity
jonyablonski
73
5k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
140
Scaling GitHub
holman
464
140k
Statistics for Hackers
jakevdp
799
230k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
11
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
A Tale of Four Properties
chriscoyier
162
23k
The Curious Case for Waylosing
cassininazir
0
190
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