
36
THE LAWS OF SOFTWARE PROCESS
rational defense of this was as follows: we have to understand something
before we can automate it, and unless you can document it, you do not
understand it. I can certainly appreciate the reasoning behind this think-
ing, but I also think it is quite wrong. We routinely build systems before we
fully understand them. In fact it is only for 0OI and 1OI systems that we
could ever understand them entirely in advance. Building systems without
having complete information up front is the norm, not the exception. As I
will cover in a later chapter, it may be the only way we can build certain
kinds of systems, and the way in which ...