by Eric Evans
Left to right: Rinat Abdullin, Jimmy Nilsson, Vaughn Vernon, Cameron Purdy, Dan Berg Johnsson, Randy Stafford, Daniel Gackle, Patrik Fredriksson, Eric Evans, Paul Rayner, Alberto Brandolini, Rebecca Wirfs-Brock, Andreas Brink, and our photographer (not visible) Martin Fowler.
For the second year, I invited a few people to join me in Portland, Maine to discuss DDD. These are some of the people who have helped DDD get where it is today. (There are many other leaders in DDD. I hope that those who came to this small gathering represent a wide range of the points of view of the community.)
Conversations ranged widely in a shifting configuration of large and small groups. Three of those topics stood out for me.
There was a lot of excitement about using NoSQL technologies for DDD in cases where ORM has been very constraining. We also exchanged ideas of ways of combining DDD and functional programming, as several of us (including me) have been doing experiments with this. However, we all agreed that NoSQL is likely to be more widely relevant to application development projects in the near future.
We delved into the relationship between user experience and the domain model and how these disciplines might be brought closer together. Similarly, data visualization seems to me to be deeply connected to domain modeling. We did not come away with any specific insights. I still think this is an area that DDDers should examine.
Discussions about how to get a more balanced approach to design on Agile projects were intense. I don’t know how to sum up all the points of view. I have previously talked about my view of this topic here.
At some point in this discussion, we realized that most of us agree that domain modeling, as we mean the term, does not slow down a project, and, in our experience, has very short-term payoffs, as well as the generally acknowledged long-term benefits. Yet this is not the general perception, and presumably not the experience of many people. We talked about why this might be, and how we might convey some of the ways we are using modeling to accelerate delivery. I committed to write something on this topic in the near future, to be published here and in the Domain Language newsletter.
Other topics ranged from grid computing models to what it means for something to be “well designed”, but I won’t try to cover everything we talked about. I focused on the three topics above because they seemed particularly important to me. (And I get to choose because … you know … I’m the one writing up this report!)
The next major community event will be the DDD Exchange in London. Stay tuned. I’ll write my impressions of that conference in just a few weeks.