Design and Reality
$17.50
Minimum price
$24.50
Suggested price

Design and Reality

Essays on Software Design

About the Book

This book bundles the following software design essays:

Design and Reality

— Reframing the problem through design.

Models and Metaphors

— When a complex technical domain isn’t easily captured in a model, look for metaphors that bring clarity.

Critically Engaging With Models

— Our worldviews are grown from other people’s models. How do we control what models we let in?

Splitting a Domain Across Multiple Bounded Contexts

— How designing for business opportunities and the rate of change may give you better contexts.

Surfacing Worldviews in Design

— Implicit worldviews underlie our design choices. Exposing them can generate better options.

Critical Software Redesign: Creating the Environment for Large Scale Change

— There’s a moment where it’s too soon to invest in a radical new software design for your system. And then you reach a moment where it’s too late, too expensive to change it. How to find the sweet spot?

More essays are being added over time.

“These essays from Mathias and Rebecca offer software creators a fast track to making an impact with their craft. Through well-curated real-world modelling stories, you get to appreciate the art of discovering powerful abstractions, that capture the soul of core domains, while freeing up cognitive capacity for crunching more complexity. Through design heuristics backed by examples, you learn how to evaluate yours and others’ models to guide software and organisational design decisions. You will be more confident in software designers’ superpower to not only model reality, but also give form to a changed reality.”

— Xin Yao

  • Share this book

  • Categories

    • Management
    • Software Architecture
    • Software
    • Software Engineering
    • API Design
    • Leadership
  • Feedback

    Email the Author(s)

About the Author

Mathias Verraes
Rebecca Wirfs-Brock and Mathias Verraes

Rebecca and Mathias met at the Domain-Driven Design Europe 2017 conference in Amsterdam, and started collaborating on these essays in 2021.



## Mathias Verraes


Mathias Verraes is the founder of Aardling, a software modelling & design consultancy, with a penchant for complex environments. His focus is on design strategy and messaging-centric domain modelling. Since leaving a lead developer job in 2011 and moving to consulting in 2011, Mathias has worked with clients in Finance, Government, Supply Chain, Mobility, Energy, E-Commerce, and more.


Mathias writes about software design at verraes.net since 2011. As a speaker, he's been at many major conferences such as NDC and Goto, and has been a keynote speaker DDD eXchange, ExploreDDD, KanDDDinsky, and others. Occasionally, he teaches courses on Domain-Driven Design & messaging architecture. Mathias is also the founder of the DDD Europe conference.


Mathias has a Masters in Music from the Royal Conservatory of Ghent, and is an autodidact on software. When he’s at home in Kortrijk, Belgium, he helps his two sons build crazy Lego contraptions.


## Rebecca Wirfs-Brock


Rebecca Wirfs-Brock is a software design pioneer who invented the set of object design practices known as Responsibility-Driven Design (RDD) and popularized the x-Driven Design meme (RDD, TDD, DDD, BDD). She is an internationally recognized leader in the development of effective software design and architecture techniques. Among her widely used innovations are use case conversations and object role stereotypes. She was the design columnist for IEEE Software and the author of two influential texts, Designing Object-Oriented Software, and Object Design: Roles, Responsibilities and Collaborations.


In her work, she helps teams hone their design and architecture skills, manage and reduce technical debt, and address architecture risks. Although best known as a software design guru, she is also known as an innovator of techniques for simply expressing complex requirements and effectively developing and communicating software architecture. Her research interests focus on the cognitive and social aspects of software development including: Naturalistic decision-making (NDM) and software architecture decisions; decision-making models for software architects; design heuristics and their relationships to software patterns, guidelines; values and practices for sustainable software architecture and its evolution; software design and development ethnography; practical software design methods; agile architecture and design practices; patterns and pattern languages; object-oriented design; software modeling; domain modeling; documenting complex software systems; and communicating design intentions.



About the Contributors

Rebecca Wirfs-Brock
Rebecca Wirfs-Brock

Rebecca Wirfs-Brock is a software design pioneer who invented the set of object design practices known as Responsibility-Driven Design (RDD) and popularized the x-Driven Design meme (RDD, TDD, DDD, BDD). She is an internationally recognized leader in the development of effective software design and architecture techniques. Among her widely used innovations are use case conversations and object role stereotypes. She was the design columnist for IEEE Software and the author of two influential texts, Designing Object-Oriented Software, and Object Design: Roles, Responsibilities and Collaborations.

 

