Cover of book *Domain Storytelling*

With Domain Storytelling: A Collaborative, Visual, and Agile Way to Build Domain-Driven Software (Boston: Addison-Wesley, 2022), Stefan Hofer and Henning Schwentner have written the first book about this modeling method. It features a foreword by Nick Tune.

We introduce you to the method’s easy pictographic language, scenario-based modeling techniques, workshop format, and relationship to other modeling methods. Using step-by-step case studies, we guide you through solving many common problems.

Grab your copy at various bookstores:1

Examples from the Book

The Alphorn Auto Leasing and Metropolis Movie Theater examples are available as files for Egon.io - The Domain Story Modeler, an open source modeling tool. You can find the files and instructions on https://github.com/WPS/egon.io-examples and import them into Egon.io.

Bibliography

This is the full bibliography of the book, with clickable links:

[Adzic 2011]
Gojko Adzic. Specification by Example. Shelter Island, NY: Manning, 2011.

[Baas-Schwegler/Rosa 2020]
Kenny Baas-Schwegler and João Rosa (eds.). Visual Collaboration Tools. Self-published, Leanpub, last updated August 7, 2020. https://leanpub.com/visualcollaborationtools.

[Beck 2000]
Kent Beck. Extreme Programming Explained: Embrace Change. Reading, MA: Addison-Wesley, 2000.

[Beck/Andres 2005]
Kent Beck and Cynthia Andres. Extreme Programming Explained: Embrace Change. 2nd ed. Boston: Addison-Wesley, 2005.

[Beck/Cunningham 1989]
Kent Beck and Ward Cunningham. “A laboratory for teaching object oriented thinking.” OOPSLA, 1989. http://www.inf.ufpr.br/andrey/ci221/docs/beckCunningham89.pdf.

[Beck et al. 2001]
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, and Dave Thomas. Manifesto for Agile Software Development. 2001. https://agilemanifesto.org.

[Brandolini 2016]
Alberto Brandolini. “Optimized for what?” SlideShare, November 20, 2016. https://www.slideshare.net/ziobrando/optimized-for-what.

[Brandolini 2020]
⸻. “Discovering Bounded Contexts with EventStorming.” In Domain-Driven Design: The First 15 Years by the DDD Community. Self-published, Leanpub, February 15, 2020. https://leanpub.com/ddd_first_15_years.

[Brandolini 2021]
⸻. Introducing EventStorming. Self-published, Leanpub, last updated February 12, 2021. https://leanpub.com/introducing_eventstorming.

[Bråten 1973]
Stein Bråten. “Model Monopoly and Communications: Systems Theoretical Notes on Democratization.” Acta Sociologica 16, no. 2 (1973).

[Breitling et al. 2006]
Holger Breitling, Andreas Kornstädt, and Joachim Sauer. “Design Rationale in Exemplary Business Process Modeling.” In Rationale Management in Software Engineering, edited by Alen H. Dutoit, Ray McCall, Ivan Mistrik, and Barbara Paech, 191–208. Berlin: Springer, 2006.

[Buschmann et al. 1996]
Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, and Michael Stal. Pattern-Oriented Software Architecture Volume 1: A System of Patterns. Hoboken, NJ: Wiley, 1996.

[Carroll 2000]
John Carroll. Making Use: Scenario-Based Design of Human-Computer Interactions. Cambridge, MA: MIT Press, 2000.

[Checkland 1975]
Peter Checkland. “The Development of Systems Thinking by Systems Practice—a methodology from an action research program.” In Progress in Cybernetics and Systems Research, vol. 2, edited by Robert Trappl and Franz Pichler, 278–283. Washington, DC: Hemisphere, 1975.

[Cockburn 2001]
Alistair Cockburn. Writing Effective Use Cases. Boston: Addison-Wesley, 2001.

[Cockburn 2005]
⸻. “Hexagonal Architecture.” January 4, 2005. https://alistair.cockburn.us/hexagonal-architecture/.

[Cockburn Origin]
⸻. “Origin of Story Card Is a Promise for a Conversation.” http://alistair.cockburn.us/Origin+of+user+story+is+a+promise+for+a+conversation.

