システム開発とは?工程や手法、依頼時のポイントまでわかりやすく解説

  • DX
システム開発とは?工程や手法、依頼時のポイントまでわかりやすく解説
株式会社SHIFT マーケティンググループ
著者 株式会社SHIFT マーケティンググループ

Introduction

IT技術が急速な進化を遂げ、いまや世のなかの多くのことが、ITシステムの力を借りなければ成り立たなくなっています。そのITシステムを開発するためのシステム開発は、非常に重要な業務です。外部のシステム開発会社に、システム開発を依頼するケースも多いでしょう。

しかし、システム開発では具体的にどのようなことを行うのか、工程や手法はどのようになっているのかを知らない方も多いでしょう。システム開発とはどのようなものなのかを正しく認識しなければ、外部企業に適切に依頼することはむずかしいはずです。

この記事では、システム開発とは何か、その工程や手法、依頼する際のポイントなどについて解説します。

目次

システム開発とは

システム開発とは

システム開発とは、具体的にどのようなものなのでしょうか?ここでは、システム開発の基本事項と事例について解説します。

IT技術を用いてプログラムされたシステムをつくること

システム開発とは、主にIT技術を用いてプログラムされたシステムをつくる業務のことです。企業などが自社の課題の解決や業務の効率化などを求めて、システムを開発します。

厚生労働省の『HOME WORKERS WEB(自営型テレワークに関する総合支援サイト)』によると、以下のように定義されています。

システム開発

企業で行われる業務をその企業独自に最適化するため、主にIT技術を用いてプログラムされたシステムを作る業務。環境構築から設計・プログラミング・テストなど、一連の作業の総称である。

開発されるシステムには、たとえば顧客管理システムを開発して、人間が手書きの書面や帳簿などで行っていた顧客管理業務を効率化する、勤怠管理システムで従業員の勤怠管理を行うなどがあります。特定の目的を達成するために、システムやソフトウェアなどを開発します。

システム開発の事例

システム開発でつくられるシステムは、ビジネスや行政、個人などのあらゆる分野で幅広く存在します。

たとえば保険会社では、顧客情報を管理できるシステムの導入が進んでいます。保険会社は非常に多くの顧客情報を保有しているため、氏名や年齢はもちろん、加入している保険プラン、保険料、保険の加入期間、過去の傷病履歴など、さまざまな情報を詳細に管理しなければなりません。そのような情報を、いつでもどの店舗や営業所でも引き出せるシステムを構築し、なおかつ厳重なセキュリティ対策を行って、データを保管する必要があります。

ほかにも、インターネット上で買い物できるECサイトのシステム、ホテルや美容院などの予約システム、医療機関で患者のカルテなどを管理する医療システムなど、開発されるシステムは数多く存在します。

システム開発の流れ

ここでは、一般的なシステム開発の流れについてご説明します。

①要件定義

開発したいシステムの要件を、顧客からヒアリングするなどして洗い出し、要件を確定させる工程です。解決したい課題や顧客からの要望を明確にし、要件定義書と呼ばれるドキュメントを作成します。

要件定義についてはこちらもご覧ください。
>>要件定義とは?作成手順や前後の流れをわかりやすく解説!のページへ

②基本設計・詳細設計

要件をもとに、システム構成や構造、画面、データベースなどの設計を行います。基本設計工程で大まかな構造やインターフェースを決め、詳細設計工程で詳細な実装方法を設計していきます。

③プログラミング

詳細設計書をもとにプログラミングを行い、ソースコードや実行ファイルを作成します。

④テスト

完成したコードをテストして、不具合がないか、要件どおり動作するか、求める性能要件を満たしているかなどをテストします。事前にテスト仕様書観点、項目を抽出しておき、順番にテストを進めます。

一般的にテスト工程は、単体テスト結合テストシステムテスト、運用テストと進んでいくのが特徴です。V字モデルと呼ばれる開発工程では、単体テストはプログラミング工程、結合テストは設計工程、システムテストは要件定義工程とリンクしており、それぞれの工程で定義した要件や設計を満たすことをテストします。運用テストは、顧客環境に近い環境で行う最終工程のテストです。

ソフトウェアテストについてはこちらもご覧ください。
>>ソフトウェアテストとは?種類や目的、重要な7原則を紹介のページへ

関連サービスについて

⑤リリース・運用・保守

