Building software is harder than ever. As a developer, you not only have to chase ever-changing technological trends but also need to understand the business domains behind the software. This practical book provides you with a set of core patterns, principles, and practices for analyzing business domains, understanding business strategy, and, most importantly, aligning software design wit business needs.
I have compiled my thoughts of the first chapter in a small video and tried to combine it with other knowledge I think most people forgot.
To me, the most interesting part of this research was the absolute delight of being able to read the Nato’s report on software engineering from 1968, and how strangely relevant it still feels today:
Let me know what you all think of the first chapter. Suggestions for the video format are also appreciated, since I am still learning this and make a best effort to improve.
I am currently a little bit more advanced in the book. However, doing research, compiling my thoughts and putting it all in a 10-15 minutes video format (so people can listen while doing chores, for example) is something that does take some time.
My objective is to put a video about a chapter every 2-3 weeks (depending on how busy I am with work/life).
But since you did mention elixir specifically, I will give you all a hint on some work I did a while ago, specifically tailored to one of the chapters in this book:
This is for chapters 6-7. But we are a long way from them (at least 9 weeks before I get there with the format I have in mind xD).
Anyway, if you folks have any suggestions to improve the videos, let me know. I am still new at this, but I also want to make videos that people enjoy listening to. This way they are more likely to learn!
Interesting domain. Also, I have always believed that DDD should often work hand-in-hand with diagramming (like the C4 model), and working on the actual framework.
I usually use Mermaid graphics for this. Can you give an example of what tools you use and what the C4 model looks like? I am unaware of that type of diagram.
C4 Model is proposed by Simon Brown. It is a collection of context diagrams to visualise the application architecture.
I use both Mermaid and PlantUML. MermaidJS is a handy choice because most markdown editors support it. However, the graphics often become messy on Mermaid C4.
PlantUML supports a manual re-position and can make sure the graphics are readable.
Structurizr is the recommended choice but the support on most editors is limited.
The most important part for me was to understand the crucial importance of mental models, and how your understanding of the problems shapes our solutions!