MENU

【必見】要件定義とは?システムと業務部署の協力で成功へ導く実践的アプローチ

システム刷新や新規プロジェクトを成功へ導くためには、システム部門と業務部署の双方が納得する要件定義が欠かせません。
システム側は技術的視点からの実現可能性を追求し、業務部署は現場の実情や改善ポイントを的確に反映する役割を担います。
本記事は、自社システム刷新プロジェクトに5年間業務部署のメンバーの1人として要件定義に携わった筆者が、どのように連携することで効果的な要件定義を実現できるかを解説します。
具体的な手法、進め方を事例を踏まえた実践的なアプローチを提示し、読者がプロジェクト成功に向けた明確な行動計画を手に入れることができます。
共通認識の形成と連携強化が成功の鍵であるという結論に導きます。


目次

要件定義とは?基本概念とその目的

システム開発における要件定義は、システムの機能・性能を明文化し、関係者全員で共通認識を得る工程です。
その目的は、システム開発者が利用者の業務要望を正確に把握することにありますが、裏を返すと業務部署のメンバーとしては業務要望を正確に開発者側に伝える必要があります。

要件定義の全体流れとしては以下の通りです。

業務要件定義の6ステップ
1)現状把握・課題抽出
・現行業務のフローやシステムの現状を調査
・現状の課題や問題点を明確化

2)利害関係者の洗い出しとヒアリング
・業務担当者、管理者、システム部門など、各部署のキーパーソンを特定
・インタビューやワークショップで具体的な要望や課題を収集

3)要件の整理・分析
・収集した情報をもとに、機能要件と非機能要件に分類
・業務プロセスとシステム要件の整合性を検証し、優先順位を設定

4)要件文書(要件定義書)の作成
・目的、背景、業務フロー、具体的な機能・性能要件、制約条件などを明文化
・図解やフローチャートを活用し、分かりやすい形にまとめる

5)レビュー・フィードバックの実施
・関係者間で文書内容の確認・議論を実施
・不明点や矛盾を修正し、全員の合意を形成

6)要件の確定・承認
・最終的な要件定義書を関係者全体で承認し、プロジェクトの基盤とする
・変更管理プロセスを整備し、後の修正に備える

現場の担当者も理解しやすい形で情報を伝達していくことが肝要です。
要件定義が明確であれば、システム刷新における混乱を未然に防止できます。

要件定義の基本と役割認識

要件定義は、システム開発の出発点としてシステム部門と業務部署双方の視点が重要です。
システム側は技術的実現性を、業務部署は現実の業務プロセスと課題を正確に反映させる役割を担います。

システム部署・開発ベンダーが担う内容

  1. システム要件を技術的観点から整理し、将来の拡張に備えます。
    設計書を策定し、ベンダーと連携することで責務を果たします。
  2. セキュリティや性能要件を考慮し、安定稼働を担保します。
    監視体制を構築し、テストを実施して責務を全うします。
  3. 開発手法や運用フローを明確化し、品質と工数を管理します。
    手順書を整備し、進捗を報告して責務を果たします。

業務部署が担う内容

  1. 各業務の見直しや用語の見直しを行うことで、
    システム開発を円滑に行える状態とする。
  2. 今後新たに必要な機能や運用要件を提示します。
    要件定義に参加し、要望を資料化して責務を果たします。
  3. 経営方針や目標数値を踏まえ、投資対効果を最大化します。
    予算を承認し、リスクを検討することで責務を全うします。

両者が連携することで、混乱を未然に防ぎ、効率的なプロジェクト進行が可能となります。


システム目線の要件定義:手法と進め方

システム部門は、技術的視点からシステムの機能や性能、実現可能性を検討、検証することが求められます。
具体的には、以下のような工程をふまえ進めて行くことになる。

システムアーキテクチャの検討
システムアーキテクチャとは、ハードウェアやソフトウェアなど技術要素を体系化し、システム全体の構成や動作原理を定義する考え方です。可用性や拡張性を考慮し、最適な組み合わせを設計する工程が重要です。