本番環境と呼ばれる顧客環境にシステムをリリースし、運用・保守工程に移行します。マニュアルやリリース作業書などを作成し、システムの導入、設定、顧客やユーザーへの説明などを行います。運用・保守工程では、システムメンテナンスや顧客からの問い合わせ対応、障害対応などを行うケースもあるのが特徴です。

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

システム開発には、さまざまな手法があります。ここでは、代表的な開発手法をご説明します。

ウォーターフォールモデル

ウォーターフォールモデルの「ウォーターフォール」とは「滝」のことです。滝が後戻りできないように、上流工程から下流工程へと後戻りをせずに開発を進める手法です。事前に綿密に開発要件を固めてから、要件定義、設計、プログラミング、テスト、納品までの計画を決めます。

長期的なプロジェクトや大規模なプロジェクトに適しています。長期的な計画を決めてから動くので、安定してプロジェクトを進めやすいことがメリットです。デメリットとしては、開発中に顧客からの要望や問題発生などによる仕様変更がしにくい、という点が挙げられます。

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

アジャイル開発

アジャイル開発は、プロジェクトを短いイテレーションと呼ばれる単位にわけ、設計、プログラミング、テストを繰り返しながら優先順位の高い機能から開発を進めてシステムの完成を目指す開発手法です。顧客からの要望をとり入れやすく、仕様変更などにも柔軟に対応できます。

ただし、顧客からの要望に対応しすぎる、仕様変更が増えすぎるなどの事態が起こり、予算とスケジュールの調整がむずかしくなることもあります。

アジャイル開発についてはこちらもご覧ください。
>>アジャイル開発とは?概要や進め方、ウォーターフォール型開発との違いやスクラムについて解説のページへ

スパイラルモデル

スパイラルモデルは、要件定義、設計、プログラミング、テスト、評価という工程を連続的に繰り返し、各スパイラルの最後にリスク評価やプロジェクトの評価を行う開発手法です。

ウォーターフォール開発を繰り返すことで、評価のタイミングを設定し問題点を是正していくことを目的としています。前述のアジャイル開発のサイクルが1~4週なのに対して、スパイラルモデルでは1サイクルに数ヶ月以上かかります。スパイラルの途中でリリースすることはなく、すべての機能がそろってからリリースします。

ウォーターフォール開発では1回のサイクルで完成させますが、スパイラルモデルでは数回に分割して開発します。

プロトタイピング

プロトタイピングは、プロジェクトの終盤にならないと完成品を確認できないウォーターフォール開発などとは異なり、初期の段階で試作品を作成する開発手法です。

まず試作品を作成することで、顧客や関係者からはやい段階でフィードバックを受けられ、改善しやすいというメリットがあります。一方で、試作品の作成のためにコストがかかりすぎる、仕様が決まりにくいなどのデメリットもあります。

関連サービスについて

システム開発に関わる職種

システム開発に関わる職種

ここでは、システム開発のプロジェクトで活躍する職種について説明します。

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

SE(システムエンジニア)は、システムの要件を定義して設計を行うなど、主に上流工程と呼ばれる工程を担当するエンジニアです。なかには上流工程だけでなく、プログラミング工程やテスト工程を担当するSEもいますが、下流工程ではリーダー的な役割を担うことが多いでしょう。

また、システム開発の全体を管理し、品質の確保やプロジェクトの管理、ドキュメントやソースの管理なども担当します。

PG(プログラマー)

PG(プログラマー)は、下流工程と呼ばれるプログラミングを担当するエンジニアです。設計書をもとにソースコードを作成し、テストを行います。

バグ改修、システムの保守なども担当します。

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

PM(プロジェクトマネージャー)は、システム開発プロジェクトの全体を統括する立場にあります。具体的には、開発スコープの設定、目標や計画の立案、進捗管理、リソース管理、チームメンバーのサポートなどを担当します。

また、顧客や取引先、社内の経営層などとの窓口となる、リスク管理や課題管理、品質管理、予算管理なども重要な業務です。

PMO(プロジェクトマネジメントオフィス)

PMO(プロジェクトマネジメントオフィス)とは、PMが行うプロジェクトマネジメントをサポートする部署のことです。たとえば、コスト調整、品質管理、人材開発などの業務をサポートします。

