Tooling Buildup
Context
You want to start moldable development but lack the basic infrastructure to start exploring the domain. You may be missing a parser for a data format or a DSL, a language bridge to an execution platform, or implementations of key analysis algorithms.
Problem
How do you start moldable development if you are missing core infrastructure?
Forces
— When you are building on top of an existing project, you may be missing key tools to allow you to start exploring the domain.
— You might not know where to find existing implementations to directly use, or to port or adapt to your development platform.
— You might lack the expertise to build the tools yourself.
Solution
To start a moldable development activity, first obtain the basic tools you need to start exploring.
Examples
In this phase you do not focus on specific domain questions you want to explore, but rather on acquiring the tools you need to start exploring:
(i) building a parser for YAML configuration files so that you can extract useful data from them and apply the Moldable Data Wrapper pattern,
(ii) building an Island parser to extract interesting bits of information from source files in software languages for which a full parser may not be readily available,
(iii) building a bridge to a foreign execution platform, such as for Python, AWS, or a database system, so that you can observe and interact with run-time entities in the target platform, or
(iv) implementing graph-traversal algorithms to detect dependencies, deadlocks etc.
Consequences
Tooling buildup will slow you down.
Once you have the right tools in place, you can move fast.
Known Uses
Tooling Buildup is arguably a common pattern within just about any kind of project. We mention it explicitly here to emphasize the point that moldable development does not necessarily work out-of-the-box, but may require some up-front investment.
Related patterns
A Moldable Tool is part of the moldable development environment, whereas Tooling Buildup is about the additional, specific tools you need before you can start moldable development.