ページの本文へ

テクノロジー

システム開発の基礎知識と手法、開発費用や外部依頼時の注意点

業務効率化や顧客満足度向上に欠かせないシステム開発。しかし、その手法や費用、開発会社選びなど、初めての方には分かりづらい点も多いのではないでしょうか。
本記事では、システム開発の基礎知識から開発手法の種類、費用、依頼時の注意点まで、分かりやすく解説します。システム開発を検討している方、開発についてより深く知りたい方は、ぜひご一読ください。

  1. システム開発とは
  2. システム開発が必要とされる背景
  3. システム開発の代表的な手法
  4. システムの一例
  5. システム開発の流れ
  6. 役割ごとに変わるシステム開発への携わり方
  7. システム開発でかかる費用
  8. システム開発を依頼する際の注意点
  9. システム開発会社の探し方

システム開発とは

システム開発とは、企業が業務を進めていく中で生じている課題に対し、ITを用いて解決する仕組みを作り上げることを指します。ITシステムを導入することで、業務上の課題を解消し、業務時間の削減や業務上のミスを防止でき、業務効率化につながります。
例えば、勤怠管理システムを開発することで紙でのデータ管理にかかっていた膨大な集計時間とミスの発生を解消したり、販売管理システムを開発することで売買情報や顧客情報をシステムで一元管理したりできます。

システム開発が必要とされる背景

組織の課題解決のため

ビジネスの状況は日々変化していくため、売り上げの向上や社員の増加、新しい商流の開拓などの過程で、既存の業務の中に課題が生じることがあります。このような中で発生した課題を解決するため、業務効率化や生産性の向上、サービス品質の向上、組織運用フローの改善をシステムによって実現します。

データによる管理とデータ分析のため

以前は紙でやっていた情報の管理も、企業規模の拡大により保管場所の問題や管理業務上のヒューマンエラーが発生したり、経営判断の参考として情報を参照し、分析するといったことが困難になったりします。このような課題を解決するため、契約情報や顧客情報、社員情報など業務上で発生するさまざまな情報の管理をシステムによって実現します。

顧客満足度の向上のため

顧客が利用できるシステムを開発・導入する場合、顧客満足度を向上させることも可能です。例えば、宿泊施設などにおいて予約をシステムで完結させ、顧客が予約をスムーズに完了できれば、その使いやすさでリピーターになってもらえる可能性が高まります。企業が提供するサービスに出会うまでの体験から、サービスを実際に購入し、利用するときの顧客体験をシステムによってより良いものにすることで、顧客満足度の向上を実現します。

システム開発の代表的な手法

システム開発は毎回同じやり方で行われるわけではなく、いくつか種類があります。ここでは代表的な手法について、特徴を紹介します。

ウォーターフォール型開発

ウォーターフォール型開発とは、事前に工程を引き、その後工程どおりに開発を進めていく手法です。最も古くから利用されている一般的な開発手法です。事前に全体の工程を決め、開発を原則そのとおりに進めていくため、開発開始前の要件定義の精度が重要になります。
最も一般的な開発手法なため、知見を持つ技術者も多く、さまざまなシステム開発に適用できる汎用性の高い方法ではありますが、計画どおりに進まない工程が発生した際に、全体の遅れにつながるリスクもあります。

アジャイル型開発

アジャイル型開発とは、実装項目を細分化し、計画、設計、実装、テストのサイクルを繰り返して開発する手法です。システムのベースとなる機能や、クライアントにとって優先度が高い機能から順に計画、設計、実装、テストを行い、都度レビューをもらうことで開発を進めます。要件の大枠が決まっているものの、完全に固まっていない場合に用いることがある手法です。
機能が少しずつ実装されていくため、利用開始のタイミングが早く、また要望に応じた変更を加える余地がありますが、実装項目の細分化によりスケジュールが複雑になりやすく、クライアントとシステム開発者双方の綿密なコミュニケーションと工程管理が必要になります。

スパイラル型開発

スパイラル型開発とは、システムの試作品を作りレビューをもらう工程を繰り返し、開発する手法です。固まっている要件を基に工程を分け、工程を分けた試作品を作成し、試作品の機能や使用感を基にシステムのリスク検証のレビューを行い、レビューを反映して完成させていきます。
レビューを反映させることでシステムの質を高められるため、ユーザーにとって満足度の高いシステムになりやすいですが、試作品を都度完成させていくため、要件の変更次第で完成までの期間が延びてしまうリスクがあります。

プロトタイピング型開発

