Case studies of Moldable Development

Moldable Development can be applied for every development problem at any level of abstraction. Perhaps this is hard to imagine in practice. This section features a set of concrete case studies that are rather distinct, but that were addressed in a uniform way and in a uniform environment.

How distinct? Let's see. We have reading-like scenarios such as API browsing, analyzing the code structure in different languages and technologies. But using the same tools and techniques also seem to apply to construction-like scenarios like Executable domain-driven design: the Ludo game case study, working with external languages like GraphQL or JavaScript, and even building a new language.

Each of these cases might be considered as belonging to a different area of software engineering, and therefore requiring separate tooling. Yet we show that they can all be accommodated in the same environment, using the same techniques and combinable tools. Therefore these activities must necessarily not be as distinct as they were thought to be. By treating them similarly we can produce a new integrated experience that can also match the context of each problem.

All case studies presented here are about external data and source code that are accessible freely. We pick these cases because they relate to similar cases we encountered in large systems. Still, because of the freely accessible constraint they might appear small or less representative.

To address this issue we also present at least one extensive case study: Glamorous Toolkit itself. That might sound strange, but this version of Glamorous Toolkit was developed following Moldable Development from its inception. And now we can look back and observe the impact both quantitatively and qualitatively (see Quantifying the need for custom tools).

Moldable Development is a systematic approach through which we can craft narratives that lead to the inside of systems becoming explainable. And this leads us to one more case study that is perhaps less obvious: this very book. This book offers a reasonably extensive documentation of an extensive system. That, in itself is less interesting. What is more interesting is how the documentation is captured through links, executable examples, snippets and visual elements.