Information-technology Promotion Agency, Japan
Software Reliability Enhancement Center
「ユーザのための要件定義ガイド
~ 要求を明確にするための勘どころ ~」
のご紹介
独立行政法人情報処理推進機構(IPA) 技術本部 ソフトウェア高信頼化センター(SEC) システム化要求WG主査 ((一社)アドバンスト・ビジネス創造協会 専務理事) 岩佐 洋司2017年3月10日
Agenda
1.システム化要求WGの取り組み経緯
2.「ユーザのための要件定義ガイド」の解説
(各章の紹介と解説)
はじめに 第1章 システム開発の現状と課題 第2章 経営者/プロジェクト責任者が考慮すべき 要件定義のポイント 第3章 昨今直面している要件定義課題を 解決するための勘どころ 第4章 要件定義成果物の品質向上 第5章 事例編 おわりに 付録3.さいごに
1.システム化要求WGの取り組み経緯
(1) 要件定義の現状
(2) システム化要求WGの委員
(3) WGでの検討スケジュール
(1) 要件定義の現状
工期遅延理由の分析 工期遅延理由は全体の55%が要件定義の問題である。 残りの45%がプロジェクト管理の問題の工期遅延である。①システム開発プロジェクト失敗の5割は要件定義に起因
ガイド 図1.3 (出典)JUASソフトウェアメトリックス調査2016をもとに加筆(1) 要件定義の現状
②要件定義の不具合は後工程(その多くは詳細設計)で指摘
システム開発の大幅な工数(開発コスト)増加や工期(納期)遅延 ➡後戻りさせない対策追及が必要 企画 システム化 計画 要件定義 テスト (統合、総合) プログラム 作成 詳細 設計 基本 設計 運用 利用 設計段階の 手戻り 総合テスト段階 の手戻り 運用段階の 手戻り 件数比 85% 件数比 10% 件数比 5% 修正負荷 小 修正負荷 中 修正負荷 大 実 行 手 戻 り 手 戻 り 手 戻 り 手 戻 り 手 戻 り 実 行 ガイド 図4.1(1) 要件定義の現状
③要件定義工程の不具合を後工程で発見した場合の手戻りコスト
サーバ系、オンラインシステムのケース
(ジャステック社資料) 要件定義の不具合が、後工程で発見された場合の手戻りコスト ・詳細設計で発見の場合 ----- 約6倍 ・プログラム工程で発見の場合 ----- 約9倍 ・システムテスト工程の場合 ----- 約13倍 パッケージ設計、プログラム設計は、詳細i設計に該当 演習で学ぶソフトウェアメトリクスの基礎
(リンダ・M/ライルド、M・キャロル・ブレナン著 野中、鷲崎訳) 日経BP社 7.6 工程ごとの欠陥除去コスト効率 要求/設計における修正コスト ----- 1倍 コーディング工程における修正コスト ----- 5倍 正式なテスト工程における修正コスト ----- 25倍 出荷後における修正コスト ----- 250倍 ガイド 5.7(2) システム化要求WGの委員/
(3) WGでの検討スケジュール
主査 岩佐 洋司 (一社)アドバンスト・ビジネス創造協会 委員 太田 忠雄 (株)ジャステック 後藤 将夫 (一社)アドバンスト・ビジネス創造協会 坂巻 雅貴 東京ガス(株) 崎山 直洋 (株)エヌ・ティ・ティ・データ 桜井 新 新日鉄住金ソリューションズ(株) 清水 淳史 セイコーエプソン(株) 高橋 康介 大日本印刷(株) 高橋 実雄 サントリーシステムテクノロジー(株) 中村 伸裕 住友電気工業(株) 藤本 礼久 全日本空輸(株) 森田 功 富士通(株) 事務局 山下 博之 (独)情報処理推進機構 山本 英明 (独)情報処理推進機構 村岡 恭昭 (独)情報処理推進機構 ・ユーザ企業の方に多数 出席いただき、ユーザ 企業の意見を集約 ・ユーザ企業とベンダ 企業間で意見を摺り 合わせ 2016年3月以降、毎月一回、計10回の会合を開催2.1 ガイドの構成
(1)目次
はじめに
第1章 システム開発の現状と課題
第2章 経営者/プロジェクト責任者が考慮すべき
要件定義のポイント
第3章 昨今直面している要件定義課題を
解決するための勘どころ
第4章 要件定義成果物の品質向上
第5章 事例編
おわりに
付録
2.1 ガイドの構成
事例編 経営者/ プロジェクト責任者 業務 部門 システム 部門 ベンダ 主なターゲット読者 第1章 要件定義の課題を解決するための勘どころ 要件定義成果物の品質向上 システム開発の現状と課題 第3章 第4章 業務要件 システム要件 業務要件 システム要件 ユーザ企業 ベンダ企業 第5章 第2章 経営者/プロジェクト責任者が考慮すべき要件定義のポイント 要件定義に対する意識を変える ○ ◎ ◎ ◎ ◎ ○ ○ ○ ○ ○ ○ ○ ○ ○ ◎ ○ ○ ○ ◎ ○ ○ ○ ○ ガイド 図1.6 に追記(2)本ガイドの主なターゲット読者
2.2 各章の解説 ~第1章~
1.1 システム開発の現状
1.2 日本のIT投資が抱える課題
1.3 要件定義を巡る課題
1.4 本ガイドの構成
第1章 システム開発の現状と課題
システム開発の現状、IT投資の現状とシステム開発の課題を概観
システム開発を巡る問題を整理
2.2 各章の解説 ~第1章~
(a) 分社化、ベンダ依存などの影響もあり、 業務部門、システム部門で既存システムを知っている人が減る。 (b) 要件定義を請負契約で実施している発注が未だに50%もある。 情報システム・モデル取引・契約ガイドでは、要件定義作業は 準委任としているが、この不確定要素の多い作業を請負契約で 実行していることが後々の問題を誘発。 (c) 要件定義の工数、期間比率が低いプロジェクトが多い。 要件をなかなか決められず、見切り発車するので、基本設計以降 で後戻りが発生する。 (d) 確定しないで後続工程に入る(完了基準不明確)⇒仕様変更多発 要件定義書をこまで詳しく書けばよいのかは、後続工程である 基本設計以降を分担する作業者の納得感で決まるが、この要件 定義書の検証については、曖昧なケースが多い。1.3 要件定義を巡る課題
(1) 要件定義を巡る実態
ガイド 1.32.2 各章の解説 ~第1章~
①ビジネス目的と施策が合致していない
②手段が先行し、「何のために」が理解できていない
③業務の複雑さが増している
④合意形成が取れていない
⑤膨らむ要求を抑えきれない
⑥要件定義書の不備が多い
(抜け、漏れ、曖昧、不完全、不整合などへの対策が不十分)⑦非機能要件を決めきれない
⑧要件定義の記述の粒度や深さの基準が不明、内容の評価ができない
⑨As-Isの分析、To-Beの可視化が不十分
⑩業務部門の参画、理解が不十分
⑪システム部門が要件を引き出せない
⑫体制、役割分担の不備での失敗
上記以外のプロジェクト管理、人材育成、新技術・新環境への
対応などの課題は、このガイドでは取り上げない。
ガイド 1.3(2) 課題項目
2.2 各章の解説 ~第2章~
2.1 当該システムを開発する妥当性を検討する
2.2 システム化の前に業務を分析・整理する
2.3 要件定義を確実に効率よく進める
2.4 決めるべきことは決めてから次に進む
2.5 ユーザとベンダの役割分担を考える
第2章 経営者/プロジェクト責任者が考慮すべき要件定義のポイント
・この章は、要件定義の重要なことを解説するとともに、
要件定義の前に、検討しておくべきことも記載している。
・特に経営者、プロジェクト責任者に、読んでいただきたい。
2.2 各章の解説 ~第2章~
2.4 決めるべきことは決めてから次に進む
要件定義工程で決めるべきことを決めるために、十分な工期、
工数を割り当てる
⇒現状は、要件定義の工期は20%、工数は10%
・工数は、今以上に増やし、要件定義で決められることは
すべて決めることが望ましい。
個人的には、要件定義の工数は20%程度を提案したい。
ガイド 2.42.2 各章の解説 ~第2章~
2.5 ユーザとベンダの役割分担を考える
(1)要件定義の契約基本形は準委任契約である
要件定義工程より請負(丸投げ)の場合は、 ・システム稼働後の欠陥(不具合)が多く ・ユーザ満足度も他の契約形態に比べて低い 後工程からの手戻りをなくすには(少なくするには)、 ・ユーザが主体性を発揮し、要件定義工程で決めるべきは決めることが重要となる ガイド 図2.6 表2.4 (出典)JUASソフトウェアメトリックス調査2012をもとに作成 (出典) 経済産業省:情報システム・モデル取引契約書 (2007 ・4)より作成2.2 各章の解説 ~第2章~
ガイド 表2.6(2)システムの効果を出す責任は業務部門である
⇒業務部門が、要件定義、投資効果に主管部門として取り組むことを提言
要件定義から運用の各段階における責任者と目標(表2.6)(3)仕様変更が生じた場合のことを考えての予算確保
⇒現状は、仕様変更が約10%あり、少なくとも10%程度の
バッファーの予算を確保することが望ましい。
2.2 各章の解説 ~第3章~
3.1 経営や業務に貢献するITシステムの構築
3.2 膨らむ要求のコントロール
3.3 業務の複雑性を軽減
3.4 要件定義工程からの非機能要件定義
3.5 多様化するステークホルダとの合意形成
3.6 現行業務やシステムの把握
第3章 昨今直面している要件定義課題を
解決するための勘どころ
2.2 各章の解説 ~第3章~
3.1 経営や業務に貢献するITシステムの構築
経営方針やビジネス目的との関係を明確にすべし 曖昧な目的を具体化すべし 曖昧な手段を具体化すべし 真の問題を捉えるべし3.2 膨らむ要求のコントロール
要件定義内のフェーズを 意識して要求をコントロールすべし2.2 各章の解説 ~第3章~
要求の漏れと過剰要求を是正すべし 定量化した要求量の中で要求を調整すべし3.3 業務自体の複雑性を軽減
管理対象のバリエーションを整理すべし 業務のバリエーションを減らすべし 業務パッケージを適切に利用すべし2.2 各章の解説 ~第3章~
3.4 要件定義工程からの非機能要件定義
非機能要求グレードを活用すべし 基本的な情報を要求として引き出すべし 矛盾、トレードオフを解消すべし 関心が高い非機能要求設定に関するポイント (1)業務継続性、(2)セキュリティ、(3)ユーザビリティ、(4)性能について説明2.2 各章の解説 ~第3章~
3.5 多様化するステークホルダとの合意形成
漏れなく、的確にステークホルダを分析すべし 当事者意識を持ってレビューをすべし エスカレーションパスを明確にすべし3.6 現行業務やシステムの把握
現行業務/システムを可視化すべし フィールドワークを通して現状を理解すべし プロジェクト全員で共通認識を構築すべし2.2 各章の解説 ~第4章~
4.1 成果物の作成計画時の留意点
4.2 主要な成果物と作成上の留意点
4.3 成果物に共通の留意点
第4章 要件定義成果物の品質向上
・実務担当者の経験を踏まえて、要件定義の主要な成果物を
取り上げ、それらには何をどの程度まで記述すると要件定義の
漏れが減り、後続工程からの手戻りが少なくなるかまとめている。
・この章で書かれていることは、従来は基本設計(外部設計)で
実施することも含まれているが、後続工程からの手戻りを少なく
する観点より、要件定義工程で決めるとガイド。
2.2 各章の解説 ~第4章~
4.1 成果物の作成計画時の留意点
プロセスへの成果物のマッピング例
(表4.1)
ガイド 表4.1 シス テム 要件定義プロセス 構想立案 シス テム 化計画立案 (外部設計:※合意形成ガイド) 問題点、課題、ニーズなど一覧 問題点、課題、ニーズなど一覧 問題点、課題、ニーズなど一覧 要求一覧 要求一覧 要求一覧 業務機能構成表 業務機能構成表 業務機能構成表 システム化業務一覧 ビジネスプロセス関連図 ビジネスプロセス関連図 ビジネスプロセス関連図 業務フロー 業務フロー 業務フロー システム化業務フロー システム化業務フロー システム化業務フロー システム化業務フロー 業務処理定義書 業務処理定義書 システム化業務説明 システム化業務説明 画面一覧 画面一覧 画面遷移 画面遷移 画面レイアウト 画面レイアウト 画面入出力項目一覧 画面入出力項目一覧 画面アクション明細 概念データモデル(ER図) 概念データモデル(ER図) 概念データモデル(ER図) ER図エンティティ一覧 エンティティ一覧 エンティティ定義書 エンティティ定義書 CRUD図 CRUD図 外部システム関連図 外部システム関連図 外部システム関連図 外部システム関連図 外部インタフェース一覧 外部インタフェース一覧 外部インタフェース一覧 外部インタフェース項目定義 外部インタフェース項目定義 外部インタフェース処理説明 バッチ処理一覧 バッチ処理一覧 バッチジョブフロー バッチ処理定義 帳票一覧 帳票一覧 帳票一覧 帳票レイアウト 帳票レイアウト 帳票項目定義 帳票概要 帳票概要 帳票編集定義 データ項目定義書 データ項目定義書 ドメイン一覧/定義 ドメイン一覧/定義 コード一覧/定義 コード一覧/定義 企画プロセス 要件定義プロセス
2.2 各章の解説 ~第4章~
主要な要件定義成果物と作成時の役割分担(表4.2をもとに追記)
項番 成果物 役割分担 補足 ユーザ ベンダ 業務 部門 システム 部門 運用 部門 4.2.1 ビジネスプロセス関連図 ○ △ △ △ ビジネスプロセスが現状と変わる場合は、業務部門が作成する。 ただし、ビジネスプロセスの変更がなく、システム化対象の明示 や外部のインタフェースの明示が主である場合、システム部門 が作成してよい。 4.2.2 業務機能構成表 ○ △ △ △ 4.2.3 ビジネスプロセスフロー (業務フロー/システム化業務フロー) ○ △ △ △ 4.2.4 画面/帳票レイアウト △ ○(注) △ △ 4.2.5 業務処理定義書 ○ △ △ △ 業務自体の目的や業務内容を明示するため、利用部門が作成 する。 4.2.6 概念データモデル(ER図) △ ○ △ △ 業務部門がER図を理解することが困難な場合は、概念データモ デルを説明した補足資料(4.2.6 概念データ コラム参照)を確 認する。 4.2.7 エンティティ定義書/データ項目定義書 △ ○ △ △ 4.2.8 CRUD図 △ ○ △ △ 業務理解促進の意味も含めてシステム部門が作成するのが望 ましい。 4.2.9 総合テスト計画書 ○ ○ ○ △ 多様な内容が含まれる成果物であり、内容に応じた作成主体を 検討し、分担して作成する。また、計画書であるため、内容に応 じた全ての関係者に確認する。 4.2.10 システム移行計画書 ○ ○ ○ △ 4.2.11 運用・操作要件書 ○ ○ ○ △ 業務運用やシステム運用の要件、操作要件など多様な内容が 含まれる成果物であり、内容に応じた作成主体を検討し、分担し て作成する。また、内容に応じた全ての関係者に確認する。 4.2.12 非機能要件書 △ ○ △ △ 非機能要件にも利用部門の業務要件が大きく関係してくるが、 技術的な要素も多いため、システム部門が主体で、利用部門か ら業務要件を聞き出し、成果物の作成を行うことが効率的であ る。また、非機能要件は多岐にわたるため、内容に応じた全て の関係者に確認する。 凡例)○:作成主体、△:作成支援(情報提供、確認(チェック)、アドバイス) (注)ラフなイメージは、業務部門が作成する ガイド 表4.2 に追記2.2 各章の解説 ~第4章~
要件定義ドキュメント関連図
(b)個別の業務機能を表す成果物 (e)要件定義でユーザの非機能要件を まとめた成果物 (d)システムの稼働に向けた準備をまとめた成果物 (c)個別のデータの属性、および それらの関係を定義する成果物 (a)業務の全体を理解するための成果物 ビジネスプロセス 関連図 業務機能 構成表 ビジネスプロセスフロー (業務フロー/ システム化業務フロー) 業務処理 定義書 CRUD図 総合テスト 計画書 システム移行計画書 運用・操作 要件書 画面/帳票 レイアウト 非機能要件書 概念データモデル (ER図) エンティティ定義書/ データ項目定義書2.2 各章の解説 ~第4章~
4.2.1
ビジネスプロセス関連図
4.2.2
業務機能構成表
4.2.3
ビジネスプロセスフロー(業務フロー/システム化業務フロー)
4.2.4
画面/帳票レイアウト
4.2.5
業務処理定義書
4.2.6
概念データモデル(ER図)
4.2.7
エンティティ定義書/データ項目定義書
4.2.8
CRUD図
4.2.9
総合テスト計画書
4.2.10 システム移行計画書
4.2.11 運用・操作要件書
4.2.12 非機能要件書
4.2 主要な成果物と作成上の留意点
後続の設計、実装、テスト工程につなぐ12の主要なドキュメントを
取り上げ、作成の目的、作成時の留意事項をまとめる。
2.2 各章の解説 ~第4章~
主要な成果物作成上の留意事項
-漏れをなくし、後続工程からの後戻りを無くすため-
(1) 標準化(ルール化)に留意すること
(2) 5W2Hの条件が満たされているか確認する
(3) 概念データモデルにより不整合や漏れを確認する
(4) 総合テスト計画書、移行計画書、運用・操作要件書を
要件定義で作成する
(5) 非機能要件を要件定義で詰める
(6) 上記以外の留意事項(成果物作成以外も含む)
2.2 各章の解説 ~第4章~
標準化の重要性を強調
(1)画面の標準化、画面遷移の標準化
・企業の基幹システムにおいては、画面の標準を決めておく
・画面構成、新規、照会、変更、削除の操作、エラーメッセージの
位置・出し方等
・画面遷移も標準を決めておく
(2)帳票の前準備と標準化
①紙で出力するか、電子化するかを考える。
・ワークフローで済ませ、業務効率化とペーパーレス化を行うことが増加
②電子化に加え、コストを意識して割り切るべきところは割り切る
③その上で、残る帳票については標準を決めておく
留意事項1 : 標準化(ルール化)に留意すること
ガイド 4.2.42.2 各章の解説 ~第4章~
ガイド 表4.4留意事項2 : 5W2Hの条件が満たされているか確認する
- 5W2Hによる要件の確認
5W2H 確認ポイント What ・商品やサービス(What)による違いはないか Who ・相手(Who)による違いはないか When ・時間、時期、タイミング、順序など(When)による違いはないか ・状況や状態、条件による違いはないか Where ・場所(Where)による違いはないか Why ・理由(Why)による違いはないか How ・やり方や方式(How)による違いはないか2.2 各章の解説 ~第4章~
留意事項3 : 概念データモデルにより不整合や漏れを確認する
従来の考え方では、ER図はデータベース設計のための手法として基本設計 以降に登場する。要件定義段階で概念レベルのER図を導入し業務の実態を 把握しておくと、基本設計段階で要件定義工程に遡ることを少なくできる。 ガイド 4.2.62.2 各章の解説 ~第4章~
留意事項4 : 総合テスト計画書、移行計画書、運用・操作要件書を
要件定義で作成
総合テスト 計画書 要件定義で決められたことが、「システム機能として不足や誤 りなく実装されているか」、「定義した要件で実際の業務が成 立するか」、「例外処理も含めて、業務が正しく実行できるか」 を確認する。 移行計画書 システム移行の検討は、システム実装後の後回しになること が多く、移行方法を詰めた結果、機能の見直しが発生する場 合があるため、要件定義で作成できるところは作成する。 運用・操作 要件書 業務の運用要件、システムの運用要件・障害時の対応、操作 要件のそれぞれについて、まとめる。 ・総合テスト計画書、移行計画書、運用・操作要件書は、要件定義工程で 検討されず、後工程になってから検討され、後戻りすることが発生している。 ・要件定義段階で、これらの成果物を検討、確認することで、漏れや後戻りを なくすことができる。 ガイド 4.2.9~ 4.2.112.2 各章の解説 ~第4章~
留意事項5 : 非機能要件を要件定義で詰める
--過剰なコストがかからない工夫