Functional Spec Template

From Second Life Wiki
Jump to: navigation, search

The Functional Spec explains how a user interacts with a feature, and what results they can expect from the feature. Ideally, the UI will indicate what the user can expect to happen next. Use screenshots when appropriate.

General Description

What does this feature do?

Interface Requirements

How does the user use/activate this feature?

Performance Requirements

Will this feature affect:

  • Client FPS?
  • Simulator FPS?
  • Database?
  • Asset server?
  • Network load?
  • Any other system?

Design Constraints

  • Will this feature be unavailable on certain hardware?
  • Is this feature consistent (similar look & feel) with other features?
  • Is this feature well integrated (accessible when you need it, and in the place(s) you expect to find it)?
  • Is this feature discoverable (newbie friendly)?
  • Is this feature Safe, Predictable, and Responsive?

Feature Dependencies

  • Features that this feature will affect
  • Features that affect this feature

Security risks

  • Does this feature give access to something it should not?

Feature Rules

The rules of the feature, organized in order of precedence. (eg. Rule 1 supersedes Rule 2, which supersedes Rule 3)

Feature Usage

When appropriate, the feature will be laid out in chronological order, or in the order they are most likely to be used. (eg. Create a group, then add members, then deed land, ... kick members, leave group)