Blog

要件定義と基本設計の違いは?作業内容を明確化しプロジェクト成功に繋がるカギを解説

記事の監修

代表取締役村越 聖人

2006年からエンジニアよりデジタル業界でのキャリアをスタート。
大小様々なWebシステム開発およびシステム運用保守を経験。

フルスタックエンジニアとして上流から下流工程まで一連の業務を担当するとともに、サーバー設計、構築、運用設計などのサーバー管理者業務も兼任。

近年は、顧客折衝を含む提案型営業からDMP絡みのデータ分析業務をはじめ、プロジェクトの全体統括・SEなど業務要件に合わせたポジショニングで顧客ニーズの最大化を図るサービス提案を実施。

新規事業で立ち上げた自社サービスにて、発明者として特許取得。

2019年5月 株式会社glorious future 設立。

2006年からエンジニアよりデジタル業界でのキャリアをスタート。
大小様々なWebシステム開発およびシステム運用保守を経験。

フルスタックエンジニアとして上流から下流工程まで一連の業務を担当するとともに、サーバー設計、構築、運用設計などのサーバー管理者業務も兼任。

近年は、顧客折衝を含む提案型営業からDMP絡みのデータ分析業務をはじめ、プロジェクトの全体統括・SEなど業務要件に合わせたポジショニングで顧客ニーズの最大化を図るサービス提案を実施。

新規事業で立ち上げた自社サービスにて、発明者として特許取得。

2019年5月 株式会社glorious future 設立。

システム開発プロジェクトの成功へのカギは、上流工程の「要件定義」と「基本設計」の明確な理解にあります。

この2つの工程は、プロジェクトを立ち上げる際に必要ですが、しばしば混同されがちです。それぞれの目的や内容を理解できていないと、プロジェクトの失敗に繋がる可能性もあります。特に上流工程に携わりたいエンジニアにとって、これらの違いを正確に把握することは必須です。

そこでこの記事では、要件定義と基本設計の違いや具体的な作業工程、プロジェクト成功のコツなどを解説します。

この記事はこんな人におすすめ
  • 上流工程に取り組む予定がある若手エンジニアの方
  • プロジェクトマネージャーやプロジェクトリーダーを目指す方
  • システムやソフトウェア開発分野への関心がある方

要件定義と基本設計の違い

システム開発における上流工程で中核を成すのが、要件定義と基本設計です。これらの工程は、開発の初期段階で行われ、プロジェクト全体の効率とプロジェクトチームのパフォーマンスに直接影響を及ぼします。要件定義では、開発者の立場からどの機能を実装し、どのような作業が必要かを決定します。
一方、基本設計は要件定義で定められた機能を細部にわたり設計する工程です。

要件定義:実装する機能・作業内容の明確化

要件定義は、本格的な開発に先立つ重要な作業で、実装する機能や作業内容の明確化します。その主な目的は、プロジェクトをより効率的に進めることにあります。不明瞭な要件定義は、開発の後半において大きな修正を必要とし、予定納期を達成できなくなるリスクがあります。

要件定義では、プロジェクトの目標達成に必要な開発作業やスケジュール、必要な資源や人員配置を決定します。要件定義は、実質的にシステム開発プロジェクトの基盤を築く役割を果たします。

要件定義で決められる主な項目は、以下のとおりです。
  • 上システム開発の目標や目的
  • システムの業務フロー
  • 実装予定の機能
  • システムのパフォーマンスと効率
  • システムのセキュリティ
  • 保守や運用
  • システム導入の手順
  • 開発のスケジュール計画
  • 開発プロジェクトの人員構成
  • 必要な人材の確保 など

基本設計:システムの開発内容を明確化

要件定義では、システムが持つべき機能や性能を概略的に決めますが、その具体的な実現方法は含まれていません。
基本設計の段階で、これらの要件を実現するための具体的な機能が決められます。
基本設計は、システムの全機能をリストアップし、実行するタスクを明確にする役割を担います。

基本設計で決められる主な項目は、以下のとおりです。
  • 機能一覧表
  • ネットワーク構成図
  • データフロー図
  • テーブル定義
  • ER図
  • 画面レイアウト
  • 画面遷移図
  • 帳票レイアウト
  • コード一覧表 など

要件定義と基本設計を確定するまでの流れ

システム開発の初期段階である要件定義と基本設計を進めるためには、どのような手順を踏むべきでしょうか。
ここからは、要件定義と基本設計を確定するまでの流れをそれぞれ詳しく解説していきます。

開発目的・目標・要求をヒアリング

システム開発を始める前には、開発の目的、目標、要求などを明確にする必要があります。ヒアリングの対象は、クライアントや自社の経営者や業務部門の担当者などさまざまなステークホルダーです。 ヒアリングでは、何を達成すべきかを具体的に理解することが重要です。この部分が不明確だと、開発過程でのズレや再確認作業が増えるリスクが高まります。
そのため、詳細かつ明確な情報を得ることが開発の成功にとって欠かせません。

重要な要項順になるように優先度を決定

ヒアリングで得た情報は、わかりやすく整理することが肝心です。まず、聞き出した目的をベースにして必要な開発項目をリストアップしましょう。 次に、目的を達成するために必要な開発項目から取り組むように優先順位を設定します。メインの開発内容にズレが生じると、他の作業にも影響が及ぶため、目的に沿った開発を優先することが大切です。
また、全ての要望を取り入れることは難しいため、ステークホルダーと協議しながら、解決策を見つけることが求められます。

