Awesome Domain Storytelling: A Comprehensive Overview
The Awesome Domain Storytelling project is a treasure trove of resources dedicated to exploring and utilizing the concept of Domain Storytelling in software development. This concept serves as a collaborative, visual, and agile approach to building domain-driven software that emphasizes communication and understanding between software developers and domain experts. In this article, we delve into the various materials, resources, tools, and communities available for those interested in Domain Storytelling.
Introduction and Material for Beginners
Reading
Domain Storytelling is well-documented, with resources available mainly in English but also in other languages such as German, Korean, and Norwegian. Beginners can start with the official website DomainStorytelling.org or by reading the seminal book "Domain Storytelling: A Collaborative, Visual, and Agile Way to Build Domain-Driven Software" by Stefan Hofer and Henning Schwentner. The book provides a foundational understanding of Domain Storytelling. Additionally, there are several blog posts and articles, like "Why EventStorming Practitioners Should Try Domain Storytelling" and "Deep Listening with Domain Storytelling," offering different perspectives and insights.
Video
For those who prefer visual learning, there are numerous videos available. Zsófia Herendi and Stefan Hofer's video titled "An Introduction to Domain Storytelling" is a great start. Other useful presentations include those given at DDD Meetups and other conferences, allowing viewers to see Domain Storytelling in action.
Podcasts
Fans of auditory learning can benefit from podcasts such as the TechLead Journal and the InfoQ Podcast, where the creators of Domain Storytelling discuss various aspects and benefits of the methodology.
Advanced Material
For more advanced learners, articles like "Visualizing Communication Between Bounded Contexts" and videos such as "Developing Domain Storytelling" delve deeper into the methodology. These resources are designed for those who are looking to implement more sophisticated elements of Domain Storytelling in their projects.
Field Stories & Use Cases
Domain Storytelling is not just theoretical. Real-world case studies illustrate its practical applications, like facilitating knowledge crunching and discovering business capabilities. Stories such as "Scaling Kanban with Domain Storytelling" highlight how it can be adapted to various business models and processes, thus showing its versatility and effectiveness.
Tools & (Remote) Workshops
For practitioners, tools like Egon.io – The Domain Story Modeler, and resources on using tools such as draw.io for capturing domain stories, are invaluable. There are also workshops and videos on how to conduct remote collaborative modeling, ensuring that Domain Storytelling can be utilized in modern, virtual work environments.
Communities
Enthusiasts and professionals can join the #DomainStorytelling channel on the DDD Discord server or participate in the Collaborative Modeling Camp. These communities provide platforms for sharing knowledge, experiences, and answering questions about Domain Storytelling.
Variations
Domain Storytelling is versatile, and there are several variations like Storystorming by Martin Schimak and Domain Message Flow Modeling by Nick Tune. These variants offer new methods and practices for different scenarios and needs.
Related Topics
For a broader context, readers are encouraged to explore related topics like the Open Practice Library and visual collaboration tools. Books like "Communication Patterns" and "Domain-driven Transformation" also feature Domain Storytelling, offering further exploration of its potential and implementation strategies.
Conclusion
The Awesome Domain Storytelling project is an extensive resource for anyone interested in adopting a more collaborative and visual approach to software development. From beginners to advanced users, there is a wealth of information and tools available to facilitate understanding and applying Domain Storytelling in diverse settings. With communities and continuously expanding resources, this project provides ongoing support for learners and practitioners alike.