Loading...

最終更新日時:2023.11.22 (公開日:2023.08.22)

プロジェクトを成功に導く、現場で役立つ要件定義の進め方 奮闘物語

システム開発において、要件定義は特に重要な役割を担う工程です。要件定義の段階で必要な要件が定義がされておらず、不十分な状態で開発工程まで進んでしまうと、その開発プロジェクトが失敗する確率はかなり高まります。要件定義での失敗がプロジェクトの失敗に起因する、という認識は広く一般的に知られております。

それでも要件定義の作りこみが甘くプロジェクトが失敗に終わる、という方々が絶えないのは、要件定義がそれだけ難しいということではないでしょうか。上流工程のひとつである要件定義について、解説していきます。

成功プロジェクトにするための要件定義とは?

そもそも「要件定義」を正確に理解している方は少ないのでないでしょうか。要件定義とは、システム開発工程の1番最初に行われる工程です。システム開発のその後を決定づけるため、成功プロジェクトへの鍵となるのが要件定義です。要件定義とは、「依頼元のクライアント」または「社内」の要求に対して、開発者の視点で要件を取りまとめたものになります。そのため、要求の時点で漏れが発生すると、「要件定義」を修正するといった事も少なくありません。

要件定義の進め方は大きく5ステップに分かれます。

【要件定義の進め方 5ステップ】

1.解決したい課題と目標を明確にする

  • 依頼元からのリクエストが実現できるものであるか
  • リクエストに対して、明確に数字で説明できるのものは数字で説明する
  • 要求の要件化が困難な場合、依頼元と速やかに協議の場を調整する

2.システム全体の構成を明確にする

  • 外部システムとの連携を考慮する場合、制約事項などを予め理解しておく
  • 他社、自社の責任分界点を明確にしておく
  • インフラの維持に掛かる費用などを予め算出しておく

3.機能要件/非機能要件を定義する

  • 業務量に応じたリクエスト/レスポンスのデータ量を理解しておく
  • 機能要件が他の機能要件に影響があるか否かを理解しておく
  • 個人情報の取り扱いなどを行う場合、法務と予め検討しておく

4.スケジュール/予算/プロジェクトメンバー/コミュニケーション方法を定義する

  • 組込製品の場合、機器の原価と台数を理解しておく
  • ステークホルダーが多い場合は、予めコミュニケーション方法を相談しておく
  • テスト環境を開発&テストチームと共有して利用するか否かを検討しておく

5.要件定義書を作成する

  • 要求定義の番号とトレーサビリティが取れているか
  • 各ステークホルダーが理解できるような内容になっているか
  • 実現できない要件となっていないか

このような要件定義の流れに沿って、システム開発者の視点からユーザーの要求、要望を確認することが重要なポイントとなります。ユーザーと開発者の間で要求が明確化され、抜け漏れがない状態にできるよう、意志疎通を図る必要があるでしょう。また、要件定義の担当者がシステム開発のイメージを掴むだけでは、要件定義とは言えません。ドキュメントを作成することで、プロジェクトの関係者にも共有することが大切です。プロジェクトを成功させるためにも、的確な要件定義を目指していきましょう。

テスト実行をはじめて行うエンジニア向けのマニュアル型資料
テスト実施の基本とバク報告の書き方を解説
  テスト実行者向け はじめてのガイドブック  

でも・・・、営業がよく耳にする現場の声

バルテス社は、ユーザー企業、ベンダー企業、開発部門、情報システム部門、業務部門、と業種業界部署に限らず、幅広い分野にて支援を行っています。営業としても様々なお客様と打合せを重ねてきました。そんな中よく耳にするお困りごとの1つとして、プロジェクトがスケジュール通りに進まない、という声があります。進行中のプロジェクトにおいて、テスト工程で不具合が多くてプロジェクトが大幅に遅延、リリース時期に間に合わない、といった内容がとても多いです。

よく耳にするお困りごとの2つ目として、プロジェクト体制に起因する失敗が挙げられます。ソフトウェア開発の現場において、俗人化やリソース不足は昔から根強く残る課題ではないでしょうか。

