why enterprise architecture usually sucks
DESCRIPTION
Presented at ThoughtWorks Australia Team Hug 2010 Summary here: http://fragmental.tw/2010/09/12/thoughtworks-australia-teamhug-2010-why-enterprise-architectures-suck/TRANSCRIPT
![Page 1: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/1.jpg)
Why Enterprise Architecture Usually Sucks.
Phillip CalçadoThoughtWorks
http://fragmental.tw
Saturday, 11 September 2010
![Page 2: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/2.jpg)
1.Conway-Driven Architecture2.Architecture-Driven Business
Saturday, 11 September 2010
![Page 3: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/3.jpg)
1. Conway-Driven Architecture
“Any organisation that designs a system will inevitably produce a design whose structure is a copy of the organisation's communication structure.”
-Melvin Conway
Saturday, 11 September 2010
![Page 4: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/4.jpg)
Saturday, 11 September 2010
![Page 5: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/5.jpg)
team a
team b
team b
team c
Saturday, 11 September 2010
![Page 6: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/6.jpg)
team b
systema
systemb
systemc
Saturday, 11 September 2010
![Page 7: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/7.jpg)
team b
systema
systemb
systemc
doesn’ttrust
doesn’ttrust
doesn’ttrust
Saturday, 11 September 2010
![Page 8: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/8.jpg)
team b
systema
systemb
systemclegacy
database x
billing system y
inventory system z
hrsystem w
portal s
Saturday, 11 September 2010
![Page 9: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/9.jpg)
can I have this feature?
pretty please?
Saturday, 11 September 2010
![Page 10: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/10.jpg)
LOL r u crazy?
Saturday, 11 September 2010
![Page 11: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/11.jpg)
team b
systema
systemb
systemclegacy
database x
billing system y
inventory system z
hrsystem w
portal s
This “small” change means...
Saturday, 11 September 2010
![Page 12: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/12.jpg)
team b
systema
systemb
systemclegacy
database x
billing system y
inventory system z
hrsystem w
portal s
This “small” change means...
change
Saturday, 11 September 2010
![Page 13: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/13.jpg)
team b
systema
systemb
systemclegacy
database x
billing system y
inventory system z
hrsystem w
portal s
This “small” change means...
change
change
Saturday, 11 September 2010
![Page 14: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/14.jpg)
team b
systema
systemb
systemclegacy
database x
billing system y
inventory system z
hrsystem w
portal s
This “small” change means...
changechange
change
Saturday, 11 September 2010
![Page 15: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/15.jpg)
team b
systema
systemb
systemclegacy
database x
billing system y
inventory system z
hrsystem w
portal s
This “small” change means...
changechange
change
change
Saturday, 11 September 2010
![Page 16: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/16.jpg)
team b
systema
systemb
systemclegacy
database x
billing system y
inventory system z
hrsystem w
portal s
This “small” change means...
changechange
change
change
change
Saturday, 11 September 2010
![Page 17: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/17.jpg)
team b
systema
systemb
systemclegacy
database x
billing system y
inventory system z
hrsystem w
portal s
This “small” change means...
changechange
change
change
change
change
Saturday, 11 September 2010
![Page 18: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/18.jpg)
“I don’t understand why things are so hard around here!”“IT doesn’t deliver; we need more people. Get me some consultants!”“In-house is too complicated, let’s buy a package!”
“We are too slow. We have to become agile! ”
Saturday, 11 September 2010
![Page 19: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/19.jpg)
2. Architecture-Driven Business
“Developers have to translate for domain experts. Domain experts translate between developers and still other experts. Developers even translate for each other. The indirectness of communication conceals the formation of schisms. This leads to unreliable software that doesn't fit together.”
-Eric EvansSaturday, 11 September 2010
![Page 20: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/20.jpg)
IT always wins.
Saturday, 11 September 2010
![Page 21: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/21.jpg)
IT always wins.
We need invoices to be available in our
sales channel to our customers
Saturday, 11 September 2010
![Page 22: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/22.jpg)
IT always wins.
We need invoice.xsds to be available in our portlets to our
contacts
Saturday, 11 September 2010
![Page 23: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/23.jpg)
developer’s kingdom
business’ nightmare
Saturday, 11 September 2010
![Page 24: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/24.jpg)
developer’sbusiness’
InvoicingOracle Invoice Server + PDF Printing Service + SAP
CustomerIdentity Manager + CUS_SYS_01 Database + CRM
SaleCMS + E-Commerce Server + Warehouse System
mapping
Saturday, 11 September 2010
![Page 25: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/25.jpg)
“How did we end up with three CRMs again?”
“These customers are in another database. We can create a service
for that...”
“This may be a simple change for the business but in our end it’s complicated!”Saturday, 11 September 2010
![Page 26: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/26.jpg)
Some Suggestions
Saturday, 11 September 2010
![Page 27: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/27.jpg)
1.Don’t try to break the law2.Design principles are fractal3.Domain-Driven Architecture
Saturday, 11 September 2010
![Page 28: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/28.jpg)
1.Don’t try to break the law2.Design principles are fractal3.Domain-Driven Architecture
Saturday, 11 September 2010
![Page 29: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/29.jpg)
team b
systema
systemb
systemc
Saturday, 11 September 2010
![Page 30: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/30.jpg)
team b
systema
systemb
systemc
the governance group
Saturday, 11 September 2010
![Page 31: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/31.jpg)
team b
systema
systemb
systemc
the governance group bottleneck
Saturday, 11 September 2010
![Page 32: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/32.jpg)
createoneproject team
withpeople
from different departments
Saturday, 11 September 2010
![Page 33: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/33.jpg)
1.Don’t try to break the law2.Design principles are fractal3.Domain-Driven Architecture
Saturday, 11 September 2010
![Page 34: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/34.jpg)
team b
systema
systemb
systemclegacy
database x
billing system y
inventory system z
hrsystem w
portal s
Saturday, 11 September 2010
![Page 35: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/35.jpg)
OperationOperation
AttributeAttribute
OperationOperation
AttributeAttribute
OperationOperation
AttributeAttribute
OperationOperation
AttributeAttribute
OperationOperation
AttributeAttribute
OperationOperation
AttributeAttribute
OperationOperation
AttributeAttribute
team b
system a
system b
system c
legacy database
x
billing system y
inventory system z
hr system w
portal s
Saturday, 11 September 2010
![Page 36: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/36.jpg)
•Layers•Cohesion•Coupling•Dependency Injection•...
still applies
Saturday, 11 September 2010
![Page 37: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/37.jpg)
1.Don’t try to break the law2.Design principles are fractal3.Domain-Driven Architecture
Saturday, 11 September 2010
![Page 38: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/38.jpg)
big bangmapping
Saturday, 11 September 2010
![Page 39: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/39.jpg)
Adopt Layers
BusinessServices
}}
InfrastructureServices
Saturday, 11 September 2010
![Page 40: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/40.jpg)
Adopt Layers
InfrastructureServices
BusinessServices
}}
TechnicalVocabulary
(and no Business Logic)
BusinessVocabulary
(and Business Logic)
Saturday, 11 September 2010
![Page 41: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/41.jpg)
Adopt Layers
littlemapping
Saturday, 11 September 2010
![Page 42: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/42.jpg)
Good Architectures support and are driven by the business
Bad Architectures require the business to change
What’s easy to change in the business model should be easy to change in your
architecture
Saturday, 11 September 2010
![Page 43: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/43.jpg)
Good Architectures support and are driven by the business
Bad Architectures require the business to change
What’s easy to change in the business model should be easy to change in your
architecture
Saturday, 11 September 2010
![Page 44: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/44.jpg)
Good Architectures support and are driven by the business
Bad Architectures require the business to change
What’s easy to change in the business model should be easy to change in your
architecture
Saturday, 11 September 2010
![Page 45: Why Enterprise Architecture Usually Sucks](https://reader034.vdocuments.mx/reader034/viewer/2022051613/54c7e1654a79592a5d8b4604/html5/thumbnails/45.jpg)
References•http://www.melconway.com/research/committees.html
•http://fragmental.tw/2009/02/24/what-is-a-service/
•http://fragmental.tw/2010/08/17/thoughts-on-abstractions-part-1-%E2%80%93-abstractions-everywhere/
•http://fragmental.tw/2010/09/06/thoughts-on-abstractions-part-2-abstractions-in-your-domain/
•http://fragmental.tw/2010/03/22/nevermind-domain-driven-design/
Saturday, 11 September 2010