External Specification
Project name:
Example
Owner:
Sum Body Else
Modification date: yyyy/mm/dd
   
Checkpoint documents: Other documents:
 
 

 

Description:

This  External Specification is created to describe the product from the user's perspective. The external specification is used to validate the product design with customers, as a basis for Customer Learning specifications, and to plan black box testing. The external specification can be a single deliverable or a combination of several deliverables. 
 
Target Customer Definition:

The project is targeted at all users everywhere.  It is espected to be used, broadly, as the basis for all future lifeforms.  The customer benefits will be that:
 
Product Description:

Product Overview 
Provide a brief description of what the tool does and why someone would use the tool.  Create the descriptions in user terms.  (This section might be co-authored with someone in Marketing.)  New products should provide a list of features/functionality.  Existing products that are being modified should provide a list of new features, changed features, and deleted features.  There should also be a high level user tasks list.

The foundation of blah is blah blah which means that blah blah.  Some specific features include:

  • Ability to blah blah
  • Ability of blah blah
Use Model and use scenarios/use cases
What are the high level user interaction with the product.  Describe the user interaction model with the product.  Identify and document the primary use scenarios/use cases which include frequent and/or important tasks. 

Product interaction and dependencies
Describe high level product interactions with other products.  Describe high level product dependencies.
 
User Interface Aspects:

Create descriptions in user terms from a task point of view.  Make the descriptions sufficiently detailed that they can be used for online help. 

Main window and dialog boxes (new, removed, modified)
Screen shot or hand drawn prototype of the main toolface and dialog boxes (evoked from menus or buttons).  Label and description of each menu pick, fields, buttons, etc.

Error handling
Description of error warning and information dialog boxes.  Proposed dialog box text should be specified.  General strategy for handling runtime errors. 

Performance-related User Feedback
Describe type, wording and appearance of user feedback (e.g. dialog boxes, hourglasses, progress indicators, etc.)

User Options, Customizations, and Resources
Describe options, customizations available through the UI.  Describe options, customizations available thru non UI.  Describe Resources available.  Describe default behavior and values.  Describe environment variables available. 
 
Task Descriptions:

Create descriptions in user terms
Describe the User Tasks, give step by step instructions for each task.  List all prerequisites for each task. 
 
Defects:

List defects that will be fixed.
List defects that might be fixed depending on available time.
List defects that will NOT be fixed.
 
Tools:

The blah blah is blah blah which means that blah blah. 
 
Command Line Interfaces:

Command line options ... blah blah

Error handling
Description of error and warning mechanisms.  General strategy for handling runtime command line errors. 
 
Application Programming Interfaces:

Any API information that customers or the field may access (that is External rather than Internal information).

Error handling
Description of error and warning mechanisms.  General strategy for handling runtime API errors. 
 
Special Information:

Special Installation/Configuration/Administration requirements 
blah blah

Troubleshooting and helpful tips
blah blah

Migration information
For example, you must run a script.
 
Documentation:

Printed documentation and learning products
blah blah

On-line help and learning products
The blah blah is blah blah blah blah.  

Installation and configuration
The blah blah is blah blah blah blah.  
 

  Template Modified: 19990716           Template Author: Tim Mikkelsen/Jan Ryles