第2回 要求仕様書はどこまで定義する?書き方、まとめ方とは。
第2回 USDMコラム
「要求仕様は実際にどのように定義して、どこまで定義すればいいの?」、「要求仕様、要件定義、機能仕様などいろいろあるけど違いがよくわからない」。そういった疑問に答えるため、要求開発の最初に覚えておくべき事柄や、要求開発の全体像を紹介します。
本コラムはUSDMの基礎から応用までを、数回に分けてわかりやすく解説していきます。
用語の整理
要件定義のフェーズでは、要望、要件、要求仕様など、様々な用語が使われています。企業によってそれぞれ定義があるかもしれませんが、本コラムでは以下のように用語を整理します。
まず、要求者、依頼者のニーズを「要望」とします。開発者、作り手が要望を受け取り、要求や仕様を抽出、整理して「要求仕様書」にまとめます。このとき、「要件」は「要求と仕様」が記述されたものであり、要求仕様書と要件定義書は同じ意味合いになります。
※引用 Eureka Box(ユーリカボックス)USDM学習 要求開発の全体像
https://member.eureka-box.com/products/usdm/categories/4464283/posts/14956436
開発プロセスにおける要求開発の位置づけ
要求には、システム要求、ソフトウェア要求といった様々なレベルがあります。レベル毎に要求開発を行い、要求仕様を定義します。
要求は設計のインプットとなり、設計からのアウトプットが次工程の要求になります。
様々なレベルの要求を定義する場合、上位階層の要求と下位の要求のトレースを取ることが重要になります。
※引用 Eureka Box(ユーリカボックス)USDM学習 要求開発の全体像
https://member.eureka-box.com/products/usdm/categories/4464283/posts/14956436
要求開発におけるUSDM
要求仕様化プロセスを工学的に定式化する技術として「要求工学」があります。要求工学の知識体系として「REBOK」(Requirements Engineering Body Of Knowledge)があり、要求開発は図のように、「要求獲得」、「要求分析」、「要求仕様化」、「検査と評価」と定義されています。
USDMは要求獲得の一部から要求仕様化までを扱います。
※引用 Eureka Box(ユーリカボックス)USDM学習 要求開発の全体像
https://member.eureka-box.com/products/usdm/categories/4464283/posts/14956436
Eureka Boxは厚生労働省が実施している助成金、人材開発支援助成金の適用対象となります。
要求獲得~要求仕様化までのプロセス
要求獲得フェーズでは、要求元の調査を行い、要求の範囲(スコープ)を定義し、ステークホルダを特定します。
要求分析フェーズでは、機能要求の分析、非機能要求の分析を行います。
要求仕様化フェーズでは、要求仕様を定義します。
詳しく見ると、まず、1の調査では、顧客から求められている要求や仕様、既存システムの仕様を整理します。次のスコープ定義では、開発対象となるシステムと外部システムの区切りを明確化します。そして、開発対象のシステムの利害関係者をステークホルダとして抽出し、ユースケースや構造化分析等の方法で、システムに求められる機能要求を分析、定義し、テンプレートを用いて非機能要求を抽出し、最後に、要求を満たす仕様を検討して、USDMの形式での要求仕様として記述します。
これが要求開発の流れです。
※引用 Eureka Box(ユーリカボックス)USDM学習 要求開発の全体像
https://member.eureka-box.com/products/usdm/categories/4464283/posts/14956436
要求仕様書と機能仕様書の違い
要求仕様書は、ユーザーが求めていることを「要求」とし、それに関連した「仕様」が書かれた文書です。新規に「作る」ときに要求仕様書となり、完成後に機能仕様書の形に整えます。
要求仕様書は、関係者間でSpecify(特定)できる状態で表現され、どのように作ってほしいかが記述されます。機能仕様書は、関係者は特定されておらず、一般的な記述で機能を説明するためのものです。保守の要求などは機能仕様書には含まれません。
※引用 Eureka Box(ユーリカボックス)USDM学習 要求開発の全体像
https://member.eureka-box.com/products/usdm/categories/4464283/posts/14956436
USDMを実際に学んでみる
今後の開発効率を上げるために実際に学んでみたいという方に、まずは無料でお試しいただけるオンライン学習プラットフォームを準備しています。
業務が多忙なエンジニアでも、すき間時間で効率的に実践的な学習が出来るEureka Boxは、エンジニアの現場の声から生まれたツールです。
ソフトウェア開発を改善するための開発技術を“知り・学び”“実践する”
超実践的オンライン学習プラットフォーム
Eureka Box(ユーリカボックス)
USDMを正しく理解した上で適用し、最大限の効果を得られるようスキルアップしたい方にもEureka Boxでの学習はお勧めで、無料会員登録だけでも以下の特典が受けられます。
- 各連載コラムの全容、未公開コラムも一気にまとめて読める(一部動画解説付!)
- USDM(要求記述)、MBD(モデルベース開発)、システムズエンジニアリング、AWS Greengrass(新世代エッジエンジニアのための技術講座)など、ソフトウェア開発に関わる知識がギュッと凝縮、困った時のお助けアイテムとしても長期で活用出来る
- ソフトウェア開発に関わる無料お試しコンテンツも充実
まとめ
要求開発は、要求者や商品企画から要望を受け、作り手と合意できる仕様まで落とし込む工程です。
システム要求、ソフトウェア要求など、要求を階層化して定義し、それぞれのトレースを取ります。
要求開発は、要求獲得、要求分析、要求仕様化の流れで進めますが、USDMはその中の要求獲得の一部から要求仕様化まで扱います。
要求仕様書と機能仕様書の違いは、作る前か作った後かの違いです。要求仕様書には、作る前に、どのように作ってほしいかを記述します。
そしてUSDMは、どのように作ってほしいかを要求仕様書に記述する際のマナーです。
このようなメリットがあるUSDMを是非活用していただきたい為、少しでもご不明な点がありましたら、エクスモーションへお問い合わせください。