Saturday, March 05, 2005

Programming for the two big I’s (5) - We had a spec; why did we also need a design?

(This is the fifth installment of a story that started here.
The next episode is here.)

The spec states what a program will do. For example, it might state that a GUI screen will have a "Run" button you can press to play the current video. The design describes how the software will be organized under the hood.

There is often little relationship between the spec structure and the design structure.The spec might describe a hundred error messages and when to show them to the user. The programmer might design one routine to display all these messages. The spec might have one sentence explaining how the user moves from one screen to another. The programmer might design dozens of routines to make many different screen transitions appear to be similar.

In this case, I had a four week deadline to make part of this software run. The code I wrote to meet the first deadline might be a useless a foundation for the rest of thc code. I hoped to be very lucky.

No comments: