Non-functional requirements template

Posted by Robert Merrill on July 2, 2009 under Business Analysis and Requirements | Be the First to Comment

From Use Cases to User Stories, I’ve always struggled with how to treat the non-functional requirements. I haven’t tried it yet, but this article by Ryan Shriver on Qualities and User Stories contains something that looks like it just might work:

Name: A unique name for the quality

Scale: “What” you’ll measure (aka the units of measure, such as seconds)

Meter: “How” you’ll measure (aka the device you’ll use to obtain measurements)

Target: The level of performance you’re aiming to achieve (how good it can be)

Constraint: The level of performance you’re trying to avoid (how bad it can be)

Benchmark: Your current level of performance.

Ryan provided the following example for a navigation system:

Name: Navigation Start Up Time

Scale: Elapsed seconds from when Driver clicks Navigation icon until Navigation Main Menu appears (assumes satellite connection is present and working)

Meter: Stopwatch timed from user interface

Target: < 20 seconds <- performance of competing product

Fail: > 50 seconds

Benchmark [Build 1703; Oct 7; First start-up; Standard Environment]: 50 seconds

There was an interesting discussion between Ryan Shriver and Steven Gordon on the Agile Project Management Yahoo! Group about this technique, and whether the NFRs shouldn’t just be doneness criteria on all of the relevant user stories. Ryan’s point is that making them separate keeps them more visible.

Either way, at least now I have a structured way to write them down to go with the User Story Template for Event-Driven Users.

Add A Comment

You must be logged in to post a comment.