第3回 要件定義書のテンプレートや書き方(後編)
システム開発を成功させる上で、上流工程、なかでも要件定義は非常に重要な意味を持ちます。そこで本コラムでは、初めてシステム開発を行う方でも理解できるように「要件定義とは何か」や「手戻りやQ&Aが多発しない要件定義書の書き方」を解説します。
多くの要件定義書に共通する項目は以下と考えています。
・製品やシステムの概要
・開発や導入の背景/目的
・製品やシステムに求める振る舞い
・実現すべき要件や機能
・実現すべき性能などの非機能要件
第2回で「製品やシステムに求める振る舞い」までの解説をしたので、第3回では「要件定義書の書き方(後編)」として、要件定義書のメイン部分である「機能要件、非機能要件の書き方」について解説します。
本連載の目的
本連載の概要 |
|
こんな方にお勧め |
|
皆さんの多くは、すでにwebや書籍で要件定義について調べられていると思います。その中でコツとして「WhatやWhyを大事にする」が良く挙げられ、「開発や導入の背景/目的」といった項目として既に多くの現場で取り入れられています。また抜け漏れに対しては「関係者としっかりレビューする」ことが有効とされ、こちらも多くの現場で実践されています。
にもかかわらず、多くの現場で
「要件が正しく伝わらない」
「設計担当からのQ&Aが多発し収拾がつかない」
「要件の抜け漏れに気づくのが遅く手遅れになる」
といった問題が発生しています。その原因は、
- 1つ1つの要件についてのWhyが書かれていない
- 要件が単なる一覧として書かれており、要件同士の繋がりが把握できない
の2点であることが多いように思います。つまり、「要件や実現手段について、引き出し方、考え方、記述方法のベストプラクティスがない」ことが原因なのですが、一部の業界ではその解としてあるやり方を採用しています。それを以降で解説していきます。
前回までで製品やシステムの概要や目的、そして求める振る舞いを定義してきました。これでようやく作りたいものの輪郭が明確になったので、いよいよその中身に関する定義を行っていきます。そのやり方、まとめ方として、前述の問題点の解決策にもなるUSDMという手法を推奨します。
USDMはIPA(独立行政法人情報処理推進機構)が発行している「ユーザのための要件定義ガイド第2版」でも紹介されている、要件定義、要求分析のプラクティスです。不具合が致命的なリスクになりかねない自動車業界を中心に広く採用されていることからも、USDMが有益であることが分かるかと思います。
上図がUSDMを用いて書いた要件定義の例ですが、USDMには以下の特徴があります。
- 要件を段階的に具体化していく
- 各要件単位で理由の明確化を促す
- テンプレートだけでなく書き方のマナーがある
これらの特徴を活かして要件定義を行うことで以下のメリットが得られ、前述の問題点が発生しづらい、質の高い要件定義書を作ることができます。
- 要件同士の繋がりや1つ1つの要件の理由/背景が分かるため、正しく伝わりQ&Aも多発しない
- 要件を段階的に洗い出していくため、抜け漏れが発生しにくい
Eureka Boxは厚生労働省が実施している助成金、人材開発支援助成金の適用対象となります。
システム開発に携わっている皆さんは、普段様々なテンプレートを用いて仕様書などのドキュメントを作成していると思います。しかし「書き方」までしっかりと定義されていることは少ないのではないでしょうか。特に抽象度が高く自然言語で書かれる要件定義書ではそれが顕著で、それゆえに多くの現場で苦労されている印象です。
その点、USDMは単なるテンプレートではなく、正確に要件や要求仕様を定義するための技法であり、書き方も定められています。つまりUSDMを使いこなすことで要件定義力が向上し、分かりやすく要件定義書にまとめられるようにもなります。
「USDMに興味が出てきたが、どう学習すればよいのか」と思った方は、まずはこちらのコラムでUSDMの基本を学んでみてください。
https://www.eureka-box.com/media/column/a19
昨今のシステムは大規模化が進んでおり、システム全体を1つの要件定義書で書ききることは難しくなっています。そのため、システムレベルとソフトウェアレベル、システム全体とその中の個別システム、といったように段階を分けて要件定義や設計を行うのが一般的ですが、USDMは様々なレベルで共通して利用できることも強みです。
そのため、USDMを開発に採用したり、エンジニアとして身につけることで
- システム担当とソフトウェア担当の会話がスムーズになる
- ソフトウェア設計からシステム設計への転身や配置換えがしやすい
といったメリットが得られる側面もあります。
エンジニアの独学・スキルアップに!他では学べない技術が充実
上流工程ソフトウェア開発技術を学ぶ!
Eureka Box(ユーリカボックス)
全3回にわたって要件定義や要件定義書について解説してきました。皆さんにとって腹落ちできる内容になっていたら幸いです。
オンライン学習プラットフォーム「Eureka Box(ユーリカボックス)」では要件定義の技術であるUSDMを始め、上流工程の様々な技術を学ぶことができます。無料体験でも本コラム以上の内容を学べるので、興味があればぜひ登録してみてください。
- 各連載コラムの全容、未公開コラムも一気にまとめて読める(一部動画解説付!)
- USDM(要求記述)、MBD(モデルベース開発)、システムズエンジニアリング、AWS Greengrass(新世代エッジエンジニアのための技術講座)など、ソフトウェア開発に関わる知識がギュッと凝縮、困った時のお助けアイテムとしても長期で活用出来る
- ソフトウェア開発に関わる無料お試しコンテンツも充実
デジタル人材が不足している今の時代、特にソフトウェア開発の現場では「上流技術」のスキルを持つ人が必要とされています。
そのスキルが効率よく身につくように設計されたのが「オンライン学習のEureka Box(ユーリカボックス)」
Eureka Boxの運営企業であるエクスモーションは、日本を代表する大手自動車メーカー、医療機器メーカー等、ソフトウェア開発の支援を実際に行っている企業だからこそ、現場で活かせる学びに焦点をあてたプログラムに構成されています。
「Eureka Box(ユーリカボックス)」を是非ご活用ください。