A quest at mapping Domain-Driven Design Heuristics
Mapping our Domain-Driven Design Heuristics
“We all use heuristics (even if we haven’t articulated them to others) to discover, understand, explore, create, modify, or extend complex software systems. Billy Vaughn Koen, in Discussion of the Method: Conducting the Engineer’s Approach to Problem Solving, defines a heuristic as, “anything that provides a plausible aid or direction in the solution of a problem but is in the final analysis unjustified, incapable of justification, and potentially fallible.”
You can look at heuristics as a rule of thumb, they don’t guarantee to be optimal, perfect, logical or rational. Instead, they are based on our past experiences, not scientifically proven to work, but worked for us in the past. The thing about designing software is that nothing is certain. Every time I hear someone say ‘it depends’ that is a trigger for me to find out their heuristic.
With this in mind, and by talking with Rebecca I started a site called DDDHeuristics.com in where we can collaborate to document and discuss these heuristics. In this session, I want to extend my search to ‘gotta catch em all’ and see how together we can map our Domain-Driven Design Heuristics.
After a short introduction about heuristics, we will start exploring, distilling and mapping our own heuristics stories. With these stories mapped out we can find and share individual heuristics. We document them in a certain flexible way, where we have a question, the heuristic and give some examples and context. At the end of the workshop, you should get a clear overview of what heuristics are, how it can help you design, and how you can map them out in order to drive and implement your design and software.
No skills required, just past experience in software development, design and architecture etc...
Benefits of participating
Gaining knowledge into how we can map and use everyones 'it depends' heuristics and then visually discuss these. It helps in making discussion into design and development a lot easier.
Stickies, sharpies, whiteboard markers, paper roll.
* We'll do some liberating structure impromptu networking to get to know each other.
* I'll do a short introduction into heuristics, what they are and how they help.
* Then I will show how we can collectively map them.
* in groups, we will discover, discuss and map our heuristics
* we will share them with the entire group
* now we find one heuristics that stand on itself per person and will document them.
00:00 - 00:20 - We'll do some liberating structure impromptu networking to get to know each other.
00:20 - 00:40 - I'll do a short introduction into heuristics, what they are and how they help. and share with each other some personal heuristics
00:40 - 00:55 - Then I will show how we can collectively map them.
00:55 - 01:35 in groups, we will discover, discuss and map our heuristics
01:35 - 01:50 we will share them with the entire group
01:50 - 02:20 now we find one heuristics that stand on itself per person and will document them.
02:20 - 02:30 wrap up sharing the heuristics.
your personal Domain-Driven Design heuristics on dddheuristics.com
- Kenny Baas-Schwegler