Back to: Nonfunctional Requirements

Nonfunctional Requirements Course Roadmap

Lesson Overview

Hello and welcome.

I am excited for the opportunity to help you master the nonfunctional requirement categories presented in this course.

This course answers a question that is critical to the success of any system development project, “How can the system’s nonfunctional requirements best be defined?”

Simply defined, while functional requirements describe what the system must do, the nonfunctional requirements define how well it must do it.
Nonfunctional requirements embody important elements of quality for software systems. A thorough specification of nonfunctional requirements creates systems (whether developed or purchased) that:

  • Have more realistic time and cost estimates
  • Have few errors
  • Result in greater user value and satisfaction
  • Are more comprehensive
  • Better fit business needs

This course includes and extends the content presented in my book, The Quest for Software Requirements, which applies a user-focused classification for various categories of nonfunctional requirements. The intent of the book and this course is to bring greater consistency, clarity, and understanding to the term nonfunctional.
In the lessons presented in module 1, we’ll explore:

  • A definition of nonfunctional
  • Factors that contribute to difficulties in understanding nonfunctional requirements
  • A user-focused approach for classifying nonfunctional requirement categories
  • The anatomy of a nonfunctional category
  • How to reduce the risk of missing these vital requirements

In module 2, I’ll introduce you to a case study based on a real project. I’ll give you an overview of the project, and provide an explanation of a current-state relationship map, as well as a project-scope relationship map. Example nonfunctional requirements for the case study project will be shared in later course modules.

The nonfunctional classification presented in this course comprises three software user needs:

  • Operation, wherein the user is concerned with using the functionality of the system
  • Revision, wherein the user is concerned with changing the source code or data that drive the system
  • Transition, wherein the user is concerned with managing the upkeep of the software

We’ll discuss these three groups of nonfunctional requirement categories in module 3, 4, and 5 respectively.

Over years of mentoring and coaching on business analysis and requirements management practices, I have repeatedly found that people struggled in formulating nonfunctional requirements. When asked to review a requirements specification, I found the functional requirements section to be quite lengthy (not necessarily a metric of quality, mind you), while the nonfunctional requirements section was, far too often, blank or empty.

This course is my personal quest to help people understand these hard-to-identify and overlooked nonfunctional requirements. My experience has shown that an increased knowledge leads to people asking more questions that elicit nonfunctional requirements. This generally results in a significant reduction in missed requirements. The goal is to define better requirements (helping project teams identify requirements that they otherwise wouldn’t have), which contribute to better systems.

To maximize your on-demand learning experience, I encourage you to print the downloadable materials provided. These supplemental materials align with the visuals presented in the training videos and can improve your comprehension. Furthermore, the printed materials serve as quick-reference job aids following the training, which can improve your retention.

Thank you for choosing Requirements Quest for your requirements training needs. I look forward to helping you simplify and master nonfunctional requirements.