Leanpub Header

Skip to main content

Design and Reality

Essays on Software Design

“Happily purchased. Handy to have these in one place. Thank you!” — Kent Beck

“Excellent new thinking on Domain-Driven Design. It's full of real practical experience in getting the most value from domain modelling. Just like the Eric Evans' DDD book, this gives more insight each time you read it.” — Ian Russell

Minimum price

$17.50

$24.50

You pay

$24.50

Author earns

$19.60
$

...Or Buy With Credits!

You can get credits monthly with a Reader Membership
PDF
EPUB
WEB
118
Pages
About

About

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

Author

About the Author

Rebecca Wirfs-Brock and 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.

Leanpub Podcast

Episode 248

An Interview with Mathias Verraes

Contents

Table of Contents

Praise for the Book

About the Authors

  1. Mathias Verraes
  2. Rebecca Wirfs-Brock

Design & Reality

  1. Domain language vs Ubiquitous Language
  2. Drilling Mud
  3. Scenarios
  4. A Breakthrough
  5. An Act of Creation
  6. Is It a Better Model?
  7. Design Creates New Realities

Models & Metaphors

  1. Case Study
  2. Data Matching
  3. Domain Modelling
  4. Trust
  5. Trust as an Object
  6. Trust as a Process
  7. Business Involvement
  8. Trust as an Arithmetic
  9. The Evolution of the Model
  10. Discussion
  11. Good Metaphors
  12. Bad Metaphors
  13. Conclusion

Critically Engaging with Models

  1. Models Are Worldviews
  2. Hierarchies and Networks
  3. Heuristics
  4. Models Distract
  5. The Spotify Model
  6. Agile Fluency
  7. Team Topologies
  8. Explicit Building Blocks
  9. When the Team Gets Too Big: a Case Study
  10. Contrasting Spotify and Team Topologies
  11. Comparing Models Yourself
  12. Bossy Models
  13. Getting Too Cosy with the Model
  14. Prescriptive, Descriptive, Aspirational
  15. Putting the Model to Work
  16. Conclusions

Surfacing Worldviews in Design

  1. Intervention
  2. Consequences
  3. Another Scenario
  4. Worldviews

Splitting a Domain Across Multiple Bounded Contexts

  1. Deliberate Design Choices
  2. Twenty Commodities Traders
  3. Trade-offs
  4. Multiple Bounded Contexts in Ordinary IT Systems
  5. Conclusion

Critical Software Redesign: Creating the Environment for Large Scale Change

  1. A Tax Calculation Product
  2. Tax Law Interpretations
  3. Customisations
  4. Technical Debt
  5. Market Pressure
  6. Signals
  7. Recognising Signals
  8. What Is a Signal?
  9. Signals Trigger Experiments
  10. Experiments Are Not Projects
  11. Reversible Experiments
  12. Your Project Manager Thinks You’re Crazy
  13. The Loudest Customer
  14. Eat Your Own Dog Food
  15. Poke the Fire, Make It Spark
  16. Succeeding With Experiments
  17. Experiments Are Not Enough
  18. Sketching a New Model
  19. Three Angles
  20. Designers Need Agency
  21. Make the Shift

Architect’s Reactions to Signals

  1. Avraham Poupko
  2. Xin Yao
  3. Michael Keeling

Contributors

About the Contributors

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 runs a boutique consultancy that advises organisations on designing and modelling software for complex environments, including architecture, analysis, testing, and refactoring “unmaintainable” systems. He has worked with clients in Finance, Government, Supply Chain, Mobility, Energy, E-Commerce, and more. He teaches Domain-Driven Design courses and curates the DDD Europe conference. When he’s at home in Kortrijk, Belgium, he helps his two sons build crazy Lego contraptions.

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 earned over $14 million writing, 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