近年はDXの推進やリモートワークの普及により、業務の効率化や生産性の向上を目指し、自社に適したシステムを開発する企業が増えています。しかし、システム開発に乗り出したものの上手くいかず、失敗に終わってしまうケースも少なくありません。「システム開発によって本当に業務効率化が図れるのか」「失敗しないためには何をしたらいいか」とお悩みの方も多いのではないでしょうか。
この記事では、システム開発の成功事例や基礎知識、内製・外注する場合のメリット・デメリット、外注する際のポイントについて詳しく解説します。
目次
システム開発会社選びはプロにお任せ完全無料で全国5000社以上からご提案
システム開発の成功事例
異なる分野の専門家が共同してセキュアなシステムを開発した事例や、大幅な業務効率化が叶えられた事例など、システム開発の成功事例を3つ紹介します。
●電子お薬手帳システムの開発事例(ソニー株式会社)
経済産業省のIT政策実施機関「独立行政法人情報処理推進機構(IPA)」が発表している「成功事例に学ぶシステムズエンジニアリング」より、ソニーが開発した電子お薬手帳の事例をご紹介します。
ソニーは、遠くに住んでいる家族の分を含め、スマートフォンを使って薬歴情報をいつでも確認できるようにすることを目指し、従来紙ベースだったお薬手帳の電子化に乗り出しました。
薬歴情報は患者さんの個人情報にあたるため、厳重なセキュリティ対策が求められます。とくに、今回構想しているシステムは患者さん自身だけでなく、薬剤師や家族といった第三者も閲覧できるため、より複雑なセキュリティ要件を定めなくてはなりません。
しかし、ソニーには医療情報システムと情報セキュリティ技術の両方に知見がある開発者がいないという課題がありました。
そこで、医療情報システム関係者とセキュリティ技術者が共同でセキュリティ要件を導出することに。最初にセキュリティ技術者が脅威になりかねない事象を洗い出し、医療情報システム関係者が脅威モデリングを行うという流れでシステム開発が進められました。
異なる分野の専門家が共同でシステム開発を行う場合、お互いの認識に齟齬が生まれないよう注意する必要があります。この事例では「脅威になり得る事象」を、「誰が」「どの情報・機能に対して」「どのような操作を行うか」の組み合わせでシンプルに表現することで、共通理解を図りました。
同時に、これらの要素を機械的に組み合わせることで、セキュリティ要件を漏れなく、網羅的に担保。結果として、セキュアな電子お薬手帳システムが実現しました。
参照元:独立行政法人情報処理推進機構(IPA)|成功事例に学ぶシステムズエンジニアリング
●作業所業務支援システムの開発事例(大成建設株式会社・富士通株式会社)
大成建設株式会社と富士通株式会社は、建設現場の業務効率化を推進する作業所業務支援システム作業所ダッシュボードを開発しました。
建設業界では、慢性的な人手不足と労働環境の改善が大きな課題になっています。
大成建設は、このような課題を解決するためにはICTを活用して業務の効率化を進めるべきだと考え、富士通と協業し、作業所業務支援システム「作業所ダッシュボード」を開発。システムを活用することで、作業所内での各種工事の実施予定や作業所の閉所情報、職員個人の予定、建設現場内に設置したカメラ映像といった情報を、関係者間でスムーズに共有できるようになりました。
また、本社・支店がリアルタイムで作業所の業務進捗を把握できるため、作業所から本社・支店への報告業務が削減され、業務効率化が図れます。本社・支店にとっても、各作業所のスケジュールを手軽に把握でき、適切な指示が出せるといったメリットがあり、双方の業務効率化が叶えられました。
参照元:大成建設株式会社|大成建設と富士通、作業所業務支援システム「作業所ダッシュボード」を開発
●発注業務自動化システムの開発事例(株式会社ワークマン・株式会社日立製作所)
株式会社 ワークマンと株式会社日立製作所は、先進のデジタル技術を用いた発注業務自動システムを開発しました。
ワークマンでは約10万品目に及ぶ商品の取り扱いがあり、1店舗あたり約13,000品目を有しています。その発注業務に1日あたり約30分かかり、業務を圧迫していることや、適切な在庫の確保やタイムリーな商品の入れ替えが難しいといった課題がありました。
このような課題を解決するために、ワークマンは日立と協業し、発注・在庫管理業務の自動化システムを開発スタート。在庫回転率に応じて「自動補充型」と「AI需要予測型」のアルゴリズムを動的に切り替え、最適な発注量を自動で計算するシステムを開発しました。
システムを利用することによって、現状の店舗棚割に基づいた平均在庫量を維持しながら、こまめな補充によって欠品の抑制が可能に。1日30分かかっていた発注作業は、システムによって推奨された発注量を確認して確定ボタンを押すだけで済むようになり、約2分に短縮され、業務効率化を実現しました。
参照元:日立製作所|ニュースリリース(2021年4月19日)
システム開発の基礎知識をおさらい
システム開発を成功させるためには、内製で進める場合も外注する場合も、発注者側が基本的な知識を押さえておくことが重要です。ここでは、システム開発の基礎知識として、そもそもシステム開発とは何なのか、開発の手順、主な開発手法の種類について詳しくご紹介します。
●システム開発とは
企業におけるシステム開発とは、IT技術を駆使して業務を効率化したり課題を解決したりする仕組み作りを指します。
例えば、会計業務の工数を削減するための会計システムや、営業活動を効率化するための営業支援システム、顧客情報を一元管理するための顧客情報管理システムなどが挙げられます。
●開発手順
システム開発の手順は、以下の表のとおりです。
システム開発の手順 | |
---|---|
1.要件定義 | システム開発の成功を左右する重要な工程。システムに搭載したい機能をまとめ、全体の設計や具体的な進め方を決定する。 |
2.外部設計 | 画面構成や操作方法などシステムの外的要素であるユーザーインターフェースを設計する。 |
3.内部設計 | ユーザーから見えない、システムの裏側(内部)の設計を行う。 |
4.プログラミング | 内部設計をもとに、実際にプログラミングを行う。 |
5.単体テスト | 個々のプログラムが正常に動作するかを確認するテスト。 |
6.結合テスト | 複数のプログラムを組み合わせて、全体の動作確認を行うテスト。 |
7.総合テスト | すべてのプログラムが要件定義で決定したとおりに動作するか確認するテスト。 |
8.運用テスト | システムを運用する環境で問題なく動作するかを確認するテスト。 |
9.リリース | システムをリリースする。古いシステムから新しいシステムへの移行作業も含まれる。 |
10.運用・保守 | 運用開始後、システムが問題なく稼働しているかを定期的にチェックしていく。より使いやすい形にアップデートしたり、不具合が生じた際は修正などの対応を行う。 |
●主要な開発手法の説明
システム開発を成功させるためには、プロジェクトに適した開発手法を採用することが大切です。
システム開発の主な手法には、「ウォーターフォール型開発」、「アジャイル型開発」、「スパイラル型開発」、「プロトタイピング型開発」があります。
主な開発手法 | |
---|---|
ウォーターフォール型開発 | システム開発の各工程を順に行っていく手法 |
アジャイル型開発 | システムを大きなサイクルで区切らず、機能ごとに小さなサイクルで実装とテストを繰り返して開発を進めていく手法 |
スパイラル型開発 | 機能ごとに要件チェックを行いながら開発を進める手法 |
プロトタイピング型開発 | 早い段階でプロトタイプ(システムの試作品)を作り、クライアントやユーザーからフィードバックを受けながら開発を進める手法 |
ウォーターフォール型開発
ウォーターフォール型開発とは、前項で紹介した一般的なシステム開発の工程を順番に進めていく手法を指します。上流工程から下流工程に向かって流れるように行うことから、滝(ウォーターフォール)と名付けられました。
要件定義の段階でシステムの仕様やリリースまでの計画を細部まで固めておくことが、ウォーターフォール型開発の特徴です。「前の工程には戻らないこと」が前提としてあり、1つの工程が完了してから次の工程に進みます。そのため、進捗状況が把握しやすく、計画的に開発を進めやすい点がメリットです。ただ、最初に詳細な要件定義を固めておく分、開発途中の仕様変更が容易にはできません。組み込みソフトウェアや通信システムのような仕様変更を考慮しないシステムに適しています。
アジャイル型開発
アジャイル型開発は、システムを大きなサイクルで区切らず、機能ごとに小さなサイクルで実装とテストを繰り返していく開発手法です。アジャイルという言葉が表す「素早い」という意味のとおり、スピード感を持って開発を進められます。
機能ごとに計画・設計・実装・テストの工程を反復しながら進めていくため、機能の追加や修正がしやすく、開発期間の短縮も可能です。そのため、仕様変更を前提としたWebサービスやゲームアプリなどのシステム開発に適しています。
スパイラル型開発
スパイラル型開発とは、開発工程で機能ごとに要件チェックを行う手法を指します。工程ごとに作ったプロトタイプを都度評価しながら、システムをブラッシュアップしていくことが特徴です。スパイラル(Spiral)は英語で「螺旋」を表し、工程を繰り返す形が螺旋状に見えることから名付けられました。
ウォーターフォール型の管理のしやすさとアジャイル型の柔軟性、その両方を併せ持っており、効率良く開発が進められます。そのため、比較的規模が大きいシステムや仕様変更の可能性が高いシステム開発に適しています。
プロトタイピング型開発
プロトタイピング型開発とは、開発の早い段階でプロトタイプ(システムの試作品)を作り、クライアントやユーザーからフィードバックを受けながら改良・修正を進める手法です。プロトタイプ(試作品)を作ることで、リアルな使用感を確かめられるのが特徴で、必要な機能や使いやすいUIを明確にできます。不具合やエラーを早期発見しやすく、修正作業が最小限で済むのも、プロトタイピング型開発のメリットです。
そのため、独自システムのような前例がないシステムや、UIなどの操作性やデザイン性を重視するシステムの開発に適しています。
内製化vs.外注のメリット・デメリット
社内にシステムエンジニアやITエンジニアが存在する場合、自社で開発を進めるか、もしくは外注するかで悩む方も多いでしょう。自社開発と外注には、それぞれメリットとデメリットがあり、それらを理解したうえで自社のプロジェクトに適したほうを選ぶことが大切です。
ここでは、自社開発と外注それぞれのメリット・デメリットについて詳しく解説します。
●自社開発のメリット・デメリット
自社開発は、システムの全容を把握しやすく、急なトラブルが発生してもスピーディーに復旧作業を行えるのがメリットです。また、外注と比較すると開発途中の仕様変更やリリース後の機能追加も柔軟に行えます。従業員の成長にもつながり、自社にシステム開発のノウハウを蓄積できることも大きなメリットです。
しかし、自社に高度なスキルを持つシステムエンジニアがいない場合は、人材の確保や育成が必要です。システム開発を専門とする会社と比べると知識やノウハウが不足していることが多く、システムの品質が落ちる可能性もあります。開発が計画どおりに進まず、予想外にコストがかかってしまうリスクもあります。
●外注のメリット・デメリット
外注する場合、専門的なスキルを持つシステムエンジニアが開発を行うため、システム品質の向上が期待できます。希望するスケジュールにあわせてシステムを開発してくれるため、効率的にプロジェクトを進められます。また、社内にリソースがない場合でも新たに人員を確保したり育成したりする必要はありません。開発を行うための設備・機材への投資も不要です。
その一方で、外部に任せてしまうため自社にノウハウが蓄積されない、不具合が起きた時に社内で対応するのが難しいというデメリットもあります。また、要望を上手く伝えられないまま開発が進行すると、想定していた機能やクオリティに差が出てしまい、納品物に満足できないケースもあります。
自社開発 | |
---|---|
メリット | デメリット |
|
|
外注 | |
---|---|
メリット | デメリット |
|
|
システム開発を外注する際のポイント
システム開発を外注することによって、システム品質の向上や開発期間の短縮などさまざまなメリットが得られます。しかし、外注する際のポイントを押さえておかないと、求めていたクオリティに達していないシステムが納品されてしまう可能性もあります。
ここでは、システム開発を外注する際のポイントについて詳しくご紹介します。
●システム開発の目的を定める
まず、システム開発の目的を定めることが重要です。開発の目的を明確にしないことには、システムの内容も定まりません。
システムを開発して解決したい課題や目的を洗い出すことで、必要な機能や搭載する機能の優先順位を決めやすくなります。
●要件定義を明確にする
要件定義は、システム開発の最初の工程であり、プロジェクトの成功を左右する最も重要なポイントといっても過言ではありません。開発途中で要件定義を変更することは容易ではないため、外注する際は自社で目的や課題を洗い出し、要件定義を明確にしましょう。
要件定義を明確にすることで、開発中の仕様変更を最小限に抑えられ、コストや時間の削減にもつながります。
●目的やコストに見合う会社を探す
システム会社にはそれぞれ得意分野があります。開発したいシステムの内容と、その会社の得意分野が一致しているか、過去に似たようなシステムの開発実績はあるかなどを確認しましょう。
また、開発費用が安く済むことに越したことはありませんが、安さだけで外注先を選んでしまうと、品質の低いシステムが納品されてしまう可能性もあります。気になる会社を複数ピックアップして相見積もりを取り、目的やコストに見合う会社を探しましょう。
●外注先に任せきりにしない
外注先に丸投げすると要件を満たさないシステムが納品されてしまい、システム開発が失敗に終わるかもしれません。
そういった失敗を防ぐには、外注先とこまめにコミュニケーションを取ることが大切です。連携を密にすることでお互いの認識に齟齬が出るのを防げるほか、スケジュールの遅れといったトラブルにも迅速に対応できます。
システム開発の外注先を選ぶポイント
システム開発を外注する場合、「どの会社に開発を依頼するのか」が重要なポイントになります。外注先の選定がプロジェクトの成否を分けるといっても過言ではありません。
システム開発の外注先を選ぶ際は、過去の開発実績、技術力、コミュニケーションの取りやすさ、価格、サポート体制などを総合的に見て判断する必要があります。会社によって得意分野が異なるため、依頼したいシステムとその会社の得意分野が一致しているか確認しましょう。企業のWebサイトに掲載されている事例を確認したり、担当者に実際に質問してみたりすることがおすすめです。
コミュニケーションがスムーズに取れるかどうかも重要なポイント。コミュニケーションが上手く取れないと、開発の工程で認識に齟齬が生じ、理想と異なるシステムが完成することも起こりかねません。
価格についても、一般的な相場と大きな差がないか確認することが大切です。おおまかな相場を掴むためにも、複数社に見積もりを依頼しましょう。
また、システムは開発して終わりではありません。その後も定期的なアップデートやメンテナンスが必要なため、運用後のサポートも重要です。保守・運用の対応についてもしっかり確認しましょう。
システム開発を成功させるためには、ポイントを理解することが大切
ここまで、システム開発の成功事例や基本的な知識、自社開発と外注のメリット・デメリット、外注先を選ぶポイントなどを紹介してきました。システム開発を成功させるには、システム開発について理解を深めることが大切です。一言でシステム開発といってもさまざまな手法があり、プロジェクトに適した開発手法を採用する必要があります。
自社にスキルのあるシステムエンジニアがいない場合やシステムの品質を重視したい場合は、専門的な知識と豊富なノウハウを持つシステム開発会社に外注することを検討しましょう。
外注する際は、過去の開発実績、技術力、コミュニケーションの取りやすさ、価格、サポート体制などを総合的に判断して、自社に合った開発会社を選定することが大切です。
発注ナビでは、外注先の選定でお悩みの貴社に寄り添い、丁寧なヒアリングを行ったうえで最適な開発会社をご紹介しています。
ご相談からご紹介まで完全無料。ご成約に至っても手数料は一切いただきません。
「自社に合った開発会社がわからない」「選定にできるだけ時間をかけたくない」とお考えのご担当者様はぜひ一度ご検討してみてはいかがでしょうか。
システム開発会社選びはプロにお任せ完全無料で全国5000社以上からご提案
■システム開発に関連した記事