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
Software Architecture for Agile Enterprises
Search
Stefan Tilkov
November 28, 2019
Technology
1
210
Software Architecture for Agile Enterprises
How Organization, Processes and Humans Can Evolve Together
Stefan Tilkov
November 28, 2019
Tweet
Share
More Decks by Stefan Tilkov
See All by Stefan Tilkov
API Approaches: An Overview
stilkov
1
140
Microservices – A Taxonomy
stilkov
2
520
Software Architecture, Processes, Organization—and Humans
stilkov
4
550
Architekturoptionen für moderne Web-Frontends
stilkov
6
430
Software Architecture for Agile Enterprises
stilkov
2
610
Software Architecture, Processes, Organization—and Humans
stilkov
2
630
Good Enough Architecture
stilkov
8
1.3k
“Good enough” Architecture
stilkov
2
1.1k
That Blockchain Thing
stilkov
1
250
Other Decks in Technology
See All in Technology
"おまじない"はもう卒業! デバッガで探るSpring Bootの裏側と「学び方」の学び方
takeuchi_132917
0
170
re:Invent完全攻略ガイド
junjikoide
1
360
Javaコミュニティの歩き方 ~参加から貢献まで、すべて教えます~
tabatad
0
130
【M3】攻めのセキュリティの実践!プロアクティブなセキュリティ対策の実践事例
axelmizu
0
160
QAを"自動化する"ことの本質
kshino
1
120
LINEギフト・LINEコマース領域の開発
lycorptech_jp
PRO
0
190
「データ無い! 腹立つ! 推論する!」から 「データ無い! 腹立つ! データを作る」へ チームでデータを作り、育てられるようにするまで / How can we create, use, and maintain data ourselves?
moznion
8
4.3k
AIと自動化がもたらす業務効率化の実例: 反社チェック等の調査・業務プロセス自動化
enpipi
0
610
LINEスキマニ/LINEバイトにおけるバックエンド開発
lycorptech_jp
PRO
0
190
自己的售票系統自己做!
eddie
0
460
米軍Platform One / Black Pearlに学ぶ極限環境DevSecOps
jyoshise
2
410
ZOZOTOWNカート決済リプレイス ── モジュラモノリスという過渡期戦略
zozotech
PRO
0
390
Featured
See All Featured
Building Adaptive Systems
keathley
44
2.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
It's Worth the Effort
3n
187
28k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Scaling GitHub
holman
463
140k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Building an army of robots
kneath
306
46k
How GitHub (no longer) Works
holman
315
140k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Optimizing for Happiness
mojombo
379
70k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
24
1.6k
Transcript
Software Architecture for Agile Enterprises Digitale Leute Summit 2019 Stefan
Tilkov, @stilkov
[email protected]
Image by Michael Gaida from Pixabay
www.innoq.com OFFICES Monheim Berlin Offenbach Munich Hamburg Zurich FACTS ~150
employees Privately owned Vendor-independent SERVICES Strategy & technology consulting Digital business models Software architecture & development Digital platforms & infrastructures Knowledge transfer, coaching & trainings CLIENTS Finance Telecommunications Logistics E-commerce Fortune 500 SMBs Startups
Modularization Autonomy End-to-end responsibility
Modularization Autonomy End-to-end responsibility
@stilkov Awesome Shop CMS Archive General Ledger Print Shop HR
@stilkov Awesome Shop CMS Archive General Ledger Print Shop HR
Context
@stilkov Awesome Shop CMS Archive General Ledger Print Shop HR
Invoicing Accounting Auth Catalog Checkout & Order Search
@stilkov Awesome Shop CMS Archive General Ledger Print Shop HR
Invoicing Accounting Auth Catalog Checkout & Order Search Domain Architecture
@stilkov Invoicing Accounting Auth Catalog Checkout & Order Search
@stilkov
@stilkov Macro Architecture
@stilkov Ruby on Rails MySQL Java Spring Boot OSS Product
COTS Java Spring Boot NodeJS ElasticSearch
@stilkov Ruby on Rails MySQL Java Spring Boot OSS Product
COTS Java Spring Boot NodeJS ElasticSearch Micro Architecture
@stilkov Invoicing Accounting Auth Catalog Checkout & Order Search
@stilkov Coming up with the “right” system boundaries is an
architecture activity that must be done first
@stilkov Managing dependencies is the most important ongoing architecture task
@stilkov You cannot decide to not have an architecture; if
you don’t actively create it, be prepared to deal with the one that emerges
number of developers strength of decoupling methods modules components
μservices systems
From a layered system … System Logic Data UI Module
Module Module
… to a system of systems System System System Logic
Data UI Logic Data UI Logic Data UI
Pattern: Evolutionary Architecture @stilkov
Modularization Autonomy End-to-end responsibility
@stilkov Invoicing Accounting Auth Catalog Checkout & Order Search
@stilkov Invoicing Accounting Auth Catalog Checkout & Order Search
@stilkov Invoicing Accounting Auth Catalog Checkout & Order Search
@stilkov Invoicing Accounting Auth Catalog Checkout & Order Search Team
Architecture?
@stilkov Conway’s Law: Organization → Architecture “Organizations which design systems
are constrained to produce systems which are copies of the communication structures of these organizations.” – M.E. Conway
@stilkov If your goal is to support autonomous teams, architecture
is an essential ingredient
@stilkov Size is the #1 enemy of agility. Keep your
systems as small as you can.
@stilkov Extremely loose coupling requires very few rules, but they
need to be enforced strictly
Pattern: Regulated Market @stilkov
Modularization Autonomy End-to-end responsibility
@stilkov Pattern: Autonomous Cells Stakeholder Stakeholder Stakeholder Biz Dev Ops
Biz Dev Ops Biz Dev Ops
@stilkov Pattern: Autonomous Cells Stakeholder Stakeholder Stakeholder Biz Dev Ops
Biz Dev Ops Biz Dev Ops
@stilkov Not every person has to become a full-stack developer,
but every team should be a full-stack team
Recommendations
@stilkov 1. Time to market requires supporting architecture
2. Establish autonomous teams as key ingredient
@stilkov 3. Create evolvable structures
www.innoq.com innoQ Deutschland GmbH Krischerstr. 100 40789 Monheim am Rhein
Germany +49 2173 3366-0 Ohlauer Str. 43 10999 Berlin Germany +49 2173 3366-0 Ludwigstr. 180E 63067 Offenbach Germany +49 2173 3366-0 Kreuzstr. 16 80331 München Germany +49 2173 3366-0 innoQ Schweiz GmbH Gewerbestr. 11 CH-6330 Cham Switzerland +41 41 743 0116 Thank you! Stefan Tilkov @stilkov
[email protected]
+49 170 471 2625