Always All Ways

Apologies, Glances and Messed Up Chances

Agile Requirementsと「実施可能要件」

アジャイル開発で仕様をどこまで詰めるのか、あるいはどの程度詳細にドキュメント化すべきなのかというのは、よく議論になるポイントです。シンプル なWebアプリケーションなどであれば、カードや付箋に記述されたユーザーストーリーと受入条件で十分かもしれませんし、医療系のシステムで人命に関わる ようなものであれば、より詳細な仕様の記述や入念に作り込まれたプロトタイプが必要になるかもしれません。

この点について、Jeff Sutherland氏が知的財産権や特許などにおける「実施可能要件」("Enabling Specifications")を引き合いに出して説明する記事を書いています。
"Enabling Specifications: The Key to Building Agile Systems"

"Enabling Specifications"とはどういうことかというと、この記事で引用されているのを転載すると、

2-231 Obtaining Patent Rights § 2.07[6]
"A patent specification is enabling if it allows a person of ordinary skill in the art to practice the invention without undue experimentation."


ということになります。
日本では、特許法第36条第4項において、明細書の発明の詳細な説明の記載は、「その発明の属する技術の分野における通常の知識を有する者がその実施をすることができる程度に明確かつ十分に記載したもの」でなくてはならないとしています。

アジャイル開発における仕様のドキュメント化においても、この考え方を援用して適切なレベルの仕様の詳細化(これは文書化されないPOとの会話も含む)およびドキュメント化を行うことにより、ベロシティを極大化することができる(はず)というのがこの記事のポイント。
実際に、じゃあ、どれくらい書けばいいの?というところについては、非常にざっくりとした書き方ですが、メジャーな機能については3〜5ページくらいってところですかね。

このあたり、どこまで実際にドキュメント化するかという話については、元記事に対するコメント欄でのTobias Mayer氏とJeff Sutherland氏とのやりとりを参考にすると良いでしょう。