SlideShare una empresa de Scribd logo
1 de 45
Descargar para leer sin conexión
Why Enterprise Architecture
                           Usually Sucks.
                                 Phillip Calçado
                                 ThoughtWorks
                              http://fragmental.tw




Saturday, 11 September 2010
1.Conway-Driven Architecture
                 2.Architecture-Driven Business



Saturday, 11 September 2010
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
Saturday, 11 September 2010
team a
                                team c



                    team b



Saturday, 11 September 2010
system
                             a
                                   system
                                      c




                          system
                             b



Saturday, 11 September 2010
system
                             a          doesn’t
                                         trust

                                                       system
                                                          c
                              doesn’t
                               trust




                                             doesn’t
                                              trust


                          system
                             b



Saturday, 11 September 2010
system
                             a
                                                   system
                                                      c
   legacy                           billing
  database                         system y
      x

                                                     inventory
                                                      system z
                          system
                             b             hr
                                        system w

            portal s

Saturday, 11 September 2010
can I have
                               this feature?
                              pretty please?




Saturday, 11 September 2010
LOL r u crazy?




Saturday, 11 September 2010
This “small”
                          system
                             a     change means...
                                                   system
                                                      c
   legacy                           billing
  database                         system y
      x

                                                     inventory
                                                      system z
                          system
                             b             hr
                                        system w

            portal s

Saturday, 11 September 2010
This “small”
                          system
                             a     change means...
                                                   system
                                                      c
   legacy                           billing
  database                         system y
      x
                              change
                                                     inventory
                                                      system z
                          system
                             b             hr
                                        system w

            portal s

Saturday, 11 September 2010
This “small”
                          system
                             a     change means...
                                                   system
                                                      c
   legacy                           billing
  database                         system y
      x
                              change
                                                     inventory
                                                      system z
         system
      changeb                              hr
                                        system w

            portal s

Saturday, 11 September 2010
This “small”
                          system
                             a     change means...
                                                   system
                                                      c
   legacy                           billing
  database                         system y
      x
                              change
                                                     inventory
                                       change         system z
         system
      changeb                              hr
                                        system w

            portal s

Saturday, 11 September 2010
This “small”
                          system
                             a   change means...
                                change   system
                                            c
   legacy                          billing
  database                        system y
      x
                              change
                                                   inventory
                                       change       system z
         system
      changeb                              hr
                                        system w

            portal s

Saturday, 11 September 2010
This “small”
                          system           change
                             a   change means...
                                change   system
                                            c
   legacy                          billing
  database                        system y
      x
                              change
                                                   inventory
                                       change       system z
         system
      changeb                              hr
                                        system w

            portal s

Saturday, 11 September 2010
This “small”
                          system           change
                             a   change means...
                                change   system
                                            c
   legacy                          billing
  database                        system y
      x
                              change               change
                                                   inventory
                                       change       system z
         system
      changeb                              hr
                                        system w

            portal s

Saturday, 11 September 2010
“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
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 Evans
Saturday, 11 September 2010
IT always wins.




Saturday, 11 September 2010
IT always wins.



                              We need invoices to
                               be available in our
                              sales channel to our
                                   customers


Saturday, 11 September 2010
IT always wins.


                                   We need
                              invoice.xsds to be
                               available in our
                                portlets to our
                                   contacts

Saturday, 11 September 2010
developer’s kingdom




   business’ nightmare
Saturday, 11 September 2010
business’                           developer’s
                                     Oracle Invoice Server +
             Invoicing               PDF Printing Service +
                                     SAP
                                     Identity Manager +
          Customer mapping           CUS_SYS_01 Database +
                                     CRM
                                     CMS + E-Commerce
                              Sale   Server + Warehouse
                                     System



Saturday, 11 September 2010
“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
Some Suggestions




Saturday, 11 September 2010
1.Don’t try to break the law
               2.Design principles are fractal
               3.Domain-Driven Architecture



Saturday, 11 September 2010
1.Don’t try to break the law
               2.Design principles are fractal
               3.Domain-Driven Architecture



Saturday, 11 September 2010
system
                             a
                                   system
                                      c




                          system
                             b



