Domain Driven Design conflicts with CoopersInteraction Design...
26 Jun 2007 - 4:58pm
6 years ago
Good questions. I must admit that I'm new to the concepts of
Domain-Driven Design, but here's my initial reaction.
Bruce's response is pretty consistent with my experience: The way most
people think about the world (their mental model) is very different than
a well-designed data structure. The unfortunate reprocussion of this is
that (especially on products designed by engineers) data structures are
are often designed first, and then user interfaces are built so that
they reflect the underlying database architecture. The end result of all
this is usually that the resulting product/Web site/service is horrid to
That said, your comments towards at the end (excerpted below) are
certainly intruiging. As an interaction designer, I certainly have no
objection to your suggestion to "implement the mental model", assuming
that it can be done in such a way that the performance is good enough to
deliver a fluid user experience.
Unfortunately, my experience suggests that most engineers that I've
worked with would have some objections to the idea. Given that my
understanding of database design is largely academic, I think I'll leave
it at that.
As far as the persona question goes, let me put it this way: different
personas commonly have different mental models. If two personas' mental
models are in conflict with each other, we usually think that they will
require different interfaces or even different products. We often use a
number of personas to drive and test the design for a single product.
Ultimately, I'm not sure that it seems like there is much of a conflict
between DDD and GDD (Goal-Directed Design, what those of us at Cooper
call our design method). It does sound a bit like DDD is mostly about
software construction, whereas GDD is about interaction design.
All information in this message is proprietary & confidential.
> My personal conclusion is to combine the two approaches: use > interaction designs and goal directed design to model > Personas and the mental model of the Personas of the domain, > but use domain driven design to come up with a ubiquitous > language to represents the domain and the interaction model. > In one sentence: "implement the mental model" > > What makes me struggle is the different Personas: > is it possible to come up with one model for all Personas or > would there be different models for different Personas? >