勘と経験と読経

略すとKKD。ソフトウェア開発やITプロジェクトマネジメントに関するあれこれ。

RFCスタイルの優先順位リスト

主に自分向けのメモ。「ゼロトラストネットワーク ―境界防御の限界を超えるためのセキュアなシステム設計」で紹介されていたRFC2119の話が有益そうだったので少し調べてみたという話。

RFCスタイルの優先順位リスト
RFCドキュメントは、インターネットインフラストラクチャに対して提案される変更の共通語である。これらのドキュメントは、そのドキュメントで提案されている変更をすばやく理解できるようにするために、言語と構造が明確に定義されている。この言語の要素のうち優先順位の説明において非常に有益なのは、RFC2119で定義されている標準用語であり、MUST/MUST NOT、SHOULD/SHOULD NOT、MAY/MAY NOTなどの用語が定義されている。

これまで自分は無自覚にMUSTとかSHOULDとかを文書に書き散らしてきたような気がする。反省。

MoSCow分析とのギャップ

アジャイル開発プロジェクトなどではMosCoW分析を使うことも多いと思うけれど、MosCowではRFC2119には登場しない「Could」「Won't」が登場する。

RFC2119のMAY=MosCoWのCould、と理解しても良いのだろうか

SHOULDの扱い

自然言語なので明確なものではないのだろうけれど、SHOULDの定義には若干注意が必要な気がする

3. 「する必要がある( SHOULD )」 English
この語句もしくは「推奨される( RECOMMENDED )」という形容表現は、 特定の状況下では、特定の項目を無視する正当な理由が存在するかもしれませんが、 異なる選択をする前に、当該項目の示唆するところを十分に理解し、 慎重に重要性を判断しなければならない、ということを意味します。

Shouldは「したほうがいい」という解釈をこれまでしてきたのだけれども、RFC2119の表記はもう少し強い印象がある。ニュアンス的な問題だろうか。