第2回 要件定義書のテンプレートや書き方(前編)
システム開発の成功において、上流工程、なかでも要件定義は非常に重要な意味を持ちます。そこで本コラムでは、初めてシステム開発を行う方でも理解できるように「要件定義とは何か」や「手戻りやQAが多発しない要件定義書の書き方」を解説します。
第1回では「要件定義とは何か」を解説しましたが、次は具体的な「要件定義書の書き方」を前後編に分けて解説します。
本連載の目的
本連載の概要 |
|
こんな方にお勧め |
|
第1回のコラムで、要件定義は「どういう製品やシステムを作りたいのか」を定義し、次の設計工程の入力情報にすると説明しました。この要件定義の成果物となるのが要件定義書です。
要件定義書にどんな内容をどこまで書くかは会社や開発の形態などにより多少変わってきますが、
・製品やシステムの概要
・開発や導入の背景/目的
・製品やシステムに求める振る舞い
・実現すべき要件や機能
・実現すべき性能などの非機能要件
といった項目は共通すると思います。そこで本コラムでは上記項目について、書き方やポイントを解説していきます。
「この要件定義書で対象とする製品やシステムは何か」
「なぜそれが必要か」
「ユーザにどんな価値を提供したいのか」
など「何を作りたいか」を宣言する部分です。要件定義を始める前にまず書く部分であり、要件定義の入力情報になります。「何を作りたいか」が曖昧になると、当然ながら機能要件、非機能要件を漏れなく正しく洗い出すことができません。
「この情報を基に要件定義して」と言われても困ってしまいますよね?こういった「テンプレートをただ埋めた」記述をしても、ほとんど何の情報も得られません。
例えば上図のように背景や目的の解像度を上げてやるとビジョンが明確になり、「目的を達成するためにどんな要件が必要か」を引き出しやすくなります。「背景や目的をできるだけ具体的に書く」「ステークホルダー全員が同じゴールをイメージできるようにする」ことを意識して書きましょう。
Eureka Boxは厚生労働省が実施している助成金、人材開発支援助成金の適用対象となります。
作りたいものの概要、背景、目的は前述の通り定義しました。ではこれで要件定義や設計を進められるでしょうか?旅行販売システムの例で言えば、「窓口業務がどのようなもので、そのなかでシステムをどう使いたいのか」が分からなければ、全く見当違いなシステムを作りかねませんよね。そこで、ユーザやお客様が製品やシステムをどう使いたいか、つまり「振舞い」を具体化するのがこの項目です。
「振舞い」は頭の中でイメージできることが重要です。ゆえに箇条書きなどの文章ではなく、図解を推奨します。使用する図としてはUMLやSysMLのユースケース図、アクティビティ図、シーケンス図などが考えられます。ここではアクティビティ図をベースとした書き方(スイムレーン図や業務フロー図と呼ばれます)をご紹介します。
アクティビティ図の表記法(開始/終了、アクション、分岐など)に従うことで表記揺れを防ぎつつ、スイムレーン(上図のお客さま、窓口販売員、販売システム)やアイコンを用いています。
UMLやSysMLに慣れている場合はアクティビティ図やユースケース図などを用いてモデル化することが望ましいです。UMLやSysMLに慣れていない場合は、上図のようなモデルを参考に自分で工夫して描いてみると良いと思います。。そのあたりは関係者のバックボーンを踏まえながら、柔軟に対応できると良いと思います。
要件定義に限らず、図解は上流工程のエンジニアにとって重要な技術の1つです。オンライン学習プラットフォーム「Eureka Box (ユーリカボックス)」ではUML/SysMLはもちろん、問題の本質を理解するためのドメインモデリングについても書き方を身につけることができます。
上流工程の重要技術である図解(モデリング)の習得に、Eureka Box をぜひご活用ください。
※引用 Eureka Box(ユーリカボックス)ドメインモデリング学習「モデル活用による課題解決」
https://member.eureka-box.com/products/2-49460744-024a-4a9a-beff-1ea8e2af8e71/categories/2152531673/posts/2166321094
エンジニアの独学・スキルアップに!他では学べない技術が充実
上流工程ソフトウェア開発技術を学ぶ!
Eureka Box(ユーリカボックス)
今回は要件定義書の書き方(前編)として、開発する製品やシステムの輪郭を定義する3つの項目について解説しました。次回、要件定義書のテンプレートや書き方(後編)では、機能要件、非機能要件の引き出し方、書き方について解説します。
デジタル人材が不足している今の時代、特にソフトウェア開発の現場では「上流技術」のスキルを持つ人が必要とされています。
そのスキルが効率よく身につくように設計されたのが「オンライン学習のEureka Box(ユーリカボックス)」
Eureka Boxの運営企業であるエクスモーションは、日本を代表する大手自動車メーカー、医療機器メーカー等、ソフトウェア開発の支援を実際に行っている企業だからこそ、現場で活かせる学びに焦点をあてたプログラムに構成されています。
「Eureka Box(ユーリカボックス)」を是非ご活用ください。