プロトタイピング型開発とは、開発を行う前に試作品を作成し、その後レビュー内容を踏まえ開発する手法です。固まっている要件を基に機能を包括した試作品を作成し、試作品の機能や使用感を基に要件どおりのシステムになっているか、新たに気づいた追加要件はないかのレビューを行い、レビューを反映して本開発を進めます。要件を包括した試作品が作る必要があるため、小規模な開発で用いられます。
クライアントに試作品のシステムを見せられるため、イメージをつかんでもらいやすいものですが、本システム導入までに期間を要する点には注意が必要です。

システムの一例

基幹システム

基幹システムとは、企業が業務を行う上で必須となる人、物、金を管理する業務を効率化するためのシステムです。
例:人事・給与管理システム、在庫管理システム、生産管理システムなど

業務システム

業務システムとは、企業内のさまざまな業務を効率化するためのシステムです。基幹システム以外の社内利用向けシステムは、業務システムということが多いです。
例:営業支援システム、顧客管理システム、勤怠管理システムなど

ユーザー向けシステム

BtoC企業がお客さま向けに導入し、購買活動などのユーザー体験を向上させるためのシステムです。主にお客さまが利用するシステムということで、社外システムという言い方をすることもあります。
例:ECサイト、予約システムなど

システム開発の流れ

ここでは、最も一般的な開発手法であるウォーターフォール型開発でよく行われるシステム開発の流れを紹介します。

要件定義

「システム開発」といっても、何を作るかはクライアントの課題によって変わります。そのため、まずはクライアントからどういった経緯でシステム開発が必要になったのかのヒアリングを実施します。ヒアリングの中で解決するべき課題を明確にし、課題解決に必要な機能を整理します。これを「要件定義」といいます。

基本設計

要件定義で必要な機能が明確になったら、次はシステムの外観にあたり「画面構成(UI)」を決める工程に入ります。画面構成から実際に社員やお客さまなどのユーザーが操作するイメージをつかんでもらい、ユーザー目線の視点のフィードバックにより調整を行います。これを「基本設計」といいます。

詳細設計

基本設計で画面構成が決まったら、その内容に従い、具体的な作成方法を決める工程に入ります。この工程では、システム仕様書を作成します。システム仕様書は後の工程となるプログラミングを行う際に利用するため、技術的に実装できるかをプログラマーが判断できるよう、画面遷移や入力項目、データベースなどの情報を詳細に伝える必要があります。これを「詳細設計」といいます。

プログラミング

詳細設計でシステム仕様が決まったら、実際の開発のフェーズに入ります。システム仕様書を基にプログラマーやシステムエンジニアが「プログラミング」を行います。

テスト

プログラミングが完了し、実際に動くシステムができ上がったら、テストの工程に入ります。開発したシステムが要件定義で定めたとおりに動くかのチェックをシステムエンジニアが行います。テストは単体テスト、結合テスト、総合テスト、運用テストの順に行われます。

本番環境への実装

無事にテストをクリアして要件どおりのシステムが完成したら、次は本番環境への実装を行います。新規で実装するシステムであればそのまま実装し、既存システムからの移行が伴う場合はこのタイミングでデータ移行を行います。

保守・運用

システムはリリース後に不具合や障害が発生することがあるため、稼働を止めないよう復旧作業やメンテナンスを都度行います。また、クライアントが実際に利用して追加機能が必要になった場合は、機能実装の対応をする場合もあります。

役割ごとに変わるシステム開発への携わり方

システム開発は基本的には複数人のチームで進めます。システム開発を内製化する場合でも外注する場合でも必要なポジションになるため、ここでは主な役割の名称と業務内容を解説します。

プロジェクトマネージャー(PM)

「プロジェクトマネージャー」は、システム開発プロジェクトの全体の進行管理を担います。プロジェクトメンバーの各種工程の進行状況を確認し、遅れが生じそうな状況やアクシデントや懸念に対し、人員配置やスケジュール面の調整、クライアントとの相談を行います。

システムエンジニア(SE)

「システムエンジニア」は、システムの要件定義と設計、開発を担います。クライアントへのヒアリングからシステムに必要な機能などを整理し、基本設計や詳細設計を実施する、システムの全体を管理するポジションです。

プログラマー(PG)

「プログラマー」は、実際に機能を実装するためのプログラミングを担います。システムエンジニアが作成した基本設計書や、詳細設計書を基に開発を進めます。

システム開発でかかる費用

