in reply to How to write technical specs ?
I like to start by simply writing down what a user will need to do and in what order.
I start with a list of everything that will appear on a given screen, basically a screenshot in plain text. This will tell you what has to happen before the screen loads (pull customer info, pull past transactions etc).
Next I make a list of all the options(actions) the user will have (write sale to db, conduct search etc).
At this point I can start figuring out the basic flow of the program and what functions I will need. Notice that through all of this I have not done anything technical. Now I should have enough info to start creating a technical spec for any language I need to work with.
Sometimes this will seem like an over simplified approach but it can expose some basic design issues/assumptions that I might not have thought of right away.
mr greywolf