Saturday, 11 September 2010
system
                             a
                                        system
                                           c




                          system   the
                             b
                                   governance
                                   group
Saturday, 11 September 2010
system
                             a
                                         system
                                            c




                          system   the
                             b
                                   governance
                                   group bottleneck

Saturday, 11 September 2010
create
        one
        project team
                                        with
                                    people
                              from different
                                departments
Saturday, 11 September 2010
1.Don’t try to break the law
               2.Design principles are fractal
               3.Domain-Driven Architecture



Saturday, 11 September 2010
system
                             a
                                                   system
                                                      c
   legacy                           billing
  database                         system y
      x

                                                     inventory
                                                      system z
                          system
                             b             hr
                                        system w

            portal s

Saturday, 11 September 2010
system a
                        Attribute
                        Attribute
                        Operation
                        Operation                                system c
                                                              Attribute
                                                              Attribute
                                                              Operation
                                      billing system y        Operation
   legacy                             Attribute
  database                            Attribute
      x                               Operation
                                      Operation
                                                                inventory system z
                                                                Attribute
                          system b                              Attribute
                       Attribute                                Operation
                       Attribute                                Operation
                       Operation                hr system w
                       Operation               Attribute
                                               Attribute
                                               Operation
           portal s
       Attribute                               Operation
       Attribute
       Operation
       Operation
Saturday, 11 September 2010
•Layers
               •Cohesion
               •Coupling
               •Dependency Injection
               •...
                               still applies



Saturday, 11 September 2010
1.Don’t try to break the law
               2.Design principles are fractal
               3.Domain-Driven Architecture



Saturday, 11 September 2010
big bang
                              mapping




Saturday, 11 September 2010
Adopt Layers




                              }  Business
                                 Services


                              } Services
                               Infrastructure

Saturday, 11 September 2010
Adopt Layers

                       Business
                      Vocabulary
                                   }
      (and Business Logic)
                                      Business
                                      Services
                    Technical
                   Vocabulary
           (and no Business
                Logic)
                                   } Services
                                    Infrastructure

Saturday, 11 September 2010
Adopt Layers




                              little
                              mapping


Saturday, 11 September 2010
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
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
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
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

Más contenido relacionado

Más de Phil Calçado

Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Phil Calçado
 
An example of Future composition in a real app
An example of Future composition in a real appAn example of Future composition in a real app
An example of Future composition in a real app
Phil Calçado
 
Evolutionary Architecture at Work
Evolutionary  Architecture at WorkEvolutionary  Architecture at Work
Evolutionary Architecture at Work
Phil Calçado
 
Structuring apps in Scala
Structuring apps in ScalaStructuring apps in Scala
Structuring apps in Scala
Phil Calçado
 
From a monolithic Ruby on Rails app to the JVM
From a monolithic  Ruby on Rails app  to the JVMFrom a monolithic  Ruby on Rails app  to the JVM
From a monolithic Ruby on Rails app to the JVM
Phil Calçado
 
Applying Evolutionary Architecture on a Popular API
Applying Evolutionary Architecture on a  Popular APIApplying Evolutionary Architecture on a  Popular API
Applying Evolutionary Architecture on a Popular API
Phil Calçado
 
SoundCloud Masterclass on Brazil
SoundCloud Masterclass on BrazilSoundCloud Masterclass on Brazil
SoundCloud Masterclass on Brazil
Phil Calçado
 
SpeakerConf: my findings in trying to use this functional programming busines...
SpeakerConf: my findings in trying to use this functional programming busines...SpeakerConf: my findings in trying to use this functional programming busines...
SpeakerConf: my findings in trying to use this functional programming busines...
Phil Calçado
 
[GOTO Copenhagen 2012] The Startup Hangover: Supporting 15 mil Users
[GOTO Copenhagen 2012] The Startup Hangover: Supporting 15 mil Users[GOTO Copenhagen 2012] The Startup Hangover: Supporting 15 mil Users
[GOTO Copenhagen 2012] The Startup Hangover: Supporting 15 mil Users
Phil Calçado
 

