Short description of what the feature is supposed to do or what technical aspect this spec is supposed to cover.
Background
If relevant, use this section to describe: previous work done in Scooby, existing standard we want to implement, user data... Anything relevant to understand why we're considering this as a worthy goal.
Use Cases
Which user problem is this solving? Real life examples...
%SECONDCOLUMN%
Definition
Requirements
List project requirements here (performance, market requirements, other...)
Assumptions
If relevant, list assumptions and hypothesis here (dependencies for instance).
High Level Decisions
Give an outline of the main decisions weighting on the design (use of such and such technology for instance).
Terminology
If necessary, list here the jargon, neologism, acronyms and others specific to this project. Use the dictionary style for this:
Jargon a
Definition of Jargon a
Jargon b
Definition of Jargon b
%ONECOLUMNLAYOUT%
User Interface/Interaction
This section must be completed by the UI Designer. Screen shots are welcome.
Use bullet points when providing lists.
It's easier to read that tighly knit verbose paragraphs...
Second column
Technical Design
This section must be completed by the developer. Schematic of any kind (class hierarchy, object relationship) is welcome.
Special Considerations
QA / Test
Any info that will be useful for testers. Special cases or scenarios to consider.
API / Developer Platform
If relevant, how the feature will be made accessible to coders?
Security
Aspects of the design dealing with potential security issues.
Internationalization / Localization
Things to keep in mind for Internationalization. Caveats known at design time.
Accessibility
UI must be accessible (Section 508).
Build / Install
New info that coders need to know introduced by that feature. List here known dependencies in particular.