2010年05月11日

RFC2119的TODO管理

RFC2119というものがある。

Key words for use in RFCs to Indicate Requirement Levels.
(RFC の中で使われている、要件レベルを指定するキーワードについて)
http://www.ietf.org/rfc/rfc2119.txt

RFCでよく使われる、MUST(しなければならない)、MUST NOT(してはならない)、SHOULD(すべき)、SHOULD NOT(すべきでない)、MAY(してもよい)などの要件レベルを意味する言葉に関して定義した文書だ。多くのRFC文中で2119への言及はされているし、日本語訳版でも訳した後に括弧付きで(SHOULD)とか入れてくれているものもあるので、けっこう目にすることは多いと思う。

RFCを読んでいると頭にこれが染み付いて、たとえば洗剤が切れた時に「明日、仕事帰りにヨーカドーに寄って買いに行くべき(SHOULD)だな」とか、シャンプーが切れた際は「明日の夜までに必ず買いに行かないと(MUST)」とか、無駄に頭に英語が浮かんでくるようになる。

今日、試しに自分のタスクリストの各項目に、それぞれRequirement Levelsを書き込んでみたら、これがけっこうわかりやすくて使えるような気がした。使用したRequirement Levelsは以下。

・MUST(しなければならない)
・MUST NOT(してはならない)
・SHOULD(すべきである)
・SHOULD NOT(すべきでない)
・RECOMMENDED(推奨される)
・MAY(してもよい)
・OPTIONAL(オプション)

RECOMMENDEDとOPTIONALはSHOULDやMAYと被るけど、気分的に使い分けたい時がありそうなので入れてみる。

仕事でやらなければならないことは、たいていMUSTになる。ただし、やっておいた方が性能が上がるとかお客様評価が良くなるとかはSHOULDにしておく。プライベートでやることは買い物や料金の支払いなどの生活的な行為以外はほとんどMAYになる。Scalaの本を読むのはMAYになるし、男の知り合いとの酒の約束もMAYになる。ただし女性の知り合いとの約束はMUSTを割り振るべき(SHOULD)だと思う。

こういう割り振りをすると、自分が抱えているものの量と質が一目で分かって、けっこういいなぁと思った。特に多くのTODO管理では「MUST」ばかりを取り扱って、「MAY」(主にやりたいことが入る)が消えがちだったので、よりMAYに特化したTODO管理ができると趣味人としては嬉しいのではないかと思ってみたり。