技術的リスクの洗い出し
システム開発における技術的リスクの洗い出しとは、新しい技術や連携要素、セキュリティと性能要件などに潜む潜在的懸念を可視化し、プロジェクト進行上の障害や不具合リスクを事前に察知して対策を検討する工程です。

プロトタイプの活用
システム開発におけるプロトタイプの活用とは、実際の使用感や操作性を短期間で確認し、問題点や要件の曖昧さを早期に発見・修正する手法です。実機検証を通じて開発全体のリスクを低減し、完成度を高めます。

システム部署では、以下のような手法が使われます。
インタビュー法
:業務部署との対話で技術的要求を整理
ユースケース分析:具体的利用シーンから機能要件を抽出
プロトタイピング:技術面での検証とフィードバック


業務部署目線の要件定義:現場知識の反映と具体的アクション

業務部署は、現場の実態を正確に伝えることで、実用的なシステム要件の形成に貢献します。
現状の業務フローと課題を整理し、具体的な改善点を明確化することが求められます。

業務フロー図の作成
5W1Hを視覚的に捉えることができる状態とします。全体像を明確にすることで、システム開発側は、いつ・どのような情報を連携する必要があるかが分かります。業務では判断をするタイミングが多々発生しますが、判断基準なども見えるようになります。

具体的な課題リストアップ
現状何に困っていて、困りごとが実際の業務にどのような影響が発生しているのか?本来であれば、どうなっていることで課題を解決できるか?を明文化していくことになります。ただ課題を羅列するのではなく、原因分析も同時に行うことで業務改善にもつながっていきます。

定期ミーティングで意見共有
自部署のみでは完結しない業務の場合は、他部署のメンバーもアサインし、記述した業務の正確性を全体で確認をする必要があります。
業務部署とシステム部署での会話においても、システム開発視点で見た時に不足している情報を見つけ出し、成果物を肉付けしていく必要があります。

業務部署は、システム部署・システムベンダー様に対し要望事項を論理的に明文化し、正確に業務を伝えることが必要です。正確性が失われた情報伝達でできたシステムでは予期せぬトラブルの発生原因にもなります。

経験談・・・
マスタを管理するシステムで、一つの項目のみを更新する業務であるにも関わらず、同じ画面にある他の項目も更新がかかる仕様となっていました。以前のシステムでは、更新が掛からない仕様にでした。
結果として、店舗からの商品の発注でトラブルが発生し、一時的に滞る事象が発生してしました。
(業務部署の想定と異なる仕様)

原因:どの項目をなんのために更新をするのかが正しく伝わっていなかったことによります。情報を登録する業務フローで表現されていたのは「このタイミングで、この画面を使いマスタを更新する」ということだけでした。システム部署としては、この画面で更新する情報はすべて同じタイミングで更新をする事を求められているという理解になってしまっていました。
具体性の欠けた情報伝達により、実運用が開始されて初めて業務部署側の想定と異なっているということが判明しました。
(情報伝達の具体性の不足)



まとめ

要件定義を成功させるには、業務部署とシステム部署が共通認識を形成し、連携を強化することが不可欠です。

業務知識を正確に反映し、技術面での実現可能性やリスクを検証することで、後工程の大幅な手戻りを防げるからです。
業務部署は現場の課題や改善点を明示し、システム部署はアーキテクチャ設計やプロトタイプで検証を行う必要があります。

現場の業務フロー図や課題リストを共有し、定期的にミーティングを開催すると、要件の曖昧さや見落としを早期に発見できます。
その結果、開発の手戻りが減り、混乱を未然に防止しながら効率的にプロジェクトを進行できます。

要件定義の初期段階から互いに情報を開示し、綿密なコミュニケーションを行ってください。
具体的には、明確な成果物のレビューやリスク洗い出しを定期的に実施し、全員が同じゴールを共有しながらプロジェクトを推進しましょう。

目次