Keeping Architectures Relevant - 4 Feb 2010

Preview:

DESCRIPTION

Too many systems seem to become legacy upon release, while some never even have a chance to move into production before they are undermined by the calcification of unmet expectations and mismatched domain needs. Regardless of the design effort early in the lifecycle, neglect of the domain model and inflexible design results in the increasing irrelevance of the initial architecture of a system. Sustainable and successful software development is all about managing complexity and enabling change, and successful architects create designs that clearly address both. As an architecture is allowed to emerge, evolve, and mature, it becomes a true reflection of the deep understanding of both domain experts and developers. Architects who expect their initial design to evolve, and who design with evolution in mind, create architectures that deliver a strong competitive advantage to the business.

Citation preview

Paul Rayner

AGILITY. CRAFT. ARCHITECTURE.

Keeping Architectures RelevantUsing Domain-Driven Design and Emergent Architecture

Brandon Satrom

Challenges

SoftwareArchitecturePerspective

EnterpriseArchitecturePerspective Irrelevant

Architectures

Creeping Complexity

DDD & Emergent Architecture

Domain-Driven Design (DDD) is a pattern language for strategic design and architecture.*

* not an architecture framework

A Virtuous Cycle

Relevant Modeling

Emergent Architecture

Ubiquitous Language

Ubiquitous Language

Relevant Modeling

Emergent Architecture

Ubiquitous Language

Jargon

Domain Expert

Technical Expert

Jargon

Translate

Refine

Agree

Communication vsJargon

Domain Expert

Technical Expert

Ubiquitous Language

Bounded Context

Bounded Context

Bounded Context

Bounded Context

A New Shared Language

Don’t Translate,Advocate

Relevant Modeling

Relevant Modeling

Emergent Architecture

Ubiquitous Language

Design Artifacts

Final source code is the real software design

— Jack Reeves

“”

Storytesting

Abstractions

Amplification through Simplification

Emergent Architecture

Relevant Modeling

Emergent Architecture

Ubiquitous Language

EncapsulateDon’t Coddle

Developers don’t own the code they create…

… so do architects own the designs they craft?

Architecture is a Shared

Hallucination

Distillation

Ol’ Core DomainWhiskey

Domain Complexity

Anemic Domain Models

And the Architect Returns with the System Design…

Relevant Modeling

Emergent Architecture

Ubiquitous Language

“All that’s needed is the desire to be heard. The will to learn. And the ability to see.”

- Scott McCloud, Understanding Comics

Questions

bsatrom@gmail.comwww.userinexperience.com

Paul RaynerBrandon Satrom

Thank You…

paul@virtual-genius.comwww.virtual-genius.com

www.architecturejournal.net

See our article in the March edition…

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/

Recommended