System Requirements Specification

The System Requirements Specification captures the top level engineering requirements in a design agnostic fashion.

Poorly written system requirements can hamper an entire project. Overly restrictive requirements place an undue burden on the engineering team. Overly loose requirements result in a device that does not meet the User/Business Needs and is not safe. And all types of requirements can be impossible to test. Not to mention just having too many requirements results in unnecessary paperwork, an increased risk of failure, and more testing. BSC has extensive experience striking this balance both for new products and legacy products. BSC can ensure you have the right requirements, and only the right requirements, giving you the fastest simplest path forward.

EFFECTS.jpg

The System Requirements Specification contains the top level engineering requirements and is implementation agnostic. For example, a self driving car would have the following system requirement: The vehicle shall be capable of seeing a 10 cm 5% reflective sphere out to 100m. The system requirement would not say: The vehicle shall use LIDAR. LIDAR is one way to achieve the technical requirement, but using LIDAR is an implementation choice and not a technical requirement. This document provides the team with clear technical requirements to focus progress towards. Elements included:

  • Introduction explaining the scope of the document

  • List of standards cited

  • List of other documents cited

  • System requirements with:

    • Unique identifiers

    • Implementation agnostic

    • Complete coverage of business and user needs

    • Complete coverage of risks (ie harm to the patient or user)

    • Clear testability

    • 1-2 sentences explaining the rationale for each requirement

    • Citation showing which risks or needs the requirement fulfills

This document generally goes through 2-3 rounds of review to allow for team feedback and build consensus. Well written system requirements prevent unnecessary engineering effort and minimize testing effort.