Elizabeth D. Rather posted this to the comp.lang.forth
Actually, when I was working with Chuck he usually wrote it three times:
1. "It can't possibly be that complicated." Very simplistic model that
captures the essence of the problem but ignores a lot of the requirements.
2. "But you have to handle these other situations..." Complications get
added to handle more and more of the requirements, encrusted on the original
3. "Ah, now I see what we need." Starting over from scratch, he can now
build a clean implementation that accomodates all the requirements from the
Unfortunately, many projects end up with an extended Stage 2, and never
progress to Stage 3. Chuch always had the courage to grasp when it became
necessary to abandon Stage 2 and start over, even though it often caused
consternation for the customer!