機能仕様書を書いていますか?
機能仕様書とは?
機能仕様書は、ユーザーの観点からプロダクトがどのように機能するかを記述したものです。 実装面のことは書きません。
よい機能仕様書とは?
Joel on Softwareに、Painless Functional Specificationというタイトルの一連の記事があります。 以前は日本語訳版もあったのですが、なくなってしまったようです。残念。 日本語訳では「やさしい機能仕様」と訳されていました。
- Painless Functional Specifications – Part 1: Why Bother? – Joel on Software
- Painless Functional Specifications – Part 2: What’s a Spec? – Joel on Software
- Painless Functional Specifications – Part 3: But… How? – Joel on Software
- Painless Functional Specifications – Part 4: Tips – Joel on Software
機能仕様書に書くこと
ドキュメントは、コミュニケーションの道具です。 暗黙的に伝わることは、わざわざ伝える必要はありません。 機能仕様書では伝えなくてはいけないことを書くことが大事です。 また、機能だけではなく、その機能の背景・目的・意図まで記載することが大事です。
もう一つは、抜け漏れがないようにするためのツールとして使います。 例えばネットワーク通信が必要な機能の場合、ネットワークエラーが起きたときの仕様を必ず記載するようにすることで、仕様としての抜け漏れが防止できます。
機能仕様書とユーザーマニュアルの違い
機能仕様書もユーザーマニュアルも内容的には同じものですが、機能仕様書はプロジェクト関係者、特に開発者に向けられたものであり、ユーザーマニュアルはユーザーに向けられたものであるのが異なります。 それぞれの読み手にとって、読みやすい構成・文体・表現である必要があります。
よい機能仕様書はプロダクトそのものである
機能仕様書は、プロダクトができる前からあり、その時点でプロダクトそのものを表しており、そして、プロダクトが終焉を迎えるその日まで存在し続けます。 したがって、機能仕様書とはプロダクトそのものだといえます。 機能仕様書を正しく書くことで、プロジェクトもスムーズに進みます。 「やさしい機能仕様」を読み、よりよい機能仕様書が書けるようになりましょう。