
232
THE LAWS OF SOFTWARE PROCESS
necessary for the system to function correctly. Unless great effort
is made to separate what works from what does not, it also contains
the remains of the journey to find that knowledge.
Invariably, the final code product is somewhat contaminated with the
legacy of the process used to build it. Usually the developer knows this and
understands that the code, while “correct,” is not “good code.” However,
no one else does. And in a year’s time, even the original developer will be
at a loss to explain just why the code is written the way it is. The reason for
this is that the contextual knowledge (knowledge of why the code was ...