システム開発はシステム自体が多種多様で、また企業規模によって求められる機能も変わるため、目安となるような費用相場はありません。費用の占める要素は開発環境構築費やサーバーなどの機材費用もありますが、8割前後は人件費が占めているといわれています。
システム開発会社ではシステム開発にかかる人件費を「人月」という単位で計算していることが多いです。これは1人の開発メンバーの労働時間を一日あたり8時間、ひと月あたり20日と仮定して160時間の稼働を1人月と表する計算方法になっています。
システム開発を外注する場合、費用の根拠として人月が単位として出てくる場合があるため、見積もりを取る際に確認するとよいでしょう。

システム開発を依頼する際の注意点

導入目的や課題、必要機能を明確にする

まずは導入目的や課題、必要機能を明確にしましょう。必要機能が明確であれば、見積もり依頼時にシステム開発会社から正確な金額がもらえるようになります。また、欲しい機能を考える場合、どうしてもあれもこれもと欲しい機能をたくさん伝えてしまいがちなのですが、機能要件が増えればその分費用も膨らむため、「絶対に必要な機能」と「できればあってほしい機能」などに分けて考え、優先順位を伝えられるようにしておきましょう。

システム開発プロジェクト中は入念なコミュニケーションが必要になる

導入目的や課題、必要機能を明確にしたら、次はその内容を正確にシステム開発会社に伝える必要があります。要件定義の段階で認識に食い違いが生まれると理想とはかけ離れたシステムが完成してしまう可能性もあります。大規模なシステム開発では途中何度も質問や確認、相談事の連絡が発生します。回答を保留にすることで最終的な実装予定日に間に合わないといったことが発生しないよう、外注する場合も連絡のフロントや連絡ツールなどは決めておく必要があるでしょう。

会社の実績やシステムエンジニア、プログラマーのスキルを確認する

実際にシステム開発を依頼した際、そのシステム開発会社が質の高いシステムを作れるのかも重要です。特に外注先はプロジェクトが動き出してからは変えられないため、慎重に選びましょう。客観的に分かるような指標として、技術的な資格を持っているシステムエンジニアやプログラマーが在籍しているかや、そのシステム開発会社の導入企業数や導入企業の企業規模などを確認しておきましょう。

相場観を知るため、同一の条件で見積もりを複数取る

システムの導入は専門的な内容のため、見積もりをもらってもそれが適正な金額なのか判断が難しいかと思います。自身の必要とするシステムの相場を知るためにも、1社だけではなく、複数のシステム開発会社に見積もりを依頼しましょう。その際、正確に比較するため、依頼時の機能や納期の条件などは同一にするようにしましょう。

システム開発会社の探し方

システム開発に特化したマッチングサイトを利用する

最も手軽なのはシステム開発に特化したマッチングサイトを利用することです。マッチングサイトでは予算や課題、目的、納期などのシステムの諸条件を入力し登録しておくことで、条件に合ったシステム開発会社を紹介してくれます。紹介は複数社届くため、全くのゼロから探し始める際に候補を絞り込み比較検討を進められる点がメリットです。ただし、商談を進めていく中で要件が固まることになるため、予算を超えた金額が提示されるなどで条件の折り合いがつかない可能性がある点はデメリットです。

システム開発会社が参加するITの展示会に参加する

ITの分野では、定期的に自社サービスや自社で開発したシステム事例を紹介する展示会を実施していることがあります。展示物として実際のサービスを体験できたり、分かりやすい導入実績やアワードのアピールがあったりするため、自社の目的に合っているかを自らの目で確かめられます。また、システム開発会社の社員と実際にコミュニケーションが取れる点もメリットです。ただし、展示会ではどの企業も良い部分のみを見せた紹介をするため、どのシステム開発会社がいいのかを、その場で絞り込むのは難しい点はデメリットです。

関係会社や知り合いから紹介してもらう

実際にシステムを導入している業務上の関係会社や、知り合いから紹介してもらうという方法もあります。導入済みの会社からの紹介になるため、実体験に沿った判断で紹介してもらえる点や、システム開発会社に話が通った状態で直ちに商談に進める点がメリットです。ただし、紹介の場合、会社の選択肢が限られることや、クライアントの業態に関する知見が少ないシステム開発会社を紹介されてしまうような、ミスマッチが発生する可能性がある点はデメリットです。

システム開発会社のWebサイトを確認する

システム開発会社を検索し、直接Webサイトを確認することも一つの方法です。Webサイトは各会社が十分な時間をかけて作成しており、商談のきっかけにもなる重要な会社情報の発信媒体として情報が記載されているため、その会社ごとの強みがよく分かる点がメリットです。ただし、手掛かりのない状況から探していくため、探すのに時間を要する点がデメリットです。

当社の関連ソリューション/サービス

関連記事はこちら