システム開発 【system development】
概要
システム開発(system development)とは、企業や官公庁などが業務を遂行するための情報システムを新たに作り出すこと。特に、新たにソフトウェア(コンピュータプログラム)を作り、これを組み入れたコンピュータシステムを利用環境に導入することを指すことが多い。情報システムとは、コンピュータなどの情報機器、ソフトウェア、通信ネットワークなどを組み合わせ、組織の活動の中で人間が日常的に行う情報の記録や参照、加工、伝達などの作業を効率的に行うことができるようにする仕組みである。
システム開発はそのようなシステムを新たに作り出し、利用者が業務で実際に使用可能な状態にするまでの一連の活動を指す。企画や構想、設計、製造や実装、試験、機材等の調達、現場への導入といった工程の組み合わせで、通常は専用のソフトウェアを新たに作り出すソフトウェア開発を伴うものをこのように呼ぶ。
システム開発手法
システム開発の工程(プロセス)は古くから様々な手法が研究・実践されてきているが、大きく分けて伝統的な「ウォーターフォール型」(ウォーターフォールモデル)と、近年急速に発展・普及している「アジャイル型」(アジャイル開発)に区分される。
ウォーターフォール型は要求定義、要件定義、基本設計、詳細設計、実装、テスト、納品・導入といった工程を順番に進めるモデルで、各工程を完了してから次の工程を開始し、原則として前の工程には戻らない。水が上から下に流れる滝(waterfall)になぞらえた名称で、大規模システムの開発では現在でも一般的に用いられる。
アジャイル型はこれらの工程を一度で全部終わらせようとせず、細かい対象範囲や期間ごとに繰り返していく手法の総称で、部分ごとに設計・実装・試験を繰り返す「インクリメンタル型」と、最初に荒削りに全体を組み上げ、機能の追加や修正を繰り返して完成度を高めていく「イテレーティブ型」(反復型開発)に分かれる。
システム開発事業
企業や官公庁などがシステム開発を行う場合、自社内の部署や人員によって行う内製と、外部の専門的な企業などに発注する開発委託のいずれかが行われる。また、状況によっては既成のパッケージソフトやクラウドサービスなどを購入・契約し、システム開発(ソフトウェアの新規開発)を伴わずに情報システムの導入・更新を行う選択肢もある。
日本では1950~60年代のコンピュータシステムの普及期以来、大企業や官公庁の多くがシステム開発を専門とする企業に開発業務を丸ごと委託する商慣行が定着しており、委託先の大手企業は「システムインテグレータ」(SIer:System Integrator)と呼ばれる。
インテグレータ自身はシステムの設計や開発プロジェクトの管理、顧客対応などに専念し、実際のプログラミングなどの業務の多くを協力企業(下請け企業)に再委託するという建設業界のゼネコンに似たビジネスモデルを確立している。