2009-12-21

Manufacturing Software

Some say software doesn't have to be manufactured like physical products, it can simply be copied. But this is not entirely true. The first copy is unique and must be manufactured just like physical things.

To manufacture the first copy, we need to know how to do it. This is specified in the most important product document, the manufacturing instruction. This document contains everything you need to know to manufacture the first copy. For very simple software products, this is the only artifact the software engineer must produce during the construction phase.

If the software product is a little bigger, it quickly becomes impractical to have everything in one document, from routines, tools and build scripts to source code. The manufacturing instruction is then reduced to only contain the manufacturing process mixed with references to the source code, the tools to install and the build scripts to run.

From the reasoning above, I come to the conclusion that software construction is the act of turning requirements into a manufacturing instruction, which is then handed to manufacturing for the production of the first copy. For small products it is the constructing engineer himself who is responsible for the manufacturing. For larger products the manufacturing is handled by the system integrator.