VCAP5-DCD Study – NonFunctional Requirement or Constraint

Something I’ve been really struggling with in my DCD prep is understanding how to determine what are Requirements, Risks, Constraints and Assumptions.

Specifically, how do you determine Non-Functional Requirements from Constraints.

For example, if a project states that the existing kit should be re-used, is that an NFR or a Constraint?

We are required to re-use the kit, but it constrains the design.

I asked TheSaffaGeek about this via twitter (@GreggRobertson5) and he directed me to this discussion. This helped somewhat, although I’m still a little fuzzy on the matter.

Jason Langer’s document package includes the PDF “Functional versus Non-Functional Requirements” which lists the following as Functional Requirements:

  • Business Rules
  • Transaction corrections, adjustments,cancellations
  • Administrative functions
  • Authentication
  • Authorization –functions user is delegated to perform
  • Audit Tracking
  • External Interfaces
  • Certification Requirements
  • Reporting Requirements
  • Historical Data
  • Legal or Regulatory Requirements

and the following as Non-Functional Requirements:

  • Performance – Response Time, Throughput, Utilization, Static Volumetric
  • Scalability
  • Capacity
  • Availability
  • Reliability
  • Recoverability
  • Maintainability
  • Serviceability
  • Security
  • Regulatory
  • Manageability
  • Environmental
  • Data Integrity
  • Usability
  • Interoperability

So to me, that would make it pretty clear that “Re-use Existing Hardware” is neither a Functional, nor a Non-Functional Requirement, but a Constraint.



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s