In my company, we often need to write requirements for our customers. They are pretty much recommendations (i.e., we do not impose anything), but given a certain baseline, some are stricter than others: they can be mandatory, desirable or optional. To avoid misinterpretation, we use the terms defined by RFC 2119. This question focuses on the first definition:

  1. MUST This word, or the terms "REQUIRED" or "SHALL", mean that the definition is an absolute requirement of the specification.

So, in principle, either of the three words could be used exchangeably. I tend to use must, whereas some colleagues tend to favor shall. For example, I'd write

Every car MUST have a key.

and others

Every car SHALL have a key.

However, the latter (shall) resonates odd, unnatural and even pretentious to my ears. From other questions in the site and my previous experience, I get different ideas:

  • It sounds refined, but old fashioned.
  • As a question, it is just a proposition (shall we go later to...?).
  • It is seldom used, but in laws and other official documents.

So my question is: is there something that speaks in favor or against using one or another option (i.e. MUST or SHALL)? And slightly related: am I being too critical of this usage of SHALL in modern English?

  • 1
    Use must: shall can introduce ambiguity, so why take the chance you'll be misunderstood?
    – Robusto
    Jul 12, 2018 at 13:03
  • I'm curious how you can say you don't "impose anything," but then use the word must (or a synonym). In those cases where such a word is used, surely that means that something is imposed (or mandatory)? Jul 12, 2018 at 13:11
  • 1
    As for the actual question, shall can also be used in the sense of "Oh, I think I'll choose to do it this way today." "Shall I have dessert or not?" Must is the more affirmative in all cases as it signifies a lack of casual choice. Jul 12, 2018 at 13:13
  • @Jason I suspected that doubt could pop up. The point is that such requirements should be read as "If you want to achieve X, every car MUST have a key". X could be "sell cars in insecure countries", and the client could say "ok, I don't want that" without a problem. So, the document is not a law or a standard, but merely a recommendation.
    – guest_user
    Jul 12, 2018 at 13:17
  • 1
    Requirement specifications have their own jargon. See, for example, this document. It's probably best to follow the conventions of your particular field and organization.
    – J.R.
    Jul 13, 2018 at 1:22

4 Answers 4


The simplest way of indicating a requirement, as per the RFC, is the use of the word "must". The alternatives mentioned in the RFC exist to allow for slightly more natural English avoiding the repetition of the word "must"

"Every car MUST have a key, which shall be made of metal and is required to weigh less than 100g"

The RFC was trying to codify existing practice, in which words like "shall" were already in use. The trouble with shall is that it can indicate the simple future (usually with a first person pronoun). Saying "The car shall be delivered on 10 July" could be an obligation or it could be a rather badly phrased prediction (will would be better here). Technical specifications don't need to be great prose, so just use "must"

There are a couple of notes about your question: You say "They are pretty much recommendations (i.e., we do not impose anything)". The purpose of the terms "MUST" or SHALL in the technical language is to impose obligations. The car MUST have a key, or else you don't get paid. For recommendations you use SHOULD "The car should be painted blue" (unless there are good reasons not to.)

Also, you say that you are writing these "for customers". Normally it is the customers that write the specification. Do you mean "for suppliers" or are you actually talking about technical documentation, for which the specification language of RFC 2119 is not appropriate.

  • 1
    Thank you for your answer: it makes perfect sense to me. Trying to answer your questions: let's say my company knows about multimedia systems for cars. Enough to say "if you want a radio, a car MUST have speakers". We do not build the speakers nor the multimedia systems, but draft the requirements for one. It is generally expected that cars have at least a radio, and if they follow our concept, they'll have get speakers. But if, say, they deem it too expensive/cumbersome, our "MUST" is worthless. But it cannot be a SHOULD: if they don't have speakers, the rest of the system does not work.
    – guest_user
    Jul 12, 2018 at 14:08
  • 1
    (I guess you can say we write the requirements for the customer's suppliers, but that would be another topic.)
    – guest_user
    Jul 12, 2018 at 14:09
  • 1
    I feel this answer states opinions a bit too factually; for example, this statement 'The alternatives mentioned in the RFC exist to allow for slightly more natural English avoiding the repetition of the word "must"' is unsubstantiated, and while there is nothing wrong with always using must, their is also no real problem with using shall; the chance of misunderstanding is essentially nil, it is permitted in the RFC, and even assuming the opinion that it sounds worse is generally accepted, as you said, the goal is not to write prose. Aug 23, 2018 at 18:46
  • Re opinions vs facts: documents like this: plainlanguage.gov/guidelines/conversational/shall-and-must point to codification of these practices to a factual degree, in which the fact is that 'MUST' is the only unchallenged term to express obligation. This is obviously a narrowly scoped example; but in the US there is guidance and a wealth of legal precedent to prefer 'MUST' over 'SHALL'. Jan 24, 2019 at 20:11
  • I think it's better to use a word like MUST repetitively than changing words. Because the word is used not only for its meaning but as a keyword in case of "quality" documents. User can recognize easily the obligation if we always use the same word for the same case (I think I join @user110774 opinion)
    – Elo
    Jan 5, 2021 at 8:25

If you are writing informative documentation for customers then the technical language of RFC 2119 is not appropriate. The purpose of using "MUST" or "SHALL" is to create a legally enforcible contract.

If you are informing customers of what the will need to use your products, you don't need this kind of language. Instead you can write in simple clear language:

Your car will need quality speakers installed to benefit from our hi-fi radio. If you are not sure whether your speakers are up to standard, don't hesitate to contact our technical support on 723-3829.

This is a lot more customer friendly than "Your car MUST have quality speakers".


In accordance with Systems and software engineering — Life cycle processes — Requirements engineering ISO 29148: It is important to agree in advance on the specific keywords and terms that signal the presence of a requirement. A common approach is to stipulate the following. — Requirements are mandatory binding provisions and use 'shall'. — Non-requirements, such as descriptive text, use verbs such as ‘are’, ‘is’, and ‘was’. It is best to avoid using the term ‘must’, due to potential misinterpretation as a requirement. — Statements of fact, futurity, or a declaration of purpose are non-mandatory, non-binding provisions and use 'will'. 'Will' can also be used to establish context or limitations of use. — Preferences or goals are desired, non-mandatory, non-binding provisions and use 'should'. They are not requirements. — Suggestions or allowances are non-mandatory, non-binding provisions and use 'may'. — Use positive statements and avoid negative requirements such as ‘shall not’. — Use active voice: avoid using passive voice, such as ’it is required that’. — Avoid using terms such as ‘shall be able to’.


As it turns out, “shall” is not a word of obligation. The Supreme Court of the United States ruled that “shall” really means “may” – quite a surprise to attorneys who were taught in law school that “shall” means “must”. In fact, “must” is the only word that imposes a legal obligation that something is mandatory. 27 Jan 2019


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .