Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

We are currently writing functional and technical specifications in a two column format; summary sentence and technical detail. The details often refer to an appendix with diagrams, layout designs ect.

However I am struggling with what tense to write it in:

With past tense as if the work is done I struggle to show highlight extensions of exiting work. Future tense as in it needs to do X starts to sound like a to do list or Tense neutral very hard as it has either going to be done or is done.

To add further confusion this specification may be read by people who do not have English as a first language.

share|improve this question

5 Answers 5

up vote 4 down vote accepted

We've got plenty of that at my last place of work.

The product managers have chosen to use the present tense to describe what must be done, like:

The user sends an order. The system sends a confirmation message.

Unfortunately the description of the preconditions was also done in the present tense, like:

The user puts an item into the shopping cart and specifies the quantity.

This has caused a lot of confusion for me since it is not clear what already is and what is yet to come. I've tried to make them use any sort of a future tense but they never got to change. Personally, I couldn't get used to it in all my two years there. It just doesn't make any sense, sound like somebody hasn't got a mastery of the languages tenses.


Therefore:

  • Use a present tense for what already exists

  • Use a future tense for what must be done. Employ the worlds "should", "must", "will".

share|improve this answer
    
The important step to remember is revisiting the spec. Be sure to update the wording from future to present when it gets done. –  Ben Feb 18 '11 at 16:03

You may want to know what is the practice for writing RFCs.

This is RFC 2119: Key words for use in RFCs to Indicate Requirement Levels.

share|improve this answer
    
how does this answer the question asked? –  gnat Sep 21 '13 at 11:43

Present tense seems good to me.

  1. Precondition: Foo is in state X
  2. Operation: this and that happen
  3. Postcondition: Foo is in state Y

all of those are in the present tense.

Or if it is a "state of project"

  1. Version 10: has feature A, B, C and D

  2. Version 10.1: contains improvement to A. Fixes bug 1049 in B. Adds new feature E.

share|improve this answer

specifications are instructions. write them in the present tense. like this.

share|improve this answer

When I create designs for software I favor present tense, even if I create the designs before the software exists. Even after a software application is implemented from the design, the design is still relevant and important document. It's quite possible that a design document may remain relevant for longer period of time after software is implemented than before it is implemented.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.