システム開発における外注管理とは?企画・要件定義も含めた関与のポイントや注意点

  • ソフトウェアテスト・品質保証
システム開発における外注管理とは?企画・要件定義も含めた関与のポイントや注意点
株式会社SHIFT マーケティンググループ
著者 株式会社SHIFT マーケティンググループ

Introduction

システム開発を外部の専門業者に委託することはよくありますが、その際に重要なのが外注管理です。社内の業務システムやWebシステムなど、企業にとって重要なシステムを円滑に開発・運用するためには、適切に外注管理を行わなければなりません。
また、外注管理は外部設計以降の工程だけを管理するものと思われがちですが、実際は企画・要件定義の質が、その後の外注管理の成否を大きく左右します。さらに開発を丸投げするのではなく、システム開発の流れや重要なポイントを押さえ、開発会社と適切にかかわっていく必要があります。
この記事では、システム開発における外注管理の役割、企画・要件定義〜開発工程ごとの関与ポイント、注意点などをトータルで解説します。

目次

システム開発における外注管理とは

システム開発における外注管理とは

外注管理は、その言葉から、「単に開発会社の進捗を追うこと」という認識になりがちです。しかし実際には、企画〜設計〜開発〜テスト〜運用までの工程を通して、発注側が主体的にプロジェクト品質を担保する活動のことです。

システム開発を外注する場合、すべてを開発会社に丸投げしてしまうと問題が起こることがあります。たとえば「仕様についての認識にずれが生じ、希望どおりのシステムができあがらなかった」、「作業に問題が発生していたのに報告が遅れ、納期をすぎても納品されなかった」などです。

システム開発会社は開発技術やノウハウをもっていますが、適切に外注管理しないとその技術やノウハウを活かせないこともあります。その結果、開発プロジェクト自体が失敗してしまう可能性もあるのです。

そのため、外注責任者はシステム開発について正しく理解し、外注管理を適切に行わなければなりません。

システム開発についてはこちらもご覧ください。
>>システム開発とは?工程や手法、依頼時のポイントまでわかりやすく解説

外注管理の役割

外注管理の役割には、次のようなものがあります。

・開発会社との契約の管理
開発会社の選定、契約の締結などを行います。予算、スケジュール、要求レベルに応じた適切な開発会社を選定する必要があります。

・開発会社への要望の正しい伝達
RFP(提案依頼書)の作成に加え、要求の整理をして開発会社に提示し、認識合わせを行います。これを受けて、開発会社は要件定義書や外部設計を作成します。開発会社に求めるシステムの仕様や機能について要望を正しく伝えることが、外注管理のもっとも重要な仕事のひとつです。

・開発プロジェクトの進捗管理、課題管理
開発作業中に、進捗状況の確認、問題が発生した場合の対処などを行います。

・テスト結果の確認、納品受け入れ確認
テスト結果の報告を受けて確認し、納品された成果物が要件定義書どおりになっているか受け入れ確認なども行います。

・稼働・保守・メンテナンス体制の管理
リリースされたシステムの稼働確認、社内の担当者への説明会、保守・メンテナンス体制の構築などを行います。

RFPについてはこちらもご覧ください。
>>RFPとは?意味やRFQ・RFIとの違い、構成要素、書き方について解説 のページへ

関連サービスについて

システム開発の流れと関わるポイント

システム開発を外注する際には、まずはシステム開発の流れを理解しておく必要があります。開発手法によって開発の流れは異なりますが、ここではウォーターフォール開発の場合のシステム開発の全体の流れをご説明し、どのポイントで発注側の外注管理者が関わっていくのかについて解説します。

ウォーターフォールモデルについてはこちらもご覧ください。
>>ウォーターフォールモデルとは?メリット・デメリット・特徴をわかりやすく解説 のページへ

企画・RFP作成・システム開発会社選定

最初の企画の工程では、現状抱えている課題や新しいビジネスアイデアをベースに、それに対してIT(システム)で解決・実現できるかどうかを模索します。たとえば新規サービスたちあげが目的であれば新しいシステムの設計を、業務プロセス改善が目的であれば既存システムの再構築を見据えて企画を練っていきます。

企画内容を固めるために、必要に応じて関連部署や上層部の承認を得たり、技術面で可能かどうかを確認するために専門家に相談したりしましょう。

企画が一つの明確な形になったら、目的と背景、課題と要望、予算、納期などを記載したRFP(提案依頼書)を作成し、複数のシステム開発会社(ベンダー)に相談します。

要件定義

特定のシステム開発会社と開発することを決定・契約したら、次に要件定義を行います。RFPをもとに開発会社が業務フローや画面遷移、データ構造などを要件定義書として提示してくるため、発注側はその内容を確認します。

開発会社と意識をすり合わせながら開発全体の方向性を確認し、機能、仕様、対応ブラウザ、運用方法、スケジュールなどを細かく決めていきます。ここで要望を具体的にしておくことで、システム開発会社に詳細な要件を伝えることが可能です。