必要なフローを明確化し「要件定義書」を作成

開発に必要な項目とその優先順位を決めたら、「要件定義書」の作成に取り掛かります。
この段階では、要件定義書に記載された内容をクライアントに何度も確認してもらい、双方の認識にズレがないようにします。要件定義書には、各開発項目の重要性や優先理由を明確に記載することが望ましいです。 クライアントから要件定義書の了承を得られた時点で、要件定義の工程は完了となります。

開発内容を明確化し「基本設計書」を作成

要件定義で開発に必要な機能を定めた後、「基本設計書」の作成に移ります。基本設計の段階では、画面レイアウト、ネットワーク構成、テーブル定義などシステムの重要部分の詳細を決定します。
また、各開発タスクを担うプロジェクトメンバーの選定も行います。基本設計書はクライアント側と開発側との間での誤解を避けるために、何度も見直されます。クライアントの承認が得られたら、基本設計の工程は完了となります。

実際に行う作業内容に沿い「詳細設計書」を作成

基本設計書が完成したら、その内容を基に「詳細設計書」の作成に取り掛かります。ここで重要なのは、基本設計書が「何をするのか」を示しているのに対し、詳細設計書では「どのように実行するのか」を記載する点です。 システムの内部構造を含む細部までを詳しく設計し、具体的な業務プランを策定することで、開発メンバーは作業を円滑に進めることができます。

要件定義を決める際のコツ・考え方

明確なゴールがなければ、プロジェクトの進行方向が定まらず、成功への道筋が見えません。そのため、要件定義はプロジェクト成功のカギを握る重要な工程と言えます。 要件定義をする際に重要なことは、プロジェクトの目的と目標を具体的に把握し、プロジェクトメンバーの役割をはっきりさせることです。

目的・目標を具体的に把握する

要件定義では、目的・目標を具体的に把握することが重要です。目的が不明確だと、「不要な開発が発生する」「優先順位の誤りが生じる」などのリスクが高まります。 これは、クライアントとの意図のズレ、現場の混乱、プロジェクトマネージャーへの不信感を招くことにもつながりかねません。 そのため、プロジェクト開始時にステークホルダーとの詳細なヒアリングは欠かせません。積極的にヒアリングを行い、プロジェクトの目的と目標を明確にするようにしましょう。

メンバーの役割分担を明確にする

プロジェクトメンバーの役割を、明確にすることも要件定義では重要になります。メンバーのスキルや能力、得意分野を把握することで、開発作業の割り当てが容易になります。 開発プロジェクトでは、開発現場の状況に応じて、効率よく進められる項目を優先して完了させる場合もあります。柔軟に対応できるよう、現場での役割をはっきりさせることがプロジェクトの成功に繋がります。

基本設計を決める際のポイント・考え方

基本設計では、要件定義を基にしてシステムを設計していきます。基本設計を決める際には、要件定義に不備がないか確認することや、各業務を担うプロジェクトメンバーのリソースを見極めることが重要です。
本章では、これらの基本設計を決める際のポイントや考え方について解説していきます。

要件定義に抜け漏れが無いか確認する

基本設計の段階で重要なのは、抜け漏れや曖昧な表現がないかを徹底的に確認することです。開発項目に漏れがある場合、後に追加開発が必要になる恐れがあります。 要件定義の不備は開発プロジェクトに大きな影響を及ぼす可能性があるため、注意が必要です。

各業務の担当者のリソースを確認する

基本設計の策定にあたっては、開発現場の状況の把握が欠かせません。 各業務を担当するメンバーが作業に取り組むための時間が十分にあるか、また作業にどの程度の時間が必要かを明確にすることが、基本設計の決定における重要な要素となります。

まとめ

本記事では、要件定義と基本設計の違いや具体的な作業工程、プロジェクト成功のコツなどを解説しました。システム開発において、これらの工程はプロジェクトの効率と成果に直接影響します。

要件定義は、開発前の重要な工程で、実装する機能や作業内容を明確にします。この段階での明確な定義は、プロジェクトのスムーズな進行に必須です。要件定義では、プロジェクトの目標、システムの業務フロー、機能などを詳細に決めます。一方で、

基本設計は、要件定義で定められた内容を基に、システムの具体的な設計を行います。この段階では、機能一覧表、ネットワーク構成図、データフロー図などの詳細を決定します。

今後、要件定義や基本設計といった上流工程に携わる方は、今回の記事を参考にして開発プロジェクトの成功を目指してください。

この記事のまとめ
  • 要件定義は、システム開発の目標や目的、機能などを明確化し、プロジェクトを効率的に進めるための基盤となる
  • 基本設計は、要件定義で決めた機能の具体的な実現方法を決定し、システムの全機能をリストアップしタスクを明確
  • 開発の初期段階では、クライアントの要求をヒアリングし、要件定義書を作成。その後、基本設計書を作り、詳細設計書に基づいて開発作業に移る
  • 要件定義を成功させるためには、プロジェクトの目的と目標を具体的に把握し、メンバーの役割を明確にすることが重要

Share

FacebookでシェアTwitterでシェアLINEでシェア