システム開発依頼を成功させるポイントと会社選びガイド!初めてでも安心【2024年最新版】
PCやスマートフォンが仕事に欠かせないツールとなった今、業種・規模を問わず多くの企業がシステムを導入し、業務効率化に取り組んでいます。また、ネットショップやソーシャルメディアといったwebサービスを起ち上げる際も、その基盤となるのはやはりシステムです。
なかには営業支援システム(SFA)を導入したことで過去最高の売上を記録したり、経理や人事といったバックオフィス系の業務をシステム化し、年間コストを大幅に改善した企業も少なくありません。
ただ、これからシステムを導入する企業の担当者のなかには、「開発することは決まったけど、何から始めればいいのかわからない…」、「具体的にどうやって進めていけばいいのか不安…」という人も多いのではないでしょうか?
そこで今回はシステム開発を成功させるための依頼の流れ、会社の選び方をご紹介します。
そもそもシステム開発とは?
そもそもシステム開発とはどういったものなのでしょうか?
システム開発とは、ひとことで言えば、仕事に必要な枠組みを構築すること。業務上の課題にあわせて、サーバーやプログラム、ネットワーク技術などを組み合わせ、業務を効率化・最適化するための仕組みをつくることを指します。
一般的には社外のSIerやITベンダーといったシステム開発会社に発注し、プロジェクトマネージャーの管理のもとプログラミングによって開発を進めていくのが主になります。
より広い意味では、ExcelやAccessで簡易的な業務用ツールを作成するのもシステム開発の1つです。
あるいは社内に散らばっていたデータをオンラインストレージに集約し、社員それぞれに権限を与えて共用できるようにしたりするのも、仕事の枠組みづくりという点ではやはりシステム開発の一環と言えるでしょう。
システム開発における費用相場早見表【実際の実績から算出】
システム開発を依頼する際に必要な費用を確認していきましょう。
システム開発の費用ですが、基幹システムの場合は10万~1,000万円程度、業務支援システムの場合は5万~400万円程度、Webシステムの場合はシステムの種類によりますが40万~500万円程度の費用がかかるとされています。
<更に詳しい費用内訳が知りたい方はこちらの記事へ>
システム開発の流れ
次にシステム開発の流れについて、プロセスごとにご紹介します。
企画・要件定義
まずは解決したい課題にあわせて、発注者側でシステムの概要を企画書にまとめます。
記載項目としては、開発の目的・背景、利用人数、稼働開始時期の目安など。システム開発会社との打ち合わせ資料を兼ねて、PowerPointなどで作成するのが一般的です。
サーバー環境やデータ容量など技術的な要件まで盛り込めればベストですが、この段階では無理してそこまでする必要はありません。
大切なのは「システムで何を実現したいのか」を明確にすること。課題をきちんと整理し、ゴールを数値に落とし込んで明確化することがシステム開発の成否を分けます。
その点に絞ってシンプルな企画書にまとめた方が、開発サイドからの提案も引き出しやすくなります。
RFP(提案依頼書)の作成【サンプル掲載】
企画書の内容をもとに、開発の背景や具体的な数値目標、予算、希望納期などをRFP(提案依頼書)にまとめます。RFPを作成したら、複数のシステム会社を集めてオリエンテーション(RFPの説明会)を開き、コンペ形式で見積もりを依頼し、各社からの回答を待ちます。
<サンプル>
システム開発が初めての場合、RFPの作成はハードルが高そうに思われるかもしれませんが、企画書と同様ここでもポイントとなるのは、「システムで何をしたいのか」明確に伝えること。
<より詳しくはRFPの項目や書き方にて解説していますので、参考にしてみてください。>
契約
出典: テンプレートの無料ダウンロード https://template.k-solution.info/2008/02/01_1_29.html
各社からの見積もりをもとに依頼先を決め、契約を結びます。
システム開発の場合、契約書は大きく分けて2種類。
まずは大枠の予算や開発を発注する旨をまとめた「基本契約書」を作成します。
さらに具体的な作業分担や共同作業の内容、最終的な支払金額などを盛り込んだ「個別契約書」を締結、本契約となります。
個別契約書による契約をおろそかにしてしまうと、自社と開発先の役割分担や保守内容、支払いなどに関してのちのちトラブルが生じることもあるので、充分に注意しましょう。
設計
ここからは基本的にシステム開発会社側が担当する領域です。
まずはクライアントの企画書・RFPに沿って、システムの構築環境や仕様、機能、プログラミング言語、開発期間、開発人数などをまとめた要件定義書を作成。それをさらに内部設計・外部設計へ落とし込んでいきます。
システムの動作やデータ処理を司る内部設計については、基本的に開発サイドの技術力に委ねられることになります。一方の外部設計(UIやデザインの設計)については、最初に「モック」と呼ばれる試作品を作成し、クライアント側の確認をとりながら開発を進めていくのが一般的です。
システムの使い勝手を大きく左右する部分なので、開発会社から外部設計の確認を求められたらきちんと時間をとって対応し、気になる点や改善要望は余すことなく伝えるようにしましょう。
プログラミング
内部設計・外部設計の仕様書に沿って開発チームを編成し、プログラミングによって必要な機能やUIを実装していきます。大手SIerや代理店など、会社によっては孫請けの会社に外注するケースも多いです。
テスト
プログラミングが完了したら、機能が正常に作動するか、メニューやボタンなど使い勝手の部分に問題はないかテストを行ないます。
最近は多くのシステム開発会社がアジャイル開発(※)を取り入れていることもあり、1つのプログラムが完成したらまずは機能単体でのテスト、それで問題なければ他機能との連携をチェックする結合テスト、さらに最終的なシステムテストといったように、段階を踏んでテストするケースが多くなってきました。
※設計やプログラミングといった各工程を短く区切り、それを反復することでシステム開発を進める手法
納品
最終テストで問題がなければ晴れて納品、初期設定などを経てシステムの稼働スタートです。
システム会社によっては納品とあわせてユーザー(従業員)向けの操作説明会や運用セミナーを実施してくれることもあります。
運用・保守
基本契約書・個別契約書沿って、開発元がシステム稼働後の定期メンテナス、必要に応じた改修などを行ないます。
どれほど完成度の高いシステムであっても、長期間の利用によりデータが膨大に蓄積され、処理の遅延が発生したり、ユーザーの増加に伴うアクセス集中で一時的に動作が停止したりすることがあります。
また、状況によっては他のシステムと連携させる必要が生じるケースも少なくありません。
そういった意味で保守・運用は非常に大切なプロセスです。
機能改善やカスタマイズのために追加料金が発生することもあるので、万が一の時に慌てないよう、契約時にサポート内容をきちんと詰めておくことが肝要です。
何より大切なことは「要件定義」
システム開発の流れについてざっと説明しましたが、このなかで最も大切なのはやはり要件定義。
要件定義があいまいなまま設計やプログラミングの工程に移ってしまうと、手戻り(不備が発覚し、前工程に戻ること)を繰り返し、コストがかさんでしまうことがよく起こります。
また、要件定義が明確でないということは、システムの役割そのものが定まっていないということなので、稼働後の効果測定ができず、具体的な成果をあげるのは難しくなります。
前述の通り、発注者側での要件定義はRFPに落とし込むのが一般的ですが、大切なのはフォーマットより中身。「システムで何を解決したいのか」「どういう状態を実現したいのか」明確であれば、PowerPointやExcelでも問題ありません。
以下2点のポイントもふまえつつ、しっかり時間をかけて要件定義を行ないましょう。
具体的な数字に落とし込む
冒頭の「成否を分ける4つのチェックポイント」でも触れた通り、開発サイドに要件を正確に伝えるためには具体的な数字に落とし込むのが第一。
データの入力時間や集計工数、リードタイム、売上、決裁プロセスなど改善したい要素を洗い出し、それぞれ「○○%減」、「-〇時間」、「+〇〇万円」といった形で企画書やRFPに盛り込みましょう。
必須要件と希望要件を切り分ける
システム開発では、あらかじめ思い描いた機能をすべて実装できるとは限りません。開発を進めていくなかでデータ容量などの問題から機能を制限せざるをえなかったり、1つの機能が他の機能に干渉して両立が難しくなってしまったりするのは、システムの種類や規模を問わずままあることです。
そうした事態にスムーズに対応するためにも、要件定義の段階で必須要件(必ず実装したい機能やメニュー)と、希望要件(できれば実装したい機能やメニュー)を切り分けておきましょう。
きちんと切り分けさえしておけば、システム稼働後にあらためてサーバーを拡張し、優先順位の高い希望要件から追加するといったことも可能になります。
システム開発会社によっては要件定義から手伝ってくれる会社もあるので、不安な場合は会社を探してみましょう。
依頼する前に押さえておきたいシステムの種類
SIerやITベンダーにシステム開発を依頼する場合、利用するハードウェアや構築環境によってシステムは大きく3つの種類に分けられます。それぞれ簡単にご紹介します。
汎用系システム
IBMや富士通、日立などが提供しているハイスペックなハードウェア(ホストコンピュータ)を使って開発する業務用システムです。身近なところでは、電子マネー「Suica」による自動改札システムも汎用系システムの1つです。
今回取り上げる3種類のなかでは最も歴史が古く、メガバンクや保険会社、証券会社の基幹システム、自治体の住民票管理システムなどの多くがホストコンピュータを使った汎用系システムとして開発されてきました。
ホストコンピュータは市販されているPCと比べて遥かに計算処理能力に優れているため、大量のデータを扱えます。しかしシステム内部のパーツやOS、アプリケーションソフトにいたるまで開発元(=IBM、富士通など)の独自仕様のものになるため、多くの場合、他のシステムと互換性がなく、機能面で連携させたりすることもできません。
汎用系システムの開発には、COBOLやPL/Iといった比較的古いタイプのプログラミング言語が使われることが多いようです。
オープン系システム
特定メーカーのホストコンピュータやOSを使って開発する汎用型システムに対し、広く公開されているOS(Windowsなど)やレンタルサーバー、各種パーツを組み合わせて開発されるのがオープン系システムです。
市販のハードウェアを用いるため、処理速度や扱えるデータ容量では汎用系システムに及ばないものの、ハードウェアの仕様にとらわれることなく、レイアウト変更や機能追加にも柔軟に対応できます。
主にJavaやPHP、C、VBといったプログラミング言語によって構築されることが多く、対象も営業支援システムから顧客管理システム、在庫管理システムまでさまざま。後述するweb系と並び、現在の業務用システムの主流になっています。
web系システム
名前の通りweb上で動作するシステムです。
AWS(Amazon Web Services)をはじめとする廉価なクラウドサーバーを使って構築するため、前述の2種類と比べると初期投資が抑えられるうえ、ネットに接続さえできればスマートフォンやタブレットからも利用できます。
webブラウザ経由で使う勤怠管理システムなどをはじめ、近年多くの企業が利用しているグループウェア、さらにネット通販を裏側から支えるECシステムもweb系システムの一種。
技術的にはPHPやRuby on Railsといったwebに特化したプログラミング言語によって構築されます。
スクラッチ開発か?パッケージ利用か?
前の章ではシステムの3つの種類に関して説明をしましたが、ここでは代表的な2つの開発手法に関して説明をいたします。
スクラッチ開発
スクラッチ開発とは、解決したい課題にあわせて文字通りゼロからオリジナルのシステムを構築する手法のこと。100%のオーダーメイドとなるため、1つひとつの機能やもちろんのこと、管理画面のレイアウトやメニューの構成、デザインまですべてに要望を反映させることができ、機能追加やカスタマイズも自由自在に行なえます。
パッケージ利用
一方のパッケージは、決まったフォーマットに沿って開発・販売されているシステムです。
現在ではSaaSと呼ばれるクラウド型を中心に、勤怠管理や名刺管理、社内SNSなど、優に1,000を超えるパッケージ型システムが市販されています。有名どころでは、顧客管理システムとして世界No.1のシェアを誇る「Salesforce」もパッケージ型システムの1つです。
パッケージ型システムの多くは毎月定額の料金で利用でき、サーバー代などの初期費用も大きく抑えられます。その反面、機能面には制限があり、カスタマイズ性でもスクラッチ開発には及びません。
また、稀ではありますが、パッケージの提供元が廃業したり、サービスを停止したりしてしまうと、システムを利用できなくなってしまうこともあります。
どちらを選ぶかは業務上の課題や予算によってそれぞれですが、業務上それほど複雑な課題がなく、パッケージ型の機能で解決できるのであれば、まずはパッケージ型から優先的に検討するのがいいでしょう。
コストが安いうえ、パッケージ型は基本的に自動アップデートされるため、稼働後のメンテナンスにも手間がかかりません。
会社ごとの強みや得意分野を把握しよう
前述の通り、業務用システムは大きく3種類に分けられ、機能やインターフェイスを形にするためのプログラミング言語も種類によってさまざま。システム開発会社も1社1社それぞれが強みや得意分野を持っています。各社のホームページの開発実績などにしっかり目を通し、自社の課題・要件にマッチする会社を選びましょう。
ホームページを見て違いが分かりにくくても、実際のところ各社それぞれ明確な得意・不得意分野を持っており、それを見極めることが開発コストの削減にもつながります。
たとえば、過去に似たような機能やシステムを開発したことがある会社なら、その時のプログラムを利用することで開発コストを1/3程度まで抑えることが可能。プログラムを再利用できない場合も、経験があれば開発コストは2/3程度に収まります。
システム開発で実現できること
システムを導入する何より大きなメリットは、仕事の進め方やアウトプットを圧倒的に効率化できること。
たとえばExcelの手作業で伝票や帳票を作成するとなると、文字の大きさや揃え方、全体のレイアントにもばらつきが生じ、当然ながら1枚仕上がるまでのスピードも担当者によってまちまちです。その一方、システムを利用すれば、あらかじめ入力したデータに沿って定型フォーマットの文書を自動生成・出力することが可能になります。
また、大量のデータを全社的に共有できるようになるのも業務用システムの利点の1つ。
たとえば顧客管理システム(CRM)を導入して、取引先のプロフィールや商談履歴といったデータを集約させれば、顧客データを全社的な情報資産として活用できるようになります。個人で管理している名刺やメモを紛失してしまうようなこともなくなり、結果的にペーパーレス化・コスト削減にもつながるはずです。
実際にシステム開発による成功事例は多く、婦人服や雑貨の販売事業を手がけるあるアパレル関連会社では、それまで手作業で行なっていた買掛業務をwebシステム化したことで、印刷費や書類の保管費を含めて年間50%以上のコスト削減に成功しました。
成否を分ける4つのチェックポイント
結論から言うと、システム開発の成否を分けるのは以下4つのポイントです。
それでは早速1つ、ひとつ見ていきましょう。
1.課題は整理されているか
何より大切なのは、システムによって解決したい課題をしっかり整理しておくこと。
たとえば勤怠のプロセスを改善するにしても、タイムカードを打刻したり、有給休暇を申請したりする従業員側と、全社員の勤怠データを集計して給与計算まで行なう人事サイドとでは、それぞれ抱えている課題・悩みが異なります。
しっかりと時間を確保したうえで関係者全員にヒアリングを行ない、システムで解決すべき課題とその影響・背景を洗い出しておきましょう。できれば簡単なExcelシートを用意したうえで、関係者それぞれの回答を集計し、グラフや表にまとめておくのがおすすめです。
<より詳しく知りたい方は、ヒアリングシートの活用方法とテンプレートについて解説した記事をご覧ください。>
たとえば、「有給を取得するまで時間がかかる…」という悩みの声に対しては、決裁者が申請書類を紛失してしまっていたり、決裁フローそのものが整っていなかったりするといった理由・背景が考えられます。また、申請や決裁に時間を要してしまうことで、他の業務が滞っている可能性もあるはずです。
一方、人事サイドの集計や給与計算が上手く回らないのは、メンバーごとにスキルの差があるからで、それによって採用業務などにマイナス影響が出ているかもしれません。
必要に応じて追加ヒアリングも行ない、業務上の課題とその背景、現時点で生じている影響(コスト、工数など)を整理しておきましょう。
さらに影響に関してはできるだけ具体的に数値化しておくと、のちのちシステムの機能やUIを決める際も優先順位がつけやすくなります。
2.ゴールは明確か
業務上の課題と背景を洗い出したら、次に着手すべきなのは要望の整理。システム開発によって課題をどう解決し、どういった状態を実現したいのか詰めていきます。
たとえば前述の勤怠管理を例に挙げるなら…
・「勤怠データの入力時間を〇〇%削減する」
・「人事の集計作業の工数シェアを〇〇%以下に抑える」
・「集計の工数の抑えることで毎月〇時間を採用業務に充てられるようにする」
といったように、可能な限り数字に落とし込んでおくのがポイントです。
ただ漠然と「勤怠管理を効率化する」のではなく、改善したい要素と目指すべき状態を具体的に数値化しておくことで、開発会社側にも要望が伝わりやすくなり、おのずと開発プロジェクトもスムーズに進みます。
3.予算は確保できているか
システムは決して安い買い物ではありません。
自社専用のシステムを構築するとなれば、最低でも50万円~100万円単位の予算は必須。
詳しくはシステム開発の費用相場と見積もりの考え方にて解説していますが、システムの規模や利用人数によっては1,000万円以上の費用がかかることもあります。
さらに開発の途中で新たな課題や要件が出てくることも多く、それらに対応すればさらに費用はかさみます。また納期に余裕がない場合も開発サイドの負担が増し、やはり費用は割高になります。
また、人件費が安く済むとされる海外でのオフショア開発は、仲介役であるブリッジエンジニアが必要になります。ブリッジエンジニアの人件費は通常のエンジニアよりも高いため、最低500万円以上の開発規模がないと、国内での開発より割高になってしまうケースも少なくありません。
もしシステム開発費をどうしても押さえたいという場合は、地方のシステム会社に依頼をするニアショア開発という手段もあります。
システム開発を発注する前に、社内できちんと稟議を通し、余裕を持った予算を確保しておきましょう。
<事前にシステム開発の料金シミュレーションで概算金額を確認しておくことをお勧めします。>
4.良い会社を選べるか
システム開発で失敗しないためには、会社選びも大切なポイントです。
各社のホームページに記載された開発実績などを参考にしながら、できれば複数の会社に見積もりを依頼し、要望・予算にマッチする候補を絞り込んでいきましょう。
システム開発を依頼するのが初めての場合、「ホームページを見ても、どこも同じに見える……」という方も多いようですが、決してそんなことはありません。
各社それぞれが強みや得意分野を持ち、それに対する顧客ニーズがあるからこそ、SIerやITベンダーとして事業を継続できているわけです。その中で、どの開発会社を選択すべきかお悩みの際は、ぜひPRONIアイミツにご相談ください。
システム開発会社探しで、こんなお悩みありませんか?
-
一括見積もりサイトだと
多数の会社から電話が・・・ -
相場がわからないから
見積もりを取っても不安・・・ -
どの企業が優れているのか
判断できない・・・
PRONIアイミツなら
発注先決定まで
最短翌日
- 専門コンシェルジュが
あなたの要件をヒアリング! - 10万件の利用実績から
業界・相場情報をご提供! - あなたの要件にマッチした
優良企業のみご紹介!
診断とヒアリングから
お探しします