
TDD & DDD from the Ground Up • Christopher Simon • GOTO 2025
Keywords
Summary
111 words
Critical Evaluation
The talk provides a practical, hands-on introduction to TDD and DDD, demonstrating how they can be combined to manage complexity. The live coding format is effective, showing step-by-step development with tests driving the design. The speaker’s emphasis on small, incremental steps and refactoring is pedagogically sound. The introduction of DDD patterns as needed, rather than upfront, addresses a common concern about DDD’s applicability to simple projects. The use of a concrete example (university enrollment) makes the concepts accessible. The speaker’s credibility is supported by his experience as a coach and consultant. The code is available on GitHub, allowing viewers to follow along. The talk also introduces Contextive, a tool for managing ubiquitous language, which adds value. However, the talk is not a rigorous scientific study; it is a demonstration of best practices based on the speaker’s experience. The claims about maintainability and ease of change are illustrated but not empirically validated. The talk could benefit from more discussion of potential drawbacks or alternative approaches. Overall, the content is valuable for practitioners seeking to improve their software design skills.
178 words
Title / Content Match
The title accurately reflects the content: the speaker demonstrates TDD and DDD from scratch, building up a simple system and introducing DDD patterns as complexity emerges.
Quality & Reliability
8/10
The talk is a live coding demonstration by an experienced coach, showing practical application of TDD and DDD. The approach is pragmatic and well-illustrated with a concrete example. The speaker acknowledges different opinions on TDD and does not present it as the only way. The code is available in a public repository, and the talk includes references to tools like Contextive. However, the talk is not a formal scientific study and relies on anecdotal evidence and personal experience.
Chapters
Cited Sources
- Christopher Simon's GitHub repository for the demo — The code used in the live coding demonstration, available in Java.
- Contextive - Ubiquitous Language Tool — A tool for managing a ubiquitous language glossary, demonstrated in the talk.
- Christopher Simon's personal website — Speaker's personal site with more information about his work.
- Christopher Simon on Bluesky — Speaker's social media profile.
- Christopher Simon on Mastodon — Speaker's Mastodon profile.
- Christopher Simon on Twitter — Speaker's Twitter profile.
- Christopher Simon on LinkedIn — Speaker's LinkedIn profile.
- GOTO Copenhagen 2025 session page — The session page for this talk at GOTO Copenhagen 2025.
Concurring Sources
- Test-Driven Development by Example — Kent Beck's book on TDD, which aligns with the talk's approach.
- Domain-Driven Design: Tackling Complexity in the Heart of Software — Eric Evans' seminal book on DDD, which the talk references.
Dissenting Sources
External References
Contribution & Novelties
The talk offers a practical, incremental approach to introducing DDD patterns only when complexity demands it, using TDD to guide the process. It demonstrates how refactoring driven by tests can naturally lead to DDD tactical patterns. The introduction of Contextive as a tool for managing ubiquitous language is a novel contribution.
Pour aller plus loin :
- Test-Driven Development — Foundational concept for the talk.
- Domain-Driven Design — Core methodology discussed.
- Refactoring — Martin Fowler’s book on refactoring, relevant to the refactoring steps.
- Event Storming — A workshop technique mentioned in the talk for exploring domains.
95 words
Radar Profile
The radar profile shows high scores in quality of information and reliability, reflecting the speaker's expertise and practical demonstration. The quantity of information is moderate, as the talk focuses on a single example. The technical level is high, suitable for experienced developers.