PMは、一つのプロジェクトのリーダーとして責任をもち、業務を遂行しますが、PMOは社内の複数のプロジェクトを横断的に支援するのが特徴です。PMOは、PMが意思決定を行いやすいように、必要な情報を集めたり、関係部署と連絡や調整を行ったりしてPMを支援します。

PMOについてはこちらもご覧ください。
>>PMOとは?PMとの違いや職種別の役割・業務内容について解説しますのページへ

システム開発は外部に依頼するべきか?

システム開発を外部企業に依頼するべきかどうか、検討している企業も多いでしょう。ここでは、システム開発を外注するメリットとデメリットについてご紹介します。

システム開発を外注するメリット

システム開発を外注すると、自社にシステム開発の知識や技術がなくても、システム開発のプロに品質の高いシステム開発を依頼でき、運用・保守工程も任せられるというメリットがあります。自社でシステム開発担当者を採用、育成するコストを省けるのも、大きなメリットです。

システム開発を外注するデメリット

外部企業にシステム開発を外注すると、外注先に支払う費用がかかります。社内で社員を採用、育成するのはコストがかかりますが、社員が育てば内製した方がコストを下げられる可能性もあります。

また、外部企業を通すことで情報漏えいのリスクがある、社内にシステム開発のノウハウが蓄積されないなどの問題もあるため、適切な対応が必要です。

システム開発を外注する際のポイント

ここでは、システム開発を外注する際のポイントについて説明します。必ず複数の外注先をポイントごとに比較し、自社にあった外注先を探しましょう。

自社と同じ業界での開発実績があるか

業務システムなどの開発を依頼する場合、業界ごとにシステムの特徴が大きく異なります。そのため、自社と同じ業界での開発実績がある外注先の方が、よりよい提案を受けられる可能性が高まります。

セキュリティや品質面に問題はないか

外注先に社内の重要な情報を託し、社内ネットワーク内で作業を依頼する場合などもあるため、セキュリティ対策は重要です。契約時に情報漏えいが発生した際の対応などについても、とり交わしておかなければなりません。

また、開発したシステムの品質に問題がないか、過去の実績や品質管理方法などについても確認しましょう。

見積もりや納期が適切か

見積もり内容を詳しく検証して問題がないか、納期が適切かなどを確認しましょう。複数社に見積もりを依頼して、比較することが重要です。

開発体制が整っているか

外注先の開発体制についても細かく確認します。担当者のスキルは十分か、依頼する開発内容と同様の開発経験があるか、使用するプログラミング言語やツール、開発環境などの経験年数はどれくらいかなど、詳しく確認しましょう。

まとめ

システム開発とは、主にIT技術を用いてプログラムされたシステムをつくる業務のことです。企業などが、自社の課題の解決や業務の効率化などを求めて、システムを開発します。

システム開発を依頼する際には、どのような開発手法を採用するのか、開発メンバーはどのようなスキルをもっているかなどを詳しく確認することで、開発を成功させやすくなります。そのため、システム開発について、ある程度は知っておく必要があるでしょう。

アジャイル開発を導入して、顧客のニーズや仕様変更に柔軟に対応できる開発を行いたい場合は、SHIFTのアジャイル開発支援(SHIFT 1LINE)をご活用ください。お客様のアジャイル内製開発体制の構築とプロジェクト推進において、開発・ITガバナンス・プロダクトデザインなど、すべての局面で強力にサポートいたします。

ご相談はこちらから。
>>お問い合わせ
>>料金について

継続的なプロダクト開発に伴走する、SHIFTのアジャイル開発支援

「より効率がよく、品質の高いシステム開発ができる外注先を探している」「新しい開発手法を導入して、生産性の向上や顧客満足度の向上につなげたい」「アジャイル開発を導入したいが、社内にノウハウがない」などの悩みを抱えている企業様は多いかもしれません。

この記事でもご説明したとおり、アジャイル開発は短いスパンの開発を繰り返すため、機能変更や機能追加に柔軟に対応できる開発手法です。しかし、アジャイル開発をスムーズに進めるためには、豊富な専門知識や経験、ノウハウが必要です。アジャイル開発に関する知識やノウハウがない状態で、アジャイル開発にシフトするのはむずかしいでしょう。

そこで、SHIFTのアジャイル開発支援(SHIFT 1LINE)をご活用いただければ、お客様のアジャイル内製開発体制の構築とプロジェクト推進において、開発・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