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
170
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
98
Microservices – A Taxonomy
stilkov
2
420
Software Architecture, Processes, Organization—and Humans
stilkov
4
470
Architekturoptionen für moderne Web-Frontends
stilkov
6
380
Software Architecture for Agile Enterprises
stilkov
2
460
Software Architecture, Processes, Organization—and Humans
stilkov
2
550
Good Enough Architecture
stilkov
8
930
“Good enough” Architecture
stilkov
2
900
That Blockchain Thing
stilkov
1
190
Other Decks in Technology
See All in Technology
DevIO2024_レガシー運用からの脱却 -クラウド活用の実践事例とベストプラクティス-
jun2882
0
210
ここがすごいよ! AWS Systems Manager!
saichan11
0
1.8k
サービス開発を前に進めるために 新米リードエンジニアが 取り組んだこと / Steps Taken by a Novice Lead Engineer to Advance Service Development
nologyance
0
180
ゆめみのアクセシビリティの現在地と今後
ryokatsuse
3
290
How to Think Like a Performance Engineer
csswizardry
4
590
セキュリティ研修 Day1【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
推薦システムを本番導入する上で一番優先すべきだったこと~NewsPicks記事推薦機能の改善事例を元に~
morinota
0
130
テスト・設計研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
スタートアップにおける組織設計とスクラムの長期戦略 / Scrum Fest Kanazawa 2024
yoshikiiida
13
3.6k
頼られるのが大好きな 皆さんへ - 支援相手との期待の合わせ方、突き放し方 -/For_people_who_like_to_be_relied_on
naitosatoshi
1
290
コミュニティサービスに「あなたへ」フィードを リリースするまでの試行錯誤
takapy
1
150
AIエージェントを現場に導入する目線とは
masahiro_nishimi
1
1.5k
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
34
1.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
52k
How to Ace a Technical Interview
jacobian
274
23k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
35
6.3k
Writing Fast Ruby
sferik
623
60k
Large-scale JavaScript Application Architecture
addyosmani
506
110k
Being A Developer After 40
akosma
72
580k
GitHub's CSS Performance
jonrohan
1026
450k
A better future with KSS
kneath
231
17k
The Illustrated Children's Guide to Kubernetes
chrisshort
39
47k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
2.9k
Building a Scalable Design System with Sketch
lauravandoore
458
32k
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