🍀概要
システム監査技術者試験 平成25年 午後2 問2について、AIを活用して、詳細分析した結果を示します。
本分析は、AIが問題文からその背景にある本質的な課題を深く掘り下げ、システム監査人が目指すべき理想像の一端を理解することに役立つよう、多角的な視点から考察したものです。これにより、単なる模範解答の提示に留まらず、論述問題を通して試される思考プロセスや問題解決のアプローチを深く理解するための示唆を提供します。
🧾問題・設問(AU-H25-1-PM2-Q2)
出典:情報処理推進機構 システム監査技術者試験 平成25年 午後2 問2(🔗取り扱いガイドライン)
📘問題
■タイトル
要件定義の適切性に関するシステム監査について
■内容
システムを正常に稼働させ,期待どおりの効果を得るためには,システム開発において,業務機能を対象とする機能要件と,性能,セキュリティなどの非機能要件を適切に定義し,システムに組み込むことが必要である。適切な要件定義が行われなかったり,要件が適切にシステムに組み込まれなかったりすると,プロジェクトの失敗及びトラブルが生じる可能性が高くなる。
要件定義を適切に行うためには,システム開発のプロジェクト体制及び開発手法に合わせた要件定義の役割分担,方法,文書化などが必要となる。例えば,システム開発を外部に委託するプロジェクト体制では,要件定義におけるシステム部門と利用部門との役割分担だけでなく,外部委託先との役割分担も明確にしておかなければならない。また,ウォータフォール型の開発手法を用いる場合と,プロトタイピング手法を用いる場合とでは,要件定義の方法,作成すべき文書などが異なってくる。
システム監査人は,システム開発のプロジェクトの失敗及びトラブルを防止するために,システム開発のプロジェクト体制及び開発手法を踏まえた上で,要件定義の役割分担,方法,文書化状況などが適切かどうかを確認する必要がある。また,要件定義の適切性を監査するための手続は,要件定義工程だけでなく,システム開発の企画,プロジェクト体制の決定,設計,テストの各工程においても実施する必要がある。
あなたの経験と考えに基づいて,設問ア~ウに従って論述せよ。
📗設問
■設問ア
あなたが関係したシステム開発の概要について,システム開発のプロジェクト体制及び開発手法,並びに要件定義の役割分担,方法,文書化状況などを含め,800字以内で述べよ。
■設問イ
設問アのシステム開発において,適切な要件定義が行われなかったり,要件が適切にシステムに組み込まれなかったりした場合に,生じる可能性のあるプロジェクトの失敗及びトラブルについて,その原因を含めて700字以上1,400字以内で具体的に述べよ。
■設問ウ
設問イに関連して,要件定義の適切性について監査を実施する場合,システム開発の企画,プロジェクト体制の決定,要件定義,設計,テストの五つの工程でそれぞれ実施すべき監査手続を700字以上1,400字以内で具体的に述べよ。
📔出題趣旨・採点講評(IPA)
■出題趣旨
システム開発の中止,大幅な遅延,大幅な予算超過,期待効果の未達成などのプロジェクトの失敗,及び大規模障害,外部委託先との訴訟などのトラブルの要因の一つとして,要件定義の失敗が挙げられる。
システム監査人は,要件定義とそのシステムへの組込みについて,システム開発の体制や手法に合った適切な役割分担,方法,文書化などが行われているかを確認することによって,要件定義の失敗によるプロジェクトの失敗やトラブルの防止に貢献することができる。
本問では,システム監査人がシステム開発の各工程において適切な監査手続を実施できる能力があるかを問う。
■採点講評
問2(要件定義の適切性に関するシステム監査について)は,身近なテーマであるので,設問イ及び設問ウについては,多くの受験者が一通りの論述はできていた。しかし,一般的かつ抽象的な論述にとどまっている解答が散見された。設問イでは,プロジェクトの失敗の原因となる要件定義の問題点について論述を求めているが,“要員の能力不足”などの表面的な原因にとどまり,なぜ適切な要員体制が確立されなかったのかといった根本問題まで言及している論述は少なかった。また,設問ウの要件定義の適切性を監査する手続については,“要件定義書に要件が網羅されているかを確認する”などの一般的には現実的でない監査手続の論述が目立った。
🪄詳細分析(AI)
📝3行まとめ
- 【背景】システム開発の失敗やトラブルの多くは、上流工程である要件定義の不備に起因しています。
- 【監査視点】監査では、プロジェクト体制や開発手法に応じた要件定義の役割分担・文書化・合意形成の適切性を確認します。
- 【行動・着眼点】監査人は、ビジネス要件とシステム要件の対応関係や、非機能要件の明示・管理プロセスまで具体的に検証すべきです。
🧭要件定義の適切性に関するシステム監査についての考察
1. 問題の背景と現状分析
- 現状の課題・問題点:
- システム開発プロジェクトの失敗やトラブルの根本原因をたどると、その多くが上流工程である「要件定義」の不備に行き着く。
- 要件定義が不適切だと、後工程で大規模な手戻りが発生し、コスト超過やスケジュール遅延を招く。最悪の場合、完成したシステムが全く使われないという事態になる。
- 要件定義の難しさは、利用部門の曖昧な要求を、開発者が理解できる正確な仕様に落とし込む点にある。
- 性能やセキュリティといった「非機能要件」が、機能要件に比べて軽視され、定義が漏れがちである。
- 外部委託や多様な開発手法(ウォーターフォール、プロトタイピング等)の採用により、要件定義における役割分担や進め方が複雑化し、管理が難しくなっている。
- 変化の必要性の背景:
- プロジェクト失敗の教訓: 多くの失敗プロジェクトの事後分析から、成功の鍵は上流工程、特に要件定義の品質にあるという認識が定着した。
- シフトレフトの思想: 不具合の発見と修正は、ライフサイクルのより上流(左側)で行うほどコストが低いという「シフトレフト」の考え方が広まり、要件定義段階での検証の重要性が高まった。
- ステークホルダーの多様化: システム開発に関わる利害関係者(経営層、利用者、開発者、運用者、外部委託先等)が増え、彼らの要求を漏れなく、かつ矛盾なく整理・調整するプロセスとしての要件定義の役割が重要になった。
2. 理想像の抽出と具体化
- あるべき理想的な状態:
- ビジネス要件とシステム要件の明確な分離と追跡: 「何を実現したいか(ビジネス要件)」と「そのためにシステムがどうあるべきか(システム要件)」が明確に区別され、両者がトレーサビリティ(追跡可能性)を保って管理されている。全てのシステム要件は、いずれかのビジネス要件に紐づいている。
- 網羅的で検証可能な要件定義: 機能要件だけでなく、非機能要件(性能、可用性、セキュリティ、運用性など)も網羅的に定義されている。全ての要件は、客観的に「達成できたか否か」を検証できる形で(例:「応答時間は3秒以内」)、具体的に記述されている。
- ステークホルダーの合意形成: 要件定義が、開発者による一方的なヒアリングではなく、利用者や関係者が深く関与するワークショップなどを通じて、双方向のコミュニケーションと合意形成のプロセスとして進められる。
- 継続的な要件管理: 要件定義は一度決めたら終わりではなく、プロジェクトの進行中に発生する変更要求を、影響分析や承認といった正式な「要件変更管理プロセス」を通じて、統制された形で管理する。
- 克服すべき障壁:
- 利用者の要求の曖昧さ: 利用者が自分たちの本当に欲しいものを明確に表現できない。あるいは、単に現状の業務をそのままシステム化することしか考えつかない。
- コミュニケーション不足: 利用者と開発者の間に、業務知識やIT知識のギャップ、あるいは「文化」の違いがあり、意思疎通がうまくいかない。
- 文書化の軽視: 要件定義の内容を、曖昧さを排除した形で文書化する作業が軽視され、口頭での確認や「行間を読む」ことに頼ってしまう。
- 安易な合意: スケジュールを優先するあまり、要件が十分に吟味されないまま、関係者が安易に承認(サインオフ)してしまう。
- 利害関係者の視点:
- 経営層/プロジェクトオーナー: 開発されるシステムが、ビジネス上の目的や課題解決に直結していることを確信できる。要件の肥大化(スコープ・クリープ)による予算超過のリスクを管理できる。
- 利用者: 自分たちの要求が正しく理解され、システムに反映されるという安心感がある。完成後の「こんなはずではなかった」という事態を避けられる。
- 開発者: 明確で安定した要件に基づいて設計・開発に集中できる。後工程での仕様変更による手戻りが減り、生産性が向上する。
- 監査人: プロジェクトの成否を左右する最上流の工程を監査することで、プロジェクト失敗のリスクを早期に発見し、予防的な助言を行う。要件定義書、議事録、要件トレーサビリティ・マトリクスなどを監査証拠として、プロセスの妥当性を評価する。
3. 要約
- [200文字]要約:
システム開発の失敗の多くは要件定義の不備に起因する。理想像は、ビジネス要件とシステム要件を追跡可能にし、非機能要件も含め網羅的・検証可能に定義すること。監査人は、この最上流工程のプロセスが、ステークホルダーの合意形成を含め適切に行われているかを評価する。 - [400文字]要約:
システム開発の成否は、最上流工程である要件定義の品質に懸かっている。あるべき理想像は、利用者の曖昧な要求を、機能・非機能の両面から網羅的かつ検証可能なシステム要件へと落とし込む、規律あるプロセスを確立することだ。全ての要件はビジネス目的と紐づけられ、関係者の明確な合意の下で決定される。監査人は、この要件定義プロセスが、開発手法や体制に合わせて適切に運用されているかを監査し、プロジェクト失敗の根本原因を未然に防ぐ。 - [800文字]による詳細な考察:
本問題は、システム開発における「全ての道は要件定義に通ず」という格言を裏付けるように、プロジェクト失敗の根源である要件定義の監査の重要性を説いている。監査の関与を、完成したシステムから、その設計図、さらには設計思想の段階にまで遡らせる「シフトレフト監査」の典型例である。- あるべき理想像とは、「ビジネス価値の実現を保証する、継続的な要件エンジニアリングプロセス」の確立である。これは、要件定義を開発初期の一フェーズとして捉えるのではなく、プロジェクトのライフサイクル全体、さらにはシステムの運用段階にまでわたる、継続的な活動(エンジニアリング)として位置づける考え方である。理想的な状態では、ビジネスアナリストのような専門職が、利用者と開発者の橋渡し役を担う。要件は、ユーザーストーリーやユースケースといった、利用者にも理解しやすい形式で記述され、視覚的なモデル(プロトタイプ、画面モックアップ)と併用してレビューされる。定義された要件は、要件管理ツールに入力され、設計、コード、テストケースと双方向に紐付けられた「要件トレーサビリティ・マトリクス」が自動的に構築・維持される。これにより、ある要件の変更が、システムのどの部分に、どの程度影響を与えるかが即座に分析できる。
- 理想像実現へのアプローチとして、システム監査人は、開発ライフサイクルの各工程で、要件が適切に取り扱われているかを継続的に監査する。①企画段階:プロジェクトの目的とビジネス要件の整合性を評価。②要件定義段階:要件の収集、分析、文書化、合意形成のプロセスが妥当か、非機能要件が網羅されているかを評価。③設計・開発段階:要件トレーサビリティ・マトリクスを検証し、全ての要件が設計・実装に反映されているか、逆に、どの要件にも紐づかない不要な機能(金メッキ)が作られていないかを確認。④テスト段階:テストケースが、要件定義書を網羅しているかを検証する。
- 期待される効果は、「作ってはみたが使われない」という、IT投資における最大の無駄を撲滅することである。ビジネス価値に直結したシステムを、手戻りなく効率的に開発することが可能になる。
- 考慮すべきリスクは、要件定義プロセスが過度に文書主義・官僚主義に陥り、アジャイル開発のような柔軟なアプローチの利点を殺してしまうことだ。監査人は、プロジェクトの特性(開発手法など)に応じて、監査のやり方も柔軟に変える必要がある。