システム企画は、システム開発の前段階で行われる、システムの目的やビジネス要求をステークホルダーと合意するプロセスです。
要件定義は、システム企画後のプロセスで、システム企画で決まったシステムの目的やビジネス要求に基づき、システムに求める要件を定義するプロセスのことを指します。 システムが何を達成すべきで、どのように動作すべきかを明確にすることがシステム要件定義です。
システム企画とシステム要件定義を共に適切に行うことで、システム設計やシステム開発の効率や品質を向上させることができます。
この記事では、システム企画や、要件定義を新たに行うことになった担当者向けにシステム企画と要件定義の違いに関して解説します。
システム企画やシステム要求定義の段階で、
といったキーワードが出てきたら、クライゼルの各ページをぜひご参照ください。クライゼルを活用することで、安価に安全に業務課題を解決できるでしょう。
はじめに
システム企画もシステム要件定義もシステムを開発をする前に確実に実施しておきたい重要な作業です。新たにシステム企画やシステムの上流工程を担当することになったエンジニアの方は、システム設計やプログラミングを早くすすめたくなることも多いと思います。
しかし、実際の開発の前にこの二つのプロセスをしっかり進めておくことで、ユーザ要求との不一致も少なくなるため結果的にシステム仕様の見直しや開発時の手戻りが少なくなり開発効率を上げることができます。
システム化の流れ
システム企画と要件定義の違いを把握するために、一般的なシステム化の流れを把握するとその違いがよくわかります。
システム化の流れは以下のようなV字のプロセスになります。
この図にあるようにシステム化は、経営戦略に基づきシステム企画を行い、システム企画に基づき要求定義を行います。その上でシステム要件定義を行い、ソフトウエアの要件定義を行いプログラミングを行うという流れになります。
そして、各作業の評価は、ソフトウエア要件定義に基づきソフトウエアのテストを行い、システム要件定義に基づきシステムの適格性のテストを行い、要求定義に基づき運用テストを行います。最終的にシステムがビジネスに貢献したかや投資対効果があったかの評価は、システム企画の内容に基づき行います。
システム企画とは
システム企画とはV字プロセスの図にある通り、システム開発の前段階で行われる、システム開発プロジェクトの全体的な方向性を設定しそれをステークホルダー間で合意するプロセスです。これには、ビジネスの目標とニーズを理解し、それに基づいてシステムの目標を設定し、システム開発のスコープを定義することが含まれます。
また、リソースの計画やリスク管理の計画など、プロジェクト管理に関連する活動も行います。よってシステムの「要件定義」や「設計」、「開発」ではありません。
誤解を恐れずに、もっとわかりやすく言うと、システム企画は、
- 対象とする事業や業務にシステムがどのように寄与するかを明確にすること
- 事業や業務上の要求を明確にすること(ニーズやWANTSを明確にするもの)
- システム化の方針稟議承認を得るもの(システム規模が小さい場合は、予算承認や実行稟議の承認)
と言えるでしょう。
システム企画の具体的活動
システム企画は事業目的とシステムの整合や、利用者と関係者のニーズ、概算予算と大まかなスケジュールなどを明確にし、関係者間で合意をとるプロセスです。よって、具体的な活動としては、以下があります。
- システム企画チームの組成:システム規模にもよりますが、システム企画は一人ではできません。少なくとも、ビジネス要件をよく理解している人とシステム構築の経験を持った人でチームを組み対応する必要があります。
- ビジネス要件の理解と分析:システム企画の最初のステップは、ビジネスの目標と要件を理解し、それらを分析することです。これには、ビジネスの現状と目標、ステークホルダーのビジネス要件、市場の動向などを理解することも含みます。
- システムの目標設定:ビジネス要件の理解と分析に基づいて、システムの目標を設定します。これは、システムが達成すべき具体的な目標を明確にするためのステップです。
- システムの概念設計:システムの目標を達成するための大まかな設計を行います。これには、システムの主要な機能や構成要素、それらの相互作用などを考えることが含まれます。
- リソースの計画:システム開発に必要なリソース(人材、時間、費用など)を大まかに計画します。
- リスク管理:システム開発に関連するリスクを識別し、それらを管理するための計画を立てます。これには、リスクの評価、リスク対策の策定、リスク管理のプロセスの設定などが含まれます。
- 稟議承認:上述の活動結果をステークホルダーと何度も調整をした上で、最終的な方針稟議の承認を得ます。(システム規模が小さい場合は予算稟議や実行稟議の承認)
なお、システム規模が中~小程度の場合は、システム企画のタイミングで要求定義まで行う場合もあります。システム企画と要求定義は共にビジネス側の担当者が主体となりまとめるべきものですので同時に進めたほうが効率的な場合もあるためです。
ここで要求定義に関しても説明しておきます。
要求定義はシステムが満たすべきビジネス要件を明確に定義するプロセスです。これには、ステークホルダーからビジネス要件の収集と分析、それらビジネス要件の優先順位付け、ビジネス要求の定義書作成などが含まれます。
したがって、システム企画はプロジェクトの「何を」(目標)と「どのように」(計画)を定義し、要求定義はシステムが「何をすべきか」(ビジネス要件面)を定義します。
効率的なシステム企画のすすめ方について、下記記事に詳しく記載していますので、合わせてご覧ください。
システム要件定義とは
システム要件定義は、V字プロセスにある通り要求定義の結果を基に、システムが具体的にどのような機能や性能を持つべきかを定義するプロセスです。これは、システム面の機能要件、非機能要件(パフォーマンス、セキュリティなど)、インターフェース要件などシステムが満たすべき具体的な要件を詳細に定義する作業です。
システム要件定義の結果は、システム要件仕様として文書化され、これがシステム設計と開発の基礎となります。
システム要件定義はシステム側のスタッフが主体となりシステム企画、要求定義に基づき、ビジネス側のスタッフとコミュニケーションしながら作り上げるものです。
システム要件定義の具体的活動
システム要件定義の具体的な活動は以下のようなものがあります。
- 要件収集:利害関係者からシステムの要件を収集します。これには、いろいろなやり方があります。
- ユーザーインタビュー:ステークホルダーやエンドユーザーとの直接的な対話を通じて、システムの要件を理解します。
- 観察:既存システムや既存業務の場合はユーザーが現在のシステムやプロセスをどのように使用しているかを観察することでニーズや問題点を理解します。
- ベンチマーク分析:新しいシステムや業務の場合はビジネス要件を満たす近いシステムを構築しているベンチマークすべき企業やシステムを国内外から探しそのシステムインターフェースを基に要件を理解します。
- ワークショップ:ステークホルダーを一堂に集め共同で要件を議論し合意を得ます。
これらにより、異なる視点からシステム要件を得ることができ、質の高いシステム要件を収集できます。
- 要件分析:収集した要件を分析し、システムの機能や非機能(パフォーマンス、信頼性、可用性、セキュリティ、拡張性、維持管理性など)を明確にします。
- 要件仕様の作成:分析した要件をもとに、システム要件定義書を作成します。これは、システムが満たすべき要件を詳細に記述した文書です。
- 要件検証:要件定義が正確で完全であることを確認します。これには、ステークホルダーとのレビューや、モデルチェック、プロトタイピングなどの手法が用いられます。
これらの活動を通じて、システムが満たすべき要件が明確になり、それが開発チームとステークホルダー間で共有されます。これにより、開発チームはシステム要件に基づいてシステムを設計・開発することができ、ステークホルダーは自分たちの要求がシステムに反映されることを確認することができます。システム要件定義は、システム開発プロジェクトが成功するための重要なステップであり、その質はシステムの品質に直接影響を与えます。
システム企画とシステム要件定義の違い
ここまでの説明で読者の方は既にご理解いただいていると思いますが、ここで再度システム企画、要求定義、システム要件定義の違いに関して記載します。
これら3つのプロセスはシステム開発の前段階のプロセスです。それぞれをシステム企画フェーズ、要求定義フェーズ、システム要件定義フェーズと理解するとわかりやすいとおもいます。
システム企画
このフェーズでは、システムの全体的なビジョンと目標を設定します。具体的には、システムが解決すべきビジネス課題や達成すべきビジネス目標を明確に定義します。また、システムの範囲や主要な機能、スケジュールなどを大まかに定義します。そしてそれらをステークホルダー間で合意します。システム企画はビジネス推進側のスタッフが主体となり進める作業になります。
要求定義
このフェーズでは、ビジネス要件をまとめ、それに対してシステムが満たすべき具体的な要求を定義します。これには、機能要件(ビジネス側から見てシステムが何をするべきか)と非機能要件(ビジネス側からみてシステムがどのように動作するべきか)の両方が含まれます。要求定義はシステム企画と同様にビジネス推進側のスタッフが主体となり進める作業になります。よって、システム規模が中小の場合は同じタイミングで進めることもあります。
システム要件定義
このフェーズでは、要求定義フェーズで収集されたビジネス要求に基づきシステム要件を定義します。システムが満たすべき具体的な機能と非機能をステークホルダーと調整の上詳細にまとめます。システム要件定義はIT推進側のスタッフが主体となり進める作業になります。開発チームがシステムを設計、実装、テストするための基礎にもなります。
これらのフェーズは、システム開発の前の段階で行われ、システムの成功を確実にするための基礎を築きます。それぞれのフェーズは、前のフェーズからの出力を入力として使用し、次のフェーズへと進行します。これにより、システム開発は段階的かつ組織的に進行することになります。
まとめ
今回はシステム企画、要求定義、システム要件定義に関して記載しました。今日ビジネスとシステムはきっても切り離せません。システムの開発や導入を検討する際は、システムの方向性や目的、ビジネス要求をステークホルダーと合意の上、システム要件定義に入るといいでしょう。
今回の記事が読者の方々の参考になれば幸いです。
トライコーンでは、各種Saasとそれに付随するソリューションサービスを提供しております。システム企画や要求定義の段階で、
といったキーワードが出てきたらぜひ、当社までお問合わせください。解決案を貴社とご一緒に検討させていただきます。
当社へのお問合わせはこちら。お気軽にお問合わせください。