[Cohn 2004]
Mike Cohn. User Stories Applied: For Agile Software Development. Boston: Addison-Wesley, 2004.

[CoMoCamp Website]
CoMoCamp—The Collaborative Modeling Unconference. Accessed June 15, 2021. https://comocamp.org/.

[Conway 1968]
Melvin E. Conway. “How Do Committees Invent?” Datamation, April 1968. https://www.melconway.com/Home/Conways_Law.html.

[Cooper 1999]
Alan Cooper. The Inmates Are Running the Asylum. Indianapolis: Sams, 1999.

[DDDCrew Website]
DDD Crew. Accessed May 5, 2021. https://github.com/ddd-crew/.

[DDDHeuristics Website]
DDD Heuristics. Heuristics to share and use for designing software. https://www.dddheuristics.com.

[DomainStorytelling BookWebsite]
Domain Storytelling Book Website. https://domainstorytelling.org/book.

[DomainStorytelling Website]
Domain Storytelling Website. https://domainstorytelling.org.

[Egon.io Website]
Egon.io—the Domain Story Modeler. https://egon.io.

[Egon.io Sources]
Egon.io—the Domain Story Modeler, Source Code. https://github.com/WPS/domain-story-modeler.

[Evans 2004]
Eric Evans. Domain-Driven Design: Tackling Complexity in the Heart of Software. Boston: Addison-Wesley, 2004.

[Evans 2016]
⸻. “Whirlpool Process of Model Exploration.” Domain Language. April 2016. https://domainlanguage.com/ddd/whirlpool/.

[Foote/Yoder 1997]
Brian Foote and Joseph Yoder. “Big Ball of Mud.” PLoP ’97, Monticello, IL, September 1997. http://www.laputan.org/mud/mud.html.

[Fowler 2003a]
Martin Fowler. “Anemic Domain Model.” Bliki. November 25, 2003. https://www.martinfowler.com/bliki/AnemicDomainModel.html.

[Fowler 2003b]
⸻. “Multiple Canonical Models.” Bliki. July 21, 2003. https://martinfowler.com/bliki/MultipleCanonicalModels.html.

[Fowler 2003c]
⸻. Patterns of Enterprise Application Architecture. Boston: Addison-Wesley, 2003.

[Fowler 2004]
⸻. UML Distilled: A Brief Guide to the Standard Object Modeling Language. 3rd ed. Boston: Addison-Wesley, 2004.

[Fowler 2005]
⸻. “Event Sourcing.” Development of Further Patterns of Enterprise Application Architecture. December 12, 2005. https://martinfowler.com/eaaDev/EventSourcing.html.

[Freund/Rücker 2019]
Jakob Freund, Bernd Rücker. Real-Life BPMN. 4th ed. Self-published, 2019.

[Floyd 1992]
Christiane Floyd. “Software Development as Reality Construction.” In Software Development and Reality Construction, edited by Christiane Floyd, Heinz Züllighoven, Reinhard Budde, and Reinhard Keil-Slawik, 86–100. Berlin: Springer, 1992. http://dx.doi.org/10.1007/978-3-642-76817-0_10.

[Hofer 2017]
Stefan Hofer. “Ein Modellierungsansatz für die Umgestaltung von Anwendungslandschaften.” PhD diss., University of Hamburg, 2017. https://ediss.sub.uni-hamburg.de/handle/ediss/7180.

[Hofer 2020]
Stefan Hofer, “An Introduction to Domain Storytelling.” Recorded February 18, 2020. Virtual DDD session. https://virtualddd.com/sessions/19.

[Hombergs 2019]
Tom Hombergs. Get Your Hands Dirty on Clean Architecture. Birmingham: Packt, 2019.

[Holtzblatt et al. 2005]
Karen Holtzblatt, Jessamyn Burns Wendell, and Shelley Wood. Rapid Contextual Design. Amsterdam: Elsevier, 2005.

[Hunt/Thomas 2000]
Andrew Hunt, David Thomas. The Pragmatic Programmer: From Journeyman to Master. Boston: Addison-Wesley, 2000.