Más de Phil Calçado (20)

Ten Years of Failing Microservices
Ten Years of Failing MicroservicesTen Years of Failing Microservices
Ten Years of Failing Microservices
 
The Next Generation of Microservices
The Next Generation of MicroservicesThe Next Generation of Microservices
The Next Generation of Microservices
 
The Next Generation of Microservices — YOW 2017 Brisbane
The Next Generation of Microservices — YOW 2017 BrisbaneThe Next Generation of Microservices — YOW 2017 Brisbane
The Next Generation of Microservices — YOW 2017 Brisbane
 
The Economics of Microservices (2017 CraftConf)
The Economics of Microservices  (2017 CraftConf)The Economics of Microservices  (2017 CraftConf)
The Economics of Microservices (2017 CraftConf)
 
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
 
Finagle @ SoundCloud
Finagle @ SoundCloudFinagle @ SoundCloud
Finagle @ SoundCloud
 
A Brief Talk On High-Performing Organisations
A Brief Talk On High-Performing OrganisationsA Brief Talk On High-Performing Organisations
A Brief Talk On High-Performing Organisations
 
Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015
Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015
Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015
 
Rhein-Main Scala Enthusiasts — Your microservice as a Function
Rhein-Main Scala Enthusiasts — Your microservice as a FunctionRhein-Main Scala Enthusiasts — Your microservice as a Function
Rhein-Main Scala Enthusiasts — Your microservice as a Function
 
ScalaItaly 2015 - Your Microservice as a Function
ScalaItaly 2015 - Your Microservice as a FunctionScalaItaly 2015 - Your Microservice as a Function
ScalaItaly 2015 - Your Microservice as a Function
 
Finagle-Based Microservices at SoundCloud
Finagle-Based Microservices at SoundCloudFinagle-Based Microservices at SoundCloud
Finagle-Based Microservices at SoundCloud
 
An example of Future composition in a real app
An example of Future composition in a real appAn example of Future composition in a real app
An example of Future composition in a real app
 
APIs: The Problems with Eating your Own Dog Food
APIs: The Problems with Eating your Own Dog FoodAPIs: The Problems with Eating your Own Dog Food
APIs: The Problems with Eating your Own Dog Food
 
Evolutionary Architecture at Work
Evolutionary  Architecture at WorkEvolutionary  Architecture at Work
Evolutionary Architecture at Work
 
Structuring apps in Scala
Structuring apps in ScalaStructuring apps in Scala
Structuring apps in Scala
 
From a monolithic Ruby on Rails app to the JVM
From a monolithic  Ruby on Rails app  to the JVMFrom a monolithic  Ruby on Rails app  to the JVM
From a monolithic Ruby on Rails app to the JVM
 
Applying Evolutionary Architecture on a Popular API
Applying Evolutionary Architecture on a  Popular APIApplying Evolutionary Architecture on a  Popular API
Applying Evolutionary Architecture on a Popular API
 
SoundCloud Masterclass on Brazil
SoundCloud Masterclass on BrazilSoundCloud Masterclass on Brazil
SoundCloud Masterclass on Brazil
 
SpeakerConf: my findings in trying to use this functional programming busines...
SpeakerConf: my findings in trying to use this functional programming busines...SpeakerConf: my findings in trying to use this functional programming busines...
SpeakerConf: my findings in trying to use this functional programming busines...
 
[GOTO Copenhagen 2012] The Startup Hangover: Supporting 15 mil Users
[GOTO Copenhagen 2012] The Startup Hangover: Supporting 15 mil Users[GOTO Copenhagen 2012] The Startup Hangover: Supporting 15 mil Users
[GOTO Copenhagen 2012] The Startup Hangover: Supporting 15 mil Users
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 

