1. HOME
  2. ソリューション
  3. USDM 要件の抽出・仕様化・整理 の方法

USDM 要件の抽出・仕様化・整理 の方法

「要求」を抽出するにはどうしたらよいか?

ボトムアップから「要求」を作り出す

一般的な「要求抽出」のやり方としては、利害関係者へのインタビューや自社製品や競合他社の製品調査などが挙げられます。このようなやり方は"要求の源泉"からたどっていくという意味でトップダウンと呼ばれます。しかし、この方法では"あるべき姿"を一からあぶり出すことができる反面、今ある仕様を網羅することに対しては不安が残ります。

詳細な仕様がすでにある場合には、ボトムアップからスタートする方法も有効です。詳細な仕様からマインドマップなどの情報を整理する手法を使って仕様の背景にある「要求」を抽出していきます。

もし、仕様が書かれていない場合は既存資産から仕様を起こす作業を行います。詳しくは「XDDPによる派生開発」をご参照ください。

抽出した「要求」を基に既存システムや先行開発の担当者にヒアリングし、抽出した「要求」が正しいか、他に隠れた「要求」が無いかを確認します。

『USDM』を使用した「要件定義(要求定義)」を行うには、ヌケモレなく「要求」を抽出すること、「品質要求」を把握することが重要|ボトムアップから「要求」を作り出す

「品質要求」の重要性

制御仕様や機能仕様には、システムの機能的な動作に関することや設計制約などは記載されていますが、品質に関する要求は記載されていません。しかし、品質要求はその製品に対して人が持つ印象に大きな影響を与えるため、品質要求を把握することはよい製品を開発する上でとても重要なことです。

品質要求には使いやすさなどの製品のユーザに関係する品質と保守性などの開発者に関係する品質があります。

ユーザに関係する品質はセールスからの要望やユーザクレームの情報等があるため重視されやすいのですが、開発者に関係する品質は見落とされがちです。しかし、開発者に関係する品質要求は、開発の効率や工数に大きな影響を与えるので、良い製品を作ることができる組織を維持するためにはこれらの要求も定義しなければなりません。

『USDM』を使用した「要件定義(要求定義)」を行うには、ヌケモレなく「要求」を抽出すること、「品質要求」を把握することが重要|「品質要求」の重要性

頑張ってるけど、ちっとも楽にならない…何で?

すぐに成果を出すために頑張ってるけど、自前ではもう限界

効果的だろうけど高額なコンサルには手がでない…

あなたに合う一番最適な解決方法を
エクスモーションがご提案いたします。

「要求」を仕様化するにはどうしたらよいか?

「仕様」は開発者への作業指示

「仕様」とは前述の通り「要求」を実現するためのシステムの具体的な動きや制限を表したものです。

これは開発者への「どのように作るか」という作業指示と言い換えることもできるので、開発者が設計・実装するのに十分な詳細度で記載する必要があります。

下図はクルーズコントロールシステムの「要求」と「仕様」の例を表したものです。システムの「目標スロットル開度を算出」という要求の具体的な実現方法として、「目標加減速度と実スロットル開度を用いて2次元テーブルから目標スロットル開度を決定する」という「仕様」を導出しています。

【上位要求】対象が提供すべき機能・サービスの概要:メインSWが押されたらその時点の走行速度で定速走行を行う、▲▼SWが押されたら、定速走行の速度を調整する【下位要求】機能・サービスを実現するたえに必要な振舞いの記述:メインSWが押されたことを認識する、現在の速度を取得し、範囲内であれば希望速度として設定する、希望速度から目標スロットル開度を算出、その値になるようにモータを駆動する【仕様】振舞いを実装する際の作り方の指示:現在の速度と希望速度の差を計算して、その値から目標加減速度を決定する、目標加減速度と実スロットル開度を用いて2次元テーブルから目標スロットル開度を決定する

仕様のヌケモレを防ぐには

「要求」を基にして「仕様」を作成しても、ただ思いついた「仕様」を書いていくというやり方では「仕様」のヌケモレを防ぐことはできません。

作成した「仕様」をレビューすることでヌケモレを検出する方法も有効ですが、レビューは多くの工数を必要とする手法であり、レビューだけでヌケモレを防止するのでは効率的とはいえません。

仕様を作成する段階でヌケモレを防止する仕組みを導入すれば、最初から品質の高い「仕様」を作成することができ、レビュー工数も削減することができます。

ヌケモレを防止する仕組みとしては、時系列分割、構成分割、状態分割、共通分割という思考のフレームワークを用いることが有効です。これは、「要求」から「仕様」を導出する過程で、例えば「構成の視点で要求を分割するとどのような仕様が導出できるか?」と考えることで、適切な「仕様」を導出する手法です。

これらのフレームワークは「仕様」を導出する場合だけではなく、上位要求から下位要求を導出する場合にも用いることができます。

さらに、このように導出した仕様からテストシナリオを抽出してテスト仕様書を作成することで、テストの段階でもヌケモレを防止できるというメリットもあります。詳細は「要求仕様書とモデルからテスト仕様書を作成」をご覧ください。

