| ▲ | throwaway173738 3 hours ago |
| A spec consists of three different kinds of requirements: functional requirements, non-functional requirements, and constraints. It’s supposed to fully describe how the product responds to the context and the desires of stakeholders. The problem I see a lot with Agile is that people over-focus on functional requirements in the form of user stories. Which in your case would be statements like “X should do…” |
|
| ▲ | hgomersall 2 hours ago | parent [-] |
| I don't necessarily disagree, but can you give an example of a non functional requirement that influences the design? |
| |
| ▲ | Jtsummers 2 hours ago | parent [-] | | I always find the distinction between the two fuzzy (because many non-functional requirements can be argued to be functional requirements) but the list here is useful for the discussion: https://en.wikipedia.org/wiki/Non-functional_requirement Take things like "capacity". When building a system, you may have a functional requirement like "User can retrieve imagery data if authorized" (that is the function of the system). A non-functional requirement might be how many concurrent users the system can handle at a time. This will influence your design because different system architectures/designs will support different levels of usage, even though the usage (the task of getting imagery to analyze or whatever) is the same whether it handles one user at a time or one million. | | |
| ▲ | hgomersall an hour ago | parent [-] | | Yeah, that aligns with my thinking that such a view has rather a narrow view of a "function". |
|
|