なお、このフェーズでは基本的に発注側の外注管理者主導で企画を進めていきます。開発全体の方向性が決まる重要な工程なので、コミュニケーションを密にとって仕様を固めていく必要があります。

外部設計

外部設計とはユーザーからみえる仕様の設計のことで、基本的には開発会社側が主体となって設計を行います。

要件定義書をもとに画面レイアウトや画面遷移、データの入出力などシステムの外部仕様を設計し、外部設計書として提示してきます。発注側は必ず外部設計書をレビューし、漏れや意識のずれがないかなどを確認しましょう。

▽あわせて読みたい▽
>>要件定義とは?作成手順や前後の流れをわかりやすく解説!
>>要求仕様書とは?要件定義書やRFPとの違いから書き方、構成まで解説

内部設計

外部設計を受けて、データベースの設計、インフラ構築プログラム処理の方法などシステムの内部構造を設計します。

外部設計と同様に開発会社主体で作業が進みます。発注側は設計された内容が要件定義にあっているか、スケジュールに影響はないかなどを詳細に確認しましょう。

プログラミング

要件定義書、設計書をもとにシステムの製造が行われます。開発会社側で作業を行いますが、進捗管理や課題管理などについて発注側が定期的に確認する必要があります。

特に開発中はさまざまなシチュエーションが想定され、結果として予算とスケジュールの管理が曖昧になりがちな点に注意が必要です。

テスト

プログラムが要件通りに動作するか、バグがないかをチェックする工程です。通常は単体テスト、結合テスト、統合テスト、運用テストとテスト工程が進んでいきます。

基本的には開発会社が主体となって作業を進めますが、ユーザーテストの際には発注側がユーザーとしてテストに参加し、納品時の受け入れテストを行う場合もあります。

ユーザーテストについてはこちらもご覧ください。
>>ユーザーテストとは?2つのUX課題例とUXチェックポイントのページへ

保守・運用

システムが納品された後は保守・運用工程に入ります。システムの安定稼働のために定期的なシステムメンテナンスやセキュリティ監視、トラブル発生時の対応などができる体制を整えておく必要があります。

保守・運用を開発会社に依頼するのか、他社に依頼するのか、または自社内で対応するのかによって、対応内容が変わってきます。開発会社にそのまま依頼する場合、または他社に依頼する場合には、保守・運用作業について取り決めておき対応を委託します。

自社内で保守・運用作業を行う場合には、マニュアルなどを整備して社内に保守・運用体制を整える必要があります。

システム開発における外注管理の注意点

システム開発における外注管理の注意点

システム開発で外注管理を行う場合にどのような点に注意すべきかについて解説します。

契約内容を精査する

開発会社と契約を結ぶ際には、契約内容を細かく精査することが重要です。納品物は何か、要件定義書や仕様書などを納品することが明記されているか、納期や費用に問題はないかなどを詳細に確認しましょう。また、保守・運用フェーズのサポート体制をどうするかも取り決めておく必要があります。

要件定義を徹底する

外注管理でもっとも重要なフェーズが、要件定義です。特にウォーターフォール開発の場合には、要件定義書で開発するシステムの要件がすべて決まります。要件定義書に書いていないことは実現されないため、要件がすべて記載されているかを詳細に確認しなければなりません。

開発途中で機能を追加、変更する場合、要件定義、設計のやり直しになるため手戻りが発生します。特にウォーターフォール開発の場合は手戻りが想定されていないため、コストが大幅に増大してしまうでしょう。そのため、要件定義の前にシステム開発の目的や現状の問題点を明確にしておき、システム要件を固めておく必要があります。

リスクを管理する

システム開発を進めていく際には、さまざまなトラブルリスクがともないます。たとえば想定外の問題が発生したため進捗の遅延が発生する、費用が超過する、品質に問題が生じるなどです。そのため、開発がはじまる前に想定されるトラブルを洗い出し対策を講じておくことで、リスクを最低限に抑える必要があります。

主な想定として、開発開始前に技術的な問題はないか、無理なスケジュールになっていないか、担当者のスキルなどに問題はないか、などがあげられます。それぞれに対し、予備の予算やスケジュールの余裕をとっておく、代替策を準備するなどの対策を講じておくとよいでしょう。

コミュニケーションをしっかり取る

外注管理者は、開発会社の担当者としっかりとコミュニケーションをとることが重要です。

要件定義工程はシステムの仕様や要件が固まる重要な工程なため、RFP(提案依頼書)をもとに開発会社の担当者とミーティングして認識のずれをなくしていきます。そして、できあがった要件定義書をしっかりとレビューし、問題点や不明点などを担当者に詳しく確認することが重要です。

また、開発がはじまったら外注管理者と開発会社の担当者が定期的にミーティングを行い、リスクをはやめに摘み取るようにしましょう。

このように、開発会社とのコミュニケーションをしっかりととることで、互いの認識のずれをなくしプロジェクトを円滑に進めていくことが重要です。

主なシステム開発手法別の注意点

