Painless Functional Specifications Part 2: What’s a Spec?

  • Joel Spolsky


I’ve been writing about functional specifications, not technical specifications. People get these mixed up. I don’t know if there’s any standard terminology, but here’s what I mean when I use these terms:

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. It talks about data structures, relational database models, choice of programming languages and tools, algorithms, etc.


Email Address Double Check Internal Implementation Relational Database Model Stereotypical User 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Joel Spolsky 2004

Authors and Affiliations

  • Joel Spolsky

There are no affiliations available

Personalised recommendations