Why Enterprise Architecture Usually Sucks.

  • 1. Why Enterprise Architecture Usually Sucks. Phillip Calçado ThoughtWorks http://fragmental.tw Saturday, 11 September 2010
  • 2. 1.Conway-Driven Architecture 2.Architecture-Driven Business Saturday, 11 September 2010
  • 3. 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
  • 5. team a team c team b Saturday, 11 September 2010
  • 6. system a system c system b Saturday, 11 September 2010
  • 7. system a doesn’t trust system c doesn’t trust doesn’t trust system b Saturday, 11 September 2010
  • 8. system a system c legacy billing database system y x inventory system z system b hr system w portal s Saturday, 11 September 2010
  • 9. can I have this feature? pretty please? Saturday, 11 September 2010
  • 10. LOL r u crazy? Saturday, 11 September 2010
  • 11. This “small” system a change means... system c legacy billing database system y x inventory system z system b hr system w portal s Saturday, 11 September 2010
  • 12. This “small” system a change means... system c legacy billing database system y x change inventory system z system b hr system w portal s Saturday, 11 September 2010
  • 13. This “small” system a change means... system c legacy billing database system y x change inventory system z system changeb hr system w portal s Saturday, 11 September 2010
  • 14. This “small” system a change means... system c legacy billing database system y x change inventory change system z system changeb hr system w portal s Saturday, 11 September 2010
  • 15. This “small” system a change means... change system c legacy billing database system y x change inventory change system z system changeb hr system w portal s Saturday, 11 September 2010
  • 16. This “small” system change a change means... change system c legacy billing database system y x change inventory change system z system changeb hr system w portal s Saturday, 11 September 2010
  • 17. This “small” system change a change means... change system c legacy billing database system y x change change inventory change system z system changeb hr system w portal s Saturday, 11 September 2010
  • 18. “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
  • 19. 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 Evans Saturday, 11 September 2010
  • 20. IT always wins. Saturday, 11 September 2010
  • 21. IT always wins. We need invoices to be available in our sales channel to our customers Saturday, 11 September 2010
  • 22. IT always wins. We need invoice.xsds to be available in our portlets to our contacts Saturday, 11 September 2010
  • 23. developer’s kingdom business’ nightmare Saturday, 11 September 2010
  • 24. business’ developer’s Oracle Invoice Server + Invoicing PDF Printing Service + SAP Identity Manager + Customer mapping CUS_SYS_01 Database + CRM CMS + E-Commerce Sale Server + Warehouse System Saturday, 11 September 2010
  • 25. “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
  • 27. 1.Don’t try to break the law 2.Design principles are fractal 3.Domain-Driven Architecture Saturday, 11 September 2010
  • 28. 1.Don’t try to break the law 2.Design principles are fractal 3.Domain-Driven Architecture Saturday, 11 September 2010
  • 29. system a system c system b Saturday, 11 September 2010
  • 30. system a system c system the b governance group Saturday, 11 September 2010
  • 31. system a system c system the b governance group bottleneck Saturday, 11 September 2010
  • 32. create one project team with people from different departments Saturday, 11 September 2010
  • 33. 1.Don’t try to break the law 2.Design principles are fractal 3.Domain-Driven Architecture Saturday, 11 September 2010
  • 34. system a system c legacy billing database system y x inventory system z system b hr system w portal s Saturday, 11 September 2010
  • 35. system a Attribute Attribute Operation Operation system c Attribute Attribute Operation billing system y Operation legacy Attribute database Attribute x Operation Operation inventory system z Attribute system b Attribute Attribute Operation Attribute Operation Operation hr system w Operation Attribute Attribute Operation portal s Attribute Operation Attribute Operation Operation Saturday, 11 September 2010
  • 36. •Layers •Cohesion •Coupling •Dependency Injection •... still applies Saturday, 11 September 2010
  • 37. 1.Don’t try to break the law 2.Design principles are fractal 3.Domain-Driven Architecture Saturday, 11 September 2010
  • 38. big bang mapping Saturday, 11 September 2010
  • 39. Adopt Layers } Business Services } Services Infrastructure Saturday, 11 September 2010
  • 40. Adopt Layers Business Vocabulary } (and Business Logic) Business Services Technical Vocabulary (and no Business Logic) } Services Infrastructure Saturday, 11 September 2010
  • 41. Adopt Layers little mapping Saturday, 11 September 2010
  • 42. 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
  • 43. 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
  • 44. 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
  • 45. 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