[Jacobson 1987]
Ivar Jacobson. “Object-Oriented Development in an Industrial Environment.” In OOPSLA ’87: Conference Proceedings on Object-Oriented Programming Systems, Languages and Applications, edited by Norman Meyrow. New York: ACM, 1987.

[Jacobson et al. 2011]
Ivar Jacobson, Ian Spence, Kurt Bittner. Use-Cases 2.0: The Guide to Succeeding with Use Cases. Ivar Jacobson International, December 2011. https://www.ivarjacobson.com/sites/default/files/field_iji_file/article/use-case_2_0_jan11.pdf.

[Krabbel et al. 1996]
Anita Krabbel, Sabine Ratuski, and Ingrid Wetzel. “Requirements Analysis of Joint Tasks in Hospitals.” In Proceedings of the 19th Information Systems Research Seminar in Scandinavia, edited by Bo Dahlbom et al. Gothenburg Studies in Informatics, Report 8, 733–49, June 1996. https://swa.informatik.uni-hamburg.de/files/veroeffentlichungen/finalIris96.pdf.

[LeasingNinja Website]
LeasingNinja. Accessed May 5, 2021. https://www.leasingninja.io.

[LiberatingStructures Website]
Liberating Structures. Accessed May 5, 2021. https://www.liberatingstructures.com.

[Lilienthal 2019]
Carola Lilienthal. Sustainable Software Architecture. Heidelberg: dpunkt, 2019.

[Manns/Rising 2015]
Mary Lynn Manns and Linda Rising. More Fearless Change. Boston: Addison-Wesley, 2015.

[MaterialIcons Website]
Material Icons. Accessed May 5, 2021. https://material.io/icons/.

[Martin 2018]
Robert C. Martin. Clean Architecture: A Craftsman’s Guide to Software Structure and Design. Boston: Prentice Hall, 2017.

[Martraire 2019]
Cyrille Martraire. Living Documentation: Continuous Knowledge Sharing by Design. Boston: Addison-Wesley, 2019.

[Meyer 1997]
Bertrand Meyer. Object-Oriented Software Construction. 2nd ed. Upper Saddle River, NJ: Prentice Hall, 1997.

[Millet/Tune 2015]
Scott Millet and Nick Tune. Patterns, Principles, and Practices of Domain-Driven Design. Birmingham: Wrox, 2015.

[Millet 2017]
Scott Millet. The Anatomy of Domain-Driven Design. Self-published, Leanpub, last updated February 2, 2017. https://leanpub.com/theanatomyofdomain-drivendesign.

[Newman 2015]
Sam Newman. Building Microservices: Designing Fine-Grained Systems. Sebastopol, CA: O’Reilly, 2015.

[North 2006]
Dan North. “Introducing BDD.” Dan North & Associates. March 2006. https://dannorth.net/introducing-bdd/.

[OMG 2013]
Object Management Group. Business Process Model and Notation. Version 2.0.2, December 2013. https://www.omg.org/spec/BPMN/PDF.

[Palermo 2008]
Jeffrey Palermo. “The Onion Architecture.” July 28, 2008. https://jeffreypalermo.com/2008/07/the-onion-architecture-part-1/.

[Patton 2014]
Jeff Patton. User Story Mapping. Sebastopol, CA: O’Reilly, 2014.

[Plöd 2020]
Michael Plöd. Domain-Driven Design by Example. Self-published, Leanpub, last updated June 24, 2020. https://leanpub.com/ddd-by-example.

[Poupko 2018]
Avraham Poupko. “The Importance of Multiple Perspectives When Modeling Software.” September 17, 2018. DDD Europe 2018 video. https://laptrinhx.com/the-importance-of-multiple-perspectives-when-modeling-software-avraham-poupko-ddd-europe-2018-543633462/.

[Rubin 2013]
Kenneth S. Rubin. Essential Scrum: A Practical Guide to the Most Popular Agile Process. Boston: Addison-Wesley, 2013.

[Rumbaugh et al. 2005]
James Rumbaugh, Ivar Jacobson, and Grady Booch. The Unified Modeling Language Reference Manual. 2nd ed. Boston: Addison-Wesley, 2005.