上流工程に着目した意見として、次のようなケースが挙げられます。

  • 担当者によって成果物の記載粒度が異なる
  • 複数の担当者によって整合性の取れない成果物が完成し、後々不具合の作りこみにつながる
  • スケジュールに余裕がなく成果物を作りこむ時間がない

このようなご相談をよくいただきます。プロジェクトがうまく進まなかった方々の多くは、「要件定義が甘かった」と口にします。そもそも要件定義はどうして必要なのか、何をもって要件定義は成功といえるのか、現場の中で共通認識が取れていないことも多くあるのではないでしょうか。何をもって要件定義は成功といえるのでしょうか。

プロジェクト・プロダクト全体の品質を向上させ、デジタル改革を加速させます
バルテスの品質向上サービスのご紹介

現場で役立つテストプロセス標準化

ここまでの説明で、要件定義の難しさは十分に伝わったのではないでしょうか。では次に、要件定義から品質の向上につなげるために何を行うべきなのかご紹介していきます。弊社では3つのアプローチにて、要件定義のご支援を行っております。

1つめは「品質戦略マップ」によるご支援です。これはプロジェクトが立ち上がるタイミングで、各開発工程において、いつだれがどのような品質基準をどのように担保していくか、という観点から戦略を定義していく手法です。こちらはあくまで現場ファーストの手法です。開発プロジェクト全体を通して、各工程に品質基準を設けることで各工程にて定義することを明確にするものです。今回の要件定義の場合、要件定義としてのゴールを戦略的に基準を定めておくことが必要です。例えば、「システムとして達成すべき性能が定量的に定められていること」などが一例となります。

2つ目は「仕様書インスペクション」です。これは要件定義にとどまらず、上流工程で作成される成果物、ドキュメントを品質の観点からレビューするサービスです。上流工程でドキュメントを作成する際、どのようなものをどのように作っていくか、という観点が主軸となります。バルテス社はその中で、下流工程でどのようなテストを実施するのか、開発の各工程でどのような品質基準を設ける必要があるのか、上流工程から品質向上の支援を行います。要件定義の場合ですが、要件の考慮漏れがないか否かを確認したり、あるいは例外的な処理について考慮されているかなどを軸に確認を進めます。

3つ目は「ソフトウェア品質教育」です。ここまで色々と説明しましたが、そもそも知識が不足している、チーム内の共通認識が取れていない、ということもあるのではないでしょうか。バルテス社はソフトウェア品質セミナーを18コース保有しており、開発側の立場、ユーザー側の立場、2軸で品質向上を目指す内容を展開しています。開発企業の立場からシステム開発の品質を向上させるには、要件定義から機能設計へどの様に移行するべきか、上流工程ではどのように品質管理を行うべきか、といった内容を盛り込んでいます。逆に、ユーザー企業の立場からシステム開発を発注する際、どのように要求を発注するべきか、開発者の作成したドキュメントをどのようにレビューするのか、という観点でもコースをご用意しております。

このような3つのアプローチを主軸に、様々なお客様にマッチするような上流工程のご支援をしてきました。バルテス社では「現場で役立つ」ことを前提にした上流工程のご支援をしております。

品質を高め、コストダウンができる効果を9つの事例でご紹介
テストアウトソーシングの効果とコストダウン実例ガイドブック

まとめ

「できるの?できないの?成功プロジェクトへの要件定義 奮闘物語」と題して説明してきました。要件定義はプロジェクトの成功への鍵となる工程です。ソフトウェア開発における品質の向上を目指す際、どのように要件定義を進めていくのか、今一度考えてみてはいかがでしょうか。

当サイトでは、テスト技法を学びたい方、アジャイル開発やマイグレーションのテスト手法について知りたい方、テストアウトソーシングサービスに興味のある方へ、ダウンロード資料を多数ご用意しております。ぜひダウンロードいただき、資料をご活用ください。

CONTACT

お問い合わせ

バルテスでソフトウェアの品質向上と安全を手に入れよう