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, you need to have the basic tools available to start exploring. If these are missing, you need to first work on a tooling buildup phase. In this phase you do not focus on specific domain questions you want to explore, but rather on building the tools you need to start exploring.

Here are some examples:

• building a parser for YAML configuration files so that you can extract useful data from them and apply the Moldable Data Wrapper pattern,

• 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,

• building a bridge to a foreign execution platform, such as for Python, or AWS, or a database system, so that you can observe and interact with run-time entities in the target platform, or

• 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.