bell notificationshomepageloginNewPostedit profile

Topic : Re: Should one use the legal "shall" in requirements documents and specification documents? At least in the US, "will" has replaced "shall" in most every context, with the notable exception of the - selfpublishingguru.com

10% popularity

Several good answers here, the short answer is "yes", you should use "shall" in technical requirements documentation. As a Technical Requirements Analyst and Product Owner, I can add one piece that I do not see in some of these very good answers.

In Agile software development methodology, we often replace legalistic sounding language with language which is more conversational. This does not mean in any way that the requirements are less exact or stringent, just that they are often phrased somewhat differently.

For example:
"The address modal shall appear when the user activates the order button" might be replaced with a user story which sounds more like this:
"As a user, I need a way be sure the order is shipped to the correct address so that I can ensure my shipment gets to me."
The format for this is; As an X, I need Y, so that Z. This actually ensures that a lot of contextual information is included in the work item the developers pick up which is not normally included in classic use-case type requirements language.

We use what we call "user stories", "epics", and "themes" to elaborate requirements in agile development. They read more like a story (hence the name), so usually you don't use words like "shall" (although I have actually used "shall" in agile product requirements), but you absolutely must make sure that these user stories, epics, etc, are just as specific, testable, and verifiable as any classic use case. Even though you may not use "shall" very often in agile software requirements, things should be spelled out in such a way that they are absolutely explicit and "shall" might as well have been used.

If you are not writing requirements for an agile development process, then see the excellent answers above: requirements shall be verifiable, testable, and precisely defined, or software development projects go off track very quickly.


Load Full (0)

Login to follow topic

More posts by @Speyer920

0 Comments

Sorted by latest first Latest Oldest Best

Back to top