In her work, she helps teams hone their design and architecture skills, manage and reduce technical debt, and address architecture risks. Although best known as a software design guru, she is also known as an innovator of techniques for simply expressing complex requirements and effectively developing and communicating software architecture. Her research interests focus on the cognitive and social aspects of software development including: Naturalistic decision-making (NDM) and software architecture decisions; decision-making models for software architects; design heuristics and their relationships to software patterns, guidelines; values and practices for sustainable software architecture and its evolution; software design and development ethnography; practical software design methods; agile architecture and design practices; patterns and pattern languages; object-oriented design; software modeling; domain modeling; documenting complex software systems; and communicating design intentions.

Mathias Verraes
Mathias Verraes

Mathias Verraes is the founder of Aardling, a software modelling & design consultancy, with a penchant for complex environments. His focus is on design strategy and messaging-centric domain modelling. Since leaving a lead developer job in 2011 and moving to consulting in 2011, Mathias has worked with clients in Finance, Government, Supply Chain, Mobility, Energy, E-Commerce, and more.

Mathias writes about software design at verraes.net since 2011. As a speaker, he's been at many major conferences such as NDC and Goto, and has been a keynote speaker DDD eXchange, ExploreDDD, KanDDDinsky, and others. Occasionally, he teaches courses on Domain-Driven Design & messaging architecture. Mathias is also the founder of the DDD Europe conference.

Mathias has a Masters in Music from the Royal Conservatory of Ghent, and is an autodidact on software. When he’s at home in Kortrijk, Belgium, he helps his two sons build crazy Lego contraptions.

Table of Contents

  • Praise for the Book
  • About the Authors
    • Mathias Verraes
    • Rebecca Wirfs-Brock
  • Design & Reality
    • Domain language vs Ubiquitous Language
    • Drilling Mud
    • Scenarios
    • A Breakthrough
    • An Act of Creation
    • Is It a Better Model?
    • Design Creates New Realities
  • Models & Metaphors
    • Case Study
    • Data Matching
    • Domain Modelling
    • Trust
    • Trust as an Object
    • Trust as a Process
    • Business Involvement
    • Trust as an Arithmetic
    • The Evolution of the Model
    • Discussion
    • Good Metaphors
    • Bad Metaphors
    • Conclusion
  • Critically Engaging with Models
    • Models Are Worldviews
    • Hierarchies and Networks
    • Heuristics
    • Models Distract
    • The Spotify Model
    • Agile Fluency
    • Team Topologies
    • Explicit Building Blocks
    • When the Team Gets Too Big: a Case Study
    • Contrasting Spotify and Team Topologies
    • Comparing Models Yourself
    • Bossy Models
    • Getting Too Cosy with the Model
    • Prescriptive, Descriptive, Aspirational
    • Putting the Model to Work
    • Conclusions
  • Surfacing Worldviews in Design
    • Intervention
    • Consequences
    • Another Scenario
    • Worldviews
  • Splitting a Domain Across Multiple Bounded Contexts
    • Deliberate Design Choices
    • Twenty Commodities Traders
    • Trade-offs
    • Multiple Bounded Contexts in Ordinary IT Systems
    • Conclusion
  • Critical Software Redesign: Creating the Environment for Large Scale Change
    • A Tax Calculation Product
    • Tax Law Interpretations
    • Customisations
    • Technical Debt
    • Market Pressure
    • Signals
    • Recognising Signals
    • What Is a Signal?
    • Signals Trigger Experiments
    • Experiments Are Not Projects
    • Reversible Experiments
    • Your Project Manager Thinks You’re Crazy
    • The Loudest Customer
    • Eat Your Own Dog Food
    • Poke the Fire, Make It Spark
    • Succeeding With Experiments
    • Experiments Are Not Enough
    • Sketching a New Model
    • Three Angles
    • Designers Need Agency
    • Make the Shift
  • Architect’s Reactions to Signals
    • Avraham Poupko
    • Xin Yao
    • Michael Keeling
  • Notes

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub