I am working on a new change for our system. This has been a rush job. All jobs are rush. But this one is really a rush. I started to think we were in trouble when a requirements analyst asked me for questions, then was unable to answer them. You can’t meet rushed schedules if you don’t know what you are doing. I decided to just go with some assumptions and run with them.

I knocked out a design document for my changes. This document assumed you already knew how the existing system worked. It also assumed that you knew what the new changes were about. My goal was to make sure a coder could read the design and immediately implement the thing.

A day before the customer was supposed to receive my design document, I passed it to some managers for review. One of the managers was new. He did not know what I was talking about in my design. Well yes, it was written for system experts. I did take the comments and reformatted my design. I wrote it from the viewpoint of a newbie.

Luckily I left the pseudo code section the same. That is the most important section. I got PL/SQL code in there that is pretty close to ready to compile. Now that does not mean you have to cut and paste my code verbatim. But if you know PL/SQL syntax, you will know exactly what you need to code.