Design


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.

More Requirements


I have to roll out a new feature for our customer's system really soon. Since everything is rushed on this job, the requirements analysis team needed to step it into high gear. I was required to attend a few meetings. In the kickoff meeting, some ideas were thrown around. Then the floor was open to questions. I asked some details about the main flow of the feature. The result was that I was asked to go research the answers for the details. WTF?

After getting assigned some action items based on my questions, I clammed up. I am the developer on the project. I write, test, and roll out the code. Requirements analysis is not my responsibility. I don't have the time to take on a second job on the project. Somehow the requirements phase is being run in a backwards way.

Since I have to actually produce the features, I will need some requirements analysis done. However I can do that on my own when I am rocking and rolling on the design phase. There is no reason for me to do all the work, but have to slow down for some requirements analysts to just try to get me to do all the work for them. Not good.