Modeling the Debriefing Cube with algebraic data types

Friday morning 10:00 - 12:00 CET (UTC+1)


Cédric Pontet


In this session, we’ll create a domain model, using the techniques from Scott Wlaschin’s “Domain Modeling Made Functional”. Our domain will be The Debriefing Cube, a game-like tool for safe debriefing with teams.

Our goal in this session will be to model the concepts of the cube and its cards, using only algebraic data types and functions. You’ll work in small groups, and each group will come up with their own models representing the cube. We will then compare the different approaches and share ideas about the functional programming approach to modeling.

At the end of the session, we will explorer a fully working implementation of The Debriefing Cube, developed using F# and the SAFE stack ( ).

The Debriefing Cube has been designed at #play14 ( ) to allow workshop facilitators to get better at debriefing their activities or games. It contains a die with different lenses (a.k.a. the cube) and a deck of cards with safe debriefing questions written on each of them. The tool has lived through many different versions and shapes, the simplest being the DIY pdf file ( ), and the most advanced being an app.

Practical information

Previous knowledge of functional programming and F# is a plus but is not mandatory.

About Cédric Pontet

CTO at Agile Partner, founder at #play14 Twitter LinkedIn Blog Company Website #play14

Cédric is a seasoned a software expert and Lean/Agile coach. He started his software engineering career in 2001 and since 2005, has been happily employed at Agile Partner, where he has worked on a large variety of projects, for customers in both public and private sectors.

He is now helping teams on matters such as software architecture, cloud computing, agile and lean, DevOps. Defining himself as curious and pragmatic, Cédric is proud to be part of different communities (Agile, Domain-Driven Design, EventStorming, Sketchnoting) and enjoys mixing these influences to bring people together.

He is a speaker in conferences such as Build Stuff, Voxxed Days, KanDDDinsky or Lean/Kanban France, and also co-founder of #play14, a playful event using games and fun activities as a metaphor to foster learning, innovation, change and happiness.