「仕様」のヌケモレを防ぐには【構成分割】時間的な順序を持たない「機能」や「構成」に着目して仕様を導出する【時系列分割】時間軸に沿った動作・処理に着目して仕様を導出する【状態分割】すでに見えている「状態」に着目して仕様を導出する【共通分割】複数の要求や仕様に共通する部分を切り出す

要求と仕様をUSDMで階層化して表現する

「要求」を抽出したり「要求」から「仕様」を導出したりしても、それらを適切にまとめることができなければ、開発に有効な成果物にはなりません。

適切に「要求」と「仕様」をまとめ上げる方法のひとつに『USDM』という方法があります。『USDM』は主に自然言語を用いて「要求」と「仕様」を階層化して整理するのが特徴です。派生開発プロセスの『XDDP』でも変更要求仕様の記述方法として採用されています。

「要求」と「仕様」を対応付けることで、その「仕様」がどの「要求」を実現するためのものなのか、全ての「要求」がヌケモレなく「仕様」まで具現化されているかを確認することができます。

また、『USDM』では機能仕様や制御仕様では扱わない保守性などの品質要求も記述することができるため、開発者への「設計方法に関する作業指示」も要求仕様書に含めることができます。

『USDM』を使用して「要求」と「仕様」を階層化する「要求仕様書」を作成することで、すべての「要求」がヌケモレなく「仕様化」されていることを確認|「要求」と「仕様」を「USDM」で階層化して表現する

YouTube動画|プロジェクト成功のための要件定義とUSDM

なぜその要求があるのか?システムでできることと、その結果得られることを区別する

コンサルタントによるUSDM(要件定義の技術)の解説動画第3弾、車の自動ブレーキを例に7分で解説

顧客が言うことは全部要求?開発者が知っておくべき要求の扱い方

この仕様の要求はどれ?そもそも要求が無いケースはどうする!そんな時の対処法を7分で分かりやすく解説

要求とは?仕様とは?現場支援系コンサルタントが教える要件定義のコツ

清水吉男氏が提唱する要件定義技法「USDM」は難しくない⁉ ビギナーから、導入を検討している方にまで、コンサルタントやさしく解説する、7分程の短編動画です

頑張ってるけど、ちっとも楽にならない…何で?

すぐに成果を出すために頑張ってるけど、自前ではもう限界

効果的だろうけど高額なコンサルには手がでない…

あなたに合う一番最適な解決方法を
エクスモーションがご提案いたします。

コンサルタントが教える成功の秘訣

シニアコンサルタント 高橋久憲

私が関与した開発現場では、開発のインプットとして具体的な制御方法について細かく記載したものしかありませんでした。そのため、仕様の妥当性が分からず、今の設計構造にも問題があるのではないかという不安を抱えていました。

そこで、細かい制御仕様を抽象化して「要求」を出し、その「要求」をブレークダウンする形で仕様を定義しました。『USDM』を使うことで、「要求」を満足するのに十分な仕様であることが確認でき、更に、設計構造を見直すこともできるようになりました。

良い「要求仕様」を作るためには、「要求」と「仕様」を切り離す必要があります。そのためには、制御仕様を抽象化して「要求」を得ることが必要です。しかし、長年細かな制御仕様に慣れている開発者の方には抽象化が難しいようです。その分野こそエクスモーションの強みです。ぜひ、お任せください。

高橋 久憲

要件定義・要求仕様(USDM)開発支援 関連サービス

「要求」の定義と仕様化の基礎的な方法を身につけて頂くため、『USDM』で「要求仕様書」を作成する演習を中心としたトレーニングを実施します。

EurekaBoxは、オンラインで学べる総合学習&実践プラットフォームです。このコースでは、これからUSDMを学んでいきたいという人から、実践している人に向けて、コンテンツを用意しています。USDMの基礎から応用までをわかりやすく解説します。

適用支援

要求仕様書作成サービス

「要求仕様書」を作成したいのに作成する工数が取れないといったお客様に向けて、エクスモーションが制御仕様書や機能仕様書などの既存資料の調査や開発者へのヒアリングを行って「要求仕様書」を作成します。
お客様自身で「要求」の定義や仕様化のスキルを身につけたい場合も、エクスモーションが作成した「要求仕様書」をお手本として学習できますので、技術導入の最初のステップとしてもお勧めです。

適用支援

要求仕様書作成手法導入支援サービス

「要求」の定義や仕様化に必要な知識や技術の教育を実施したり、開発プロセスに「要求定義」の工程を組み込むための検討をすることで、お客様の組織へ「要求」の定義と仕様化のための技術を導入するお手伝いをします。

当社がこれまでに培ったUSDMのノウハウに基づき、お客様がUSDMで作成された要求仕様書の内容を評価し、改善点をレポートいたします。

USDM関連コラム

要件定義・要求仕様(USDM)開発支援に関する記事を見る

他のソリューションを見る

最新コラム