Download - Keeping Architectures Relevant - 4 Feb 2010
![Page 1: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/1.jpg)
Paul Rayner
AGILITY. CRAFT. ARCHITECTURE.
Keeping Architectures RelevantUsing Domain-Driven Design and Emergent Architecture
Brandon Satrom
![Page 2: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/2.jpg)
Challenges
SoftwareArchitecturePerspective
EnterpriseArchitecturePerspective Irrelevant
Architectures
Creeping Complexity
![Page 3: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/3.jpg)
DDD & Emergent Architecture
![Page 4: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/4.jpg)
Domain-Driven Design (DDD) is a pattern language for strategic design and architecture.*
* not an architecture framework
![Page 5: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/5.jpg)
A Virtuous Cycle
Relevant Modeling
Emergent Architecture
Ubiquitous Language
![Page 6: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/6.jpg)
Ubiquitous Language
Relevant Modeling
Emergent Architecture
Ubiquitous Language
![Page 7: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/7.jpg)
Jargon
Domain Expert
Technical Expert
Jargon
Translate
Refine
Agree
Communication vsJargon
![Page 8: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/8.jpg)
Domain Expert
Technical Expert
Ubiquitous Language
Bounded Context
Bounded Context
Bounded Context
Bounded Context
A New Shared Language
![Page 9: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/9.jpg)
Don’t Translate,Advocate
![Page 10: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/10.jpg)
Relevant Modeling
Relevant Modeling
Emergent Architecture
Ubiquitous Language
![Page 11: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/11.jpg)
Design Artifacts
![Page 12: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/12.jpg)
Final source code is the real software design
— Jack Reeves
“”
![Page 13: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/13.jpg)
Storytesting
![Page 14: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/14.jpg)
Abstractions
![Page 15: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/15.jpg)
Amplification through Simplification
![Page 16: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/16.jpg)
Emergent Architecture
Relevant Modeling
Emergent Architecture
Ubiquitous Language
![Page 17: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/17.jpg)
EncapsulateDon’t Coddle
![Page 18: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/18.jpg)
Developers don’t own the code they create…
… so do architects own the designs they craft?
![Page 19: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/19.jpg)
Architecture is a Shared
Hallucination
![Page 20: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/20.jpg)
Distillation
Ol’ Core DomainWhiskey
![Page 21: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/21.jpg)
Domain Complexity
Anemic Domain Models
![Page 22: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/22.jpg)
And the Architect Returns with the System Design…
![Page 23: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/23.jpg)
Relevant Modeling
Emergent Architecture
Ubiquitous Language
![Page 24: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/24.jpg)
“All that’s needed is the desire to be heard. The will to learn. And the ability to see.”
- Scott McCloud, Understanding Comics
![Page 25: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/25.jpg)
Questions
![Page 26: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/26.jpg)
Paul RaynerBrandon Satrom
Thank You…
www.architecturejournal.net
See our article in the March edition…
![Page 27: Keeping Architectures Relevant - 4 Feb 2010](https://reader033.vdocuments.us/reader033/viewer/2022061109/54511e38af7959b0168b5c82/html5/thumbnails/27.jpg)
References• Fonts:
– Euphemia, Leelawadee– BoBsFrAnTiC True Type http://www.searchfreefonts.com/free/bobsfrantic.htm– BigMisterC : http://www.urbanfonts.com/fonts/BigMisterC.htm
• Butterfly metamorphasis: http://www.ninibambini.com/pics/Metamorphasis.jpg • Garlic emerging: http://tinyfarmblog.com/tag/oats• Sticky Note: http://www.istockphoto.com/file_closeup.php?id=5602918• Domain-Driven Design book cover: http://domaindrivendesign.org/books/about_the_cover• Russian dolls: http://janti2008.wordpress.com/2009/04/22/nesting-with-the-dolls• Understanding Comics: http://www.harpercollins.com/book/index.aspx?isbn=9780060976255• Ruby on Rails: http://rubyonrails.org• Grady Booch: http://
domino.research.ibm.com/library/cyberdig.nsf/papers/964EFC48D32D5B2D852576A9004F5289/$File/rc24924.pdf
• Butterfly chryslis: http://animals.howstuffworks.com/insects/butterfly4.htm• Surfing baby: http://www.dailystoke.com/surfing-pop-culture/rip-surf-guide-magazine-
satirical-fables-and-surfing-babies• S#arp ARchitecture: http://www.sharparchitecture.net• Cucumber: http://wiki.github.com/aslakhellesoy/cucumber • UML class diagram: http://yuml.me/diagram/scruffy/class/samples• UML sequence diagram: http://www.websequencediagrams.com• Astronaut: http://www.flickr.com/photos/nasa_hsf/3874968663/in/photostream/