[Schimak 2019]
Martin Schimak. “Storystorming.” Medium, June 9, 2019. https://medium.com/plexiti/story-storming-191756f57387.

[SCS Website]
Self-Contained Systems. Accessed May 5, 2021. https://scs-architecture.org.

[Smart 2017]
John Ferguson Smart. “When What We Ask for Is Not What We Get, and What We Get Is Not What We Need.” John’s Latest Articles (blog), April 30, 2017. https://johnfergusonsmart.com/how-great-teams-deliver-great-products/.

[Smart 2019]
⸻. “Feature Mapping—a Lightweight Requirements Discovery Practice for Agile Teams.” John’s Latest Articles (blog), November 6, 2019. https://johnfergusonsmart.com/feature-mapping-a-lightweight-requirements-discovery-practice-for-agile-teams.

[SmartBear 2019]
SmartBear Software. “Gherkin Reference.” Last modified 2019. https://cucumber.io/docs/gherkin/reference/.

[Thomas/Hunt 2020] David Thomas, Andrew Hunt. The Pragmatic Programmer: Your Journey to Mastery. 20th Anniversary Edition. Boston: Addison-Wesley, 2020.

[Tune 2019a]
Nick Tune. “Sociotechnical Design Variables.” Nick Tune’s Strategic Technology Blog, Medium.com, May 24, 2019. https://medium.com/nick-tune-tech-strategy-blog/sociotechnical-design-variables-52b7048f7b62.

[Tune 2019b]
⸻. “Modelling Bounded Contexts with the Bounded Context Canvas: A Workshop Recipe.” Nick Tune’s Strategic Technology Blog, Medium, July 22, 2019. https://medium.com/nick-tune-tech-strategy-blog/modelling-bounded-contexts-with-the-bounded-context-design-canvas-a-workshop-recipe-1f123e592ab.

[Tune 2021]
⸻. “Domain Message Flow Modelling.” DDD Crew. Latest commit February 4, 2021. https://github.com/ddd-crew/domain-message-flow-modelling.

[Tune Blog]
⸻. Nick Tune’s Strategic Technology Blog. Medium. https://medium.com/nick-tune-tech-strategy-blog.

[Verraes Blog]
Mathias Verraes. Blog. http://verraes.net/#blog.

[Vernon 2013]
Vaughn Vernon. Implementing Domain-Driven Design. Boston: Addison-Wesley, 2013.

[Vernon 2016]
⸻. Domain-Driven Design Distilled. Boston: Addison-Wesley, 2016.

[Vernon 2017]
⸻. Domain-Driven Design kompakt. Translated by Carola Lilienthal and Henning Schwentner. Heidelberg: dPunkt, 2017.

[Wlaschin 2018]
Scott Wlaschin. Domain Modeling Made Functional. Raleigh, NC: Pragmatic Bookshelf, 2018.

[Wikipedia Cockburn-Style]
Wikipedia, “Cockburn-style use cases.” https://upload.wikimedia.org/wikipedia/commons/8/82/Cockburnstyle_use_cases.svg.

[Wynne 2015]
Matt Wynne. “Introducing Example Mapping.” Cucumber Blog, December 8, 2015. https://cucumber.io/blog/bdd/example-mapping-introduction/.

[xMolecules Website]
xMolecules. Accessed May 5, 2021. https://xmolecules.org/.

[Yong 2017]
Ed Yong. “The Desirability of Storytellers.” The Atlantic, December 5, 2017. https://www.theatlantic.com/science/archive/2017/12/the-origins-of-storytelling/547502/.

[Young 2010]
Greg Young. “Command and Query Responsibility Segregation.” CQRS Documents. November 2010. https://cqrs.files.wordpress.com/2010/11/cqrs_documents.pdf.

[Zuill 2014]
Woody Zuill. “Mob Programming – A Whole Team Approach”. Agile 2014. https://www.agilealliance.org/resources/experience-reports/mob-programming-agile2014/.

[Züllighoven 2004]
Heinz Züllighoven. Object-Oriented Construction Handbook. Amsterdam: Elsevier, 2004.

  1. When you use the links on this site, we will earn a small share from the bookstore.