Mitch Pronschinske is the Lead Research Analyst at DZone. Researching and compiling content for DZone's research guides is his primary job. He likes to make his own ringtones, watches cartoons/anime, enjoys card and board games, and plays the accordion. Mitch is a DZone Zone Leader and has posted 2578 posts at DZone. You can read more from them at their website. View Full User Profile

Advice for Successful DDD

  • submit to reddit
A lot of today's software systems have non-functional requirements that preclude a single-database model. At NDC 2010 and at many other developer conferences Greg Young, the co-founder and CTO of  a stock market analytics firm, has told the story of how his company unleashed their domain.  This presentation looks at how Domain Driven Design can fit into multi-database environments that exist in extremely large scale web sites, batch processing, and when using NoSQLs.  Event streams open many doors in how domains are scaled, stored, and rationalized because they offer an alternative way to store object states.  

Young has 10+ years of diverse experience in computer science, including fields such as embedded operating systems to business systems.  His  company's application runs over 10,000 sustained transactions per second with a rich model. The key? Modeling state transitions explicitly.  Here is "Unleash your Domain":

Find the presentation slides here.

Young has also participated in a project that fell into each of his 7 DDD pitfalls.  His second presentation at NDC 2010 encourages companies to make sure they have clear context where models that make sense with a clear separation of concerns.  Like most failures in business, a lot of these pitfalls are based on communication and the expression of what get’s communicated.  These are the 7 reasons why most DDD projects fail:

  • Lack of intent
  • Anemic Domain Model
  • DDD-Lite
  • Lack of isolation
  • Ubiquitous what?
  • Lack of refinement
  • Proxy Domain Expert (Business analyst)

And here's the presentation video:

Check out the DZone Refcard on DDD.