DEV Community

Frank Font
Frank Font

Posted on

Every Requirement is a Functional Requirement

When developing software there is no such thing as a "Non-functional requirement". All requirements are functional requirements.

Agree? Disagree?

Top comments (3)

Collapse
 
lexlohr profile image
Alex Lohr

Documentation (both for the user and the development process), conformity to certain standards and practices during the development, and deadlines are examples for requirements that have nothing to do with the functionality of the software.

Those are just the examples that came to mind after thinking a few seconds about it. So yes, I think there are non-functional requirements.

Collapse
 
frankfont profile image
Frank Font

Documentation outside of the software is clearly a non-functional requirement, so I agree with you there!

Can you think of some examples of requirements many label as non-functional that are really in the software?

Collapse
 
lexlohr profile image
Alex Lohr • Edited

Code obfuscation (should not change the functionality, becomes inherent part of the distributed code) is the first that comes to mind.

That being said, your question implies that documentation would not be part of the software. I believe you confuse software (the product) with code (the means that makes it run on the computer).