An Academic Reactor
Originally written in 1953, but as relevant to software development as anything I’ve come across:
An academic reactor or reactor plant almost always has the following basic characteristics: It is simple. It is small. It is cheap. It is light. It can be built very quickly. It is very flexible in purpose (“omnibus reactor”). Very little development is required. It will use mostly “off-the-shelf” components. The reactor is in the study phase. It is not being built now.
On the other hand, a practical reactor plant can be distinguished by the following characteristics: It is being built now. It is behind schedule. It is requiring an immense amount of development on apparently trivial items. Corrosion, in particular, is a problem. It is very expensive. It takes a long time to build because of the engineering development problems. It is large. It is heavy. It is complicated.
The tools of the academic-reactor designer are a piece of paper and a pencil with an eraser. If a mistake is made, it can always be erased and changed. If the practical-reactor designer errs, he wears the mistake around his neck; it cannot be erased. Everyone can see it.