Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Templates of Technical and Functional Specs [closed]

So basically I am looking for good templates for writing both technical and functional specs on a project or work request.

What do you use? How deep do you get while writing the specs? Any additional general tips you could provide would be appreciated.

My company needs these badly. I work for a contractor and right now we do not use these documents at all.

EDIT: I have read Joel's take about Painless Specification, I really liked it, but are there any other opinions :)

like image 939
Mike Fielden Avatar asked Sep 09 '08 16:09

Mike Fielden


People also ask

What are functional and technical specifications?

A functional specification describes how a product will work entirely from the user's perspective. – It doesn't care how the thing is implemented – It talks about features – It specifies screens, menus, dialogs, and so on. A technical specification describes the internal implementation of the program.

What do functional specifications in a technical document include?

A functional specification is a formal document used to describe a product's intended capabilities, appearance, and interactions with users in detail for software developers. The functional specification is a kind of guideline and continuing reference point as the developers write the programming code.


2 Answers

On general tips;

We are implementing a process of

1) Business Requirements Statement (BRS)

2) Functional Specification

3) Technical specification

The BRS covers what the business problems are, and what the requirements are around solutions, testing, security, reliability and delivery. This defines what would make a successful solution.

The functional spec details what is needed, how it should look, how long fields should be, etc.

The technical spec details where the data comes from, any tricky code that may need to be considered.

The customer owns the requirements. The developers own the tech specs, and the functional spec is a middle ground. Testing is done against the tech specs (usually unit testing) then against the functional specs (usually system testing) and then against the requirements (UAT).

The important part of this (and we are struggling with) is that the developers still need to deliver to the functional spec, and the original business requirements. In reality the functional and tech specs are just there for clarity.

In short, my main tip is to first work out the process you wish to implement. Then seek agreement from all parties involved in your proposed process, then work on the templates to fit. The templates themselves are only are a small part of the change you want to make.

like image 75
Mark Nold Avatar answered Nov 07 '22 03:11

Mark Nold


Not a template, but Joel has written a couple of articles on writing a functional spec. He also has sample here.

like image 38
Galwegian Avatar answered Nov 07 '22 03:11

Galwegian