Cyrille Martraire

Cyrille Martraire

Living Documentation / Domain Modelling

@cyriux · France



Cyrille Martraire (@cyriux) is CTO and partner at Arolla (@ArollaFr), the founder of the Paris Software Craftsmanship community and a regular speaker at international conferences. With 17+ years of experience in startups, software vendors and banks, Cyrille still calls himself a developer. He's passionate about design in every aspect: TDD, BDD and in particular DDD.

Cyrille also has an extensive knowledge of capital market finance, and he's the author of the book Living Documentation published by Addison-Wesley Professional.

Living Documentation Step-by-Step

Full day workshop with Cyrille Martraire

If you prefer coding over writing documentation, then you’ll love Living Documentation! A Living Documentation changes at the same pace as software design and development, from establishment of business goals to capturing domain knowledge, creating architecture, designing software and coding. It builds on top of BDD and DDD, but it also has its own key principles and novels ways to dramatically improve your documentation at minimal extra cost by using well-crafted artifacts and judicious automation.

This workshop from Cyrille Martraire, the author of the book "Living Documentation" (Addison-Wesley Professional), will guide you on how to implement the approach in your projects. Even if you haven't read the book, this workshop is the right place to learn the main elements of a Living Documentation, step by step through a provided sample Java code base.

Cyrille Martraire at Domain–Driven Design Europe 2017

You will learn:

  • How most knowledge is already there somewhere in your artifacts, even in an implicit form
  • How just talking and working together may be enough documentation, and when it does not
  • How to augment the code to make it fully explicit for further use by people and tools
  • How to differentiate between stable and volatile knowledge, and how this informs the way to deal with it
  • How to create zero-maintainance Evergreen Documents
  • How to recognize Shameful Comments and improve your code from there
  • How a word cloud can tell if you're doing your domain model wrong
  • How to generate a Living Glossary straight out of the code
  • How Architectural Decisions Records can help make better decisions
  • How Design Patterns help document a design decision very efficiently
  • How to visualize a design structure by generating a Living Diagram from the code itself
  • How to use plenty of other techniques to improve your particular needs, and the main traps to avoid
  • How failing to do any of the above is in itself a valuable feedback
  • How to introduce the topic in your project and with your colleagues

What you will need

  • A working Java 8 environment with Maven for two attendees
  • The sample project (only using basic Java) will be available from github or from a USB key

Domain Modelling From First Principles

Full day workshop with Cyrille Martraire

First principles are the origins, main concepts or assumptions that cannot be deduced from anything else. Reasoning from first principles is best described by Elon Musk: "You boil things down to the most fundamental truths and say, 'What are we sure is true?' ... and then reason up from there." This contrasts with reasoning by analogy, "where we are doing this because it’s like something else that was done or it is like what other people are doing."

Reasoning from first principles takes more of mental energy, but it is the key to radical innovations beyond small incremental evolutions, and it offers many other implementation benefits too. It is particularly relevant for domain modelling in DDD, especially on a core domain that we need to understand deeper, breaking free from the legacy thinking.

Join Cyrille Martraire for a whole day where you will learn how to deconstruct domain models until you reach their substantial first principles. As on a real project, we'll start from piles of feature requests, and we'll crunch them through code refactoring and critical analysis until we identify the domain insights that will lead to a smarter modelling in code.

Cyrille Martraire at Domain–Driven Design Europe 2017

You will learn

The training covers the following learning points through practice:

  • How to turn hardcoded business logic into dynamic adaptive behaviour
  • How to upgrade maintenance-heavy configuration lists into zero-maintenance criteria
  • How to reverse a formula into its component terms, leading to fewer code, more flexible design and a better separation of concerns
  • How to deconstruct a possibly large set of workflows into the few first principles that generate them
  • How modelling from first principles relates to Bounded Contexts
  • How domain modelling patterns help accelerate discovery of the first principles
  • How code refactorings, drawing domain-specific notations, domain language and language structure can suggest deeper business insights
  • How splitting the roles of specifying vs. implementing leads to sub-optimal results
  • How strategic planning of features can dramatically accelerate discovery of the first principles too
  • And how this powerful approach can turn boring business specs into a dangerously seductive game

The Premier Software Modelling & Design Conference

Missed #DDDEU?

Get tickets for the next edition

Amsterdam, Jan 30 – Feb 2, 2018



More speakers to be announced


Contact us at for sponsor opportunities.