システム開発を依頼する際に注意すべき4つのこと
煩雑な業務をシステム化したいとお考えの経営者の方や情報システム担当者の方へ向けて、システム開発を他社へ依頼する際に押さえておくと後々のトラブルが軽減できる4つのポイントを、実際にお客様からお受けしたご相談を元にシステム開発会社目線で詳しくお伝えします。
まず重要なのは「要求定義」と「要件定義」
システム関連においてこれらの単語はよく見掛けるけど詳しい違いや意味を理解していない方も多いと思います。
要求定義とは
ご依頼される経営者様、情報システム担当の方が何を必要としているのかを定義することです。
「要求仕様書」として、システムの用途(利用されるシーンの想定)、対象となるユーザー(理想するユーザーとその主な利用環境)、ハードウェア構成(サーバ、ネットワーク、周辺機器など)、ソフトウェア構成(OSなど)、目的性能(達成すべき性能)、制限事項などをまとめるのが一般的です。
要件定義とは
一方で要件定義とは、開発者の視点から要求をまとめ、具体的な進め方を定義することを指します。
お客様からのご要望に対し、実際に開発を進める前段階として必要な機能、不必要な仕様などを整理し、開発工程を設計するために「要件定義書」をシステムエンジニアが作成します。
システム開発において要件定義は最重要事項
お客様が「思っていた仕様と違う」「本当はこの機能も欲しかったのに、なぜ搭載されていないのか」などのギャップを感じ、開発方針にブレが生じたり、納期・予算の見直しや設計を見直すトラブルが発生する事も少なくはありません。そのようなトラブルを未然に防ぐためにあるのが要求定義・要件定義です。
ああしたい、こうしたいの展望は考え始めたらキリがありませんが、想定されている予算内で実現可能なボーダーラインの策定や、最低限守るべき芯となるコンセプトを事前に決めておくことも非常に重要となってきます。
発注先の選定
お客様よりお聞きするご相談の大半が、「どこに発注すべきかわからない」というものです。
システム開発における費用は主に人件費で成り立っていますので、具体的な価格相場の指標がわかりづらく、結局高いの?安いの?費用対効果は?と考え始めると効果的な発注先の選定は非常に困難なものになります。
そこで、発注先を選定するにあたって注意すべきポイントをまとめました。
企業に頼むか、フリーランスに頼むか
小〜中規模のシステム開発においては、フリーランスへの依頼も視野に入れる方が多いと思います。
クラウドソーシングサービスなどで検索すると、費用感の幅も広くコストを大幅に抑えられると考えがちですが、一概に安さだけで決めるとトラブルの発生もしうる事を念頭に置くといいと思います。
企業に依頼するメリット
- 大規模な案件でも任せやすい
- 信頼度が高い
- 窓口担当の不慮の事故や病気などにプロジェクトが左右されにくい
フリーランスに依頼するメリット
- 費用が比較的安価に抑えられる
- 対応に小回りが効きやすい
- ファーストコンタクトから稼働までがスピーディである場合が多い
デメリットはそれらをそれぞれ反転した内容になります。
企業であれば費用が高い、フリーランスであれば大規模案件を任せにくい、など。
複数社に相見積もりを取って貰うのがベスト
企業・フリーランスのカテゴリだけでなく、同じくシステム開発企業同士であっても得意分野が違ったり、実績の件数、窓口担当者の良し悪しがありますので、まずは複数社に対して見積もりを依頼して検討する事が重要です。
金額や提案内容も依頼先により大きく異なると思いますので、提案に対する疑問への回答の仕方(顧客に寄り添った目線で相談に乗ってくれるか)、実績の豊富さなどを重視すると選定しやすくなります。
要件定義書や仕様書の内容を掌握する
要件定義書を元にシステムエンジニアが「仕様書」「設計仕様書」を作成することがほとんどです。
お客様からの要求から要件をまとめ、実際にシステムの設計書として落とし込むのが仕様書になります。
一般的に、どのような画面やどのような入力欄、ボタンなどがあるかの画面設計書や、業務内での利用を想定したフローなど、企業によりフォーマットは様々ありますが、どのようなシステムが完成するかの重要な資料になります。
記載されている内容は専門用語も多く、システム開発の専門家ではない依頼者様においては不可解な点も必ず発生するものです。だからと言って専門的な話は専門家に丸投げとしていると、こちらもトラブル発生の元になり得ます。
疑問に思った箇所はなるべく担当のエンジニアに質問・確認を取り、実際に仕上がるシステムがどのようなものになるのかをイメージする事は大事です。
機密情報の取扱いについて取り決めを必ず行う
業務をシステム化するにあたり、様々な機密情報をシステム会社へ開示する場面もございます。業務フローであったり、顧客・従業員の個人情報、サービスや製品の詳細情報などをデータベースとして取扱うことになるでしょう。近年、企業による情報漏洩に対して世間の目も敏感になっており、特に個人情報の取扱いについては一層の注意が必要です。企業機密が漏洩した場合も、ビジネスが破綻しかねない重要な過失が発生し得ます。
このようなリスクを避けるため、NDA(秘密保持契約)を厳重に取り決める必要があり、機密情報の取扱いの態勢の如何が信頼できる企業なのかどうかを見定める重要なポイントの1つとなります。基本的には開発担当側からNDAの締結に関する提案を行う場合が多いですが、それがない企業については機密情報の取扱いに対する姿勢を見定めた方がいいかもしれません。また、開発担当が用意した場合であってもNDAの内容はしっかりと把握しておきましょう。
まとめ
システム開発を依頼し、予算を掛けたのに思ったほどの効果が出なかった、あるいはトラブルが頻発して想定以上のコストが掛かってしまったなどの事態に陥らないように上記の点に留意しつつ、専門的な内容だからと丸投げせずにプロジェクトの内容を担当者様自身でもしっかりと握っておくと失敗のリスクは軽減するでしょう。