システム開発の外注管理者として注意すべきことについてご説明しましたが、開発手法が変わると注意すべき点も異なります。外注管理者は開発会社が採用している開発手法について理解を深め、それぞれの手法に対応する必要があります。

ここでは、主なシステム開発手法とそれぞれの手法において外注管理者が注意すべき点について解説します。

アジャイル開発

アジャイル開発は、1〜2週間程度の短い反復で計画・設計・実装・テストを回し、優先度の高い機能から継続的に開発する手法です。

その柔軟性から、発注者が優先度をしっかりとコントロールしなければならない点に注意が必要です。たとえスプリントの途中であっても開発状況に応じて優先度を変更するなど、常にプロジェクトの動向をチェックする姿勢が求められます。発注者が開発現場を頻繁に訪れ、定例ミーティングなどで認識差を適宜修正して、スコープ肥大を抑えつつゴールを適切に調整しましょう。

▽あわせて読みたい▽
>>アジャイル開発とは?概要や進め方、ウォーターフォール型開発との違いやスクラムについて解説  のページへ
>>スプリントとは?アジャイル開発での重要性や体制、作業プロセスを解説のページへ

ウォーターフォール開発

本記事でも例として提示した、要件定義→設計→実装→テスト→移行を段階的に進める計画主導型の開発手法です。初期に全体計画を固め、変更を前提としないため、主に大規模開発に適しています。

その内容から、初期の要件確定が非常に重要です。途中変更は大きなロスとなるため、変更は基本しないものとして着手する意識が求められます。また各工程のゲートレビューで品質を担保したり、適切にリスクヘッジを意識したりすることで、遅延とコスト超過を防ぎましょう。

ウォーターフォールモデルについてはこちらもご覧ください。
>>ウォーターフォールモデルとは?メリット・デメリット・特徴をわかりやすく解説のページへ

まとめ

この記事では、システム開発における外注管理とは何か、システム開発の流れと関わるポイントや注意点などについて解説しました。外注管理を適切に行うためには、開発会社と密にコミュニケーションを取り、開発手法を正しく理解しておく必要があります。

適切な外注管理を行うことで、システム開発を成功に導くことができるでしょう。

SHIFTのアジャイル開発支援でスピーディーで柔軟なプロダクト開発を実現

システム開発会社への外注でお悩みなら、SHIFTにご相談ください。弊社はお客様の立場に立ち、綿密なコミュニケーションと十分なリスクヘッジによる円滑な開発を心がけております。

また、弊社ではお客様の開発環境支援も行っております。SHIFTのアジャイル開発支援(SHIFT 1LINE)をご活用いただければ、アジャイル開発に必要な体制を1チーム丸ごとご提供可能です。お客様のアジャイル内製開発体制の構築とプロジェクト推進において、開発、ITガバナンス、プロダクトデザインなどのすべての局面で支援いたします。

「システム開発を依頼したいけど外注管理のノウハウがない」などで不安なご担当者様も、ぜひ一度弊社までご相談ください。

>>お問い合わせ
>>料金について

 

永井 敏隆

監修

株式会社SHIFT
「ヒンシツ大学」クオリティ エヴァンジェリスト
永井 敏隆

大手IT会社にて、17年間ソフトウェア製品の開発に従事し、ソフトウェアエンジニアリングを深耕。SE支援部門に移り、システム開発の標準化を担当し、IPAのITスペシャリスト委員として活動。また100を超えるお客様の現場の支援を通して、品質向上活動の様々な側面を経験。その後、人材育成に従事し、4年に渡り開発者を技術とマインドの両面から指導。2019年、ヒンシツ大学の講師としてSHIFTに参画。

担当講座

・コンポーネントテスト講座
・テスト自動化実践講座
・DevOpsテスト入門講座
・テスト戦略講座
・設計品質ワークショップ
など多数

――――――――――
ヒンシツ大学とは、ソフトウェアの品質保証サービスを主力事業とする株式会社SHIFTが展開する教育専門機関です。
SHIFTが事業運営において培ったノウハウを言語化・体系化し、講座として提供しており、品質に対する意識の向上、さらには実践的な方法論の習得など、講座を通して、お客様の品質課題の解決を支援しています。
https://service.shiftinc.jp/softwaretest/hinshitsu-univ/
https://www.hinshitsu-univ.jp/
――――――――――

この記事を書いた人

株式会社SHIFT マーケティンググループ
著者 株式会社SHIFT マーケティンググループ

SHIFTは「売れるサービスづくり」を得意とし、お客様の事業成長を全力で支援します。無駄のないスマートな社会の実現に向けて、ITの総合ソリューションを提供する会社です。

サービスサイト:https://service.shiftinc.jp/
コーポレートサイト:https://www.shiftinc.jp/
X(旧Twitter):https://twitter.com/SHIFT_cp

ご支援業種

  • 製造、金融(銀行・証券・保険・決済)、情報・通信・メディア、流通・EC・運輸、ゲーム・エンターテイメント

など多数

Top