日本におけるシステム開発の歴史は、1960年代の計算センターの登場から始まりました。コンピューターの利用範囲が広がるにつれてソフトウェアハウスが登場、1990年代にはシステムインテグレーターが進出してIT業界に大きな変革をもたらしました。本記事では、計算センターの誕生から現在のシステムインテグレーターの成り立ち、そして現代のシステム開発手法の歴史を解説します。日本のシステム開発事業の進化を理解し、より良いシステム開発の発注にお役立てください。
目次
システム開発会社選びはプロにお任せ完全無料で全国5000社以上からご提案
システム開発事業に関連する情報サービス産業の歴史
日本におけるシステム開発事業、および情報サービス産業に通ずる歴史は、大型コンピューターを使った計算センターから始まりました。ここでは計算センターの誕生から、現在のシステム開発会社(システムインテグレーター)の成り立ちをご紹介します。
●コンピューターによる計算センターの誕生
1960年代に、大型コンピューターを使って計算サービスを提供する「計算センター」が登場しました。計算センターとは、コンピューターを使った各種計算処理業務や情報処理業務を請け負っていた事業所のことです。
当時のコンピューターは高価なものであったため、政府機関や大企業が導入するに留まっていました。計算センターは、コンピューターを共同で利用する形で成り立っていたといえます。計算センターの登場により、情報処理の専門知識がなくても、最新の技術を活用した計算作業を外部に委託できるようになりました。この計算センターが、後の情報サービス業の元祖といえるでしょう。
●ソフトウェアハウス(システム開発会社)の登場
計算センターの登場から少し時代を下ると、コンピューターの利用範囲が拡大したことでソフトウェアハウスが登場します。ソフトウェアハウスは、ソフトウェア(システム)の開発を専門とする企業のことで、現在でいうシステム開発会社の一種です。企業からの依頼を受け、システム開発の業務を請け負う開発会社の先駆けとなりました。この時代からシステム開発の仕事が急速に増加し、1983年には計算サービスの需要とシステム開発の需要の逆転が起こっています。ソフトウェア、およびシステムの重要性が認識された時代だといえます。
ソフトウェアハウスの登場は、技術だけでなく、ビジネスの形態にも変革をもたらしました。企業は内部リソースを開発に振り分けることなく、専門の会社に開発を委託することで、より効率的にシステム導入を進めることが可能となったのです。
●1980年代:VANサービス事業者の台頭
1980年代に入るとコンピューターの性能がさらに向上し、同時に価格も安くなってきます。大企業でなくとも手に届きやすい価格となったことで、コンピューターを導入する企業が増え始めました。そこに目をつけたかつての計算センターは、VANサービスを企業へ提供し始めます。VANサービスとはデータ通信サービスの一種であり、回線ネットワークに電子メール通信やパケット交換などさまざまな付加機能を合わせて提供するサービスのことです。日本語では、「付加価値通信網」と訳されることもあります。1980年代初頭はVANサービスの登場がきっかけとなり、企業間のデータ交換が活発になった時代でした。
これにより、企業は地理的な制約を超えてスムーズに情報を共有できるようになり、ビジネスの効率化が一層進みました。VANサービスの普及は企業の情報システム戦略に変化をもたらし、後のインターネットの商用利用に向けての基盤を築いたといえるでしょう。
●1980年代半ば:大企業の中からユーザー系企業が誕生
1985年頃になると、ユーザー系企業と呼ばれる新しい情報サービス会社が登場します。それまでシステム開発を他社へ依頼する側であった企業(=ユーザー企業)の中にも、専門知識をもった情報処理技術者がいました。こうした技術者がコンピューターに関する技術や知識を活かすべく、情報処理部門を独立させて別会社を設立したのが、ユーザー系企業の始まりです。現在のユーザー系企業は、親会社から依頼されたシステム開発の上流工程を主に担当しています。
●90年代~システムインテグレーターが進出
90年代に入ると、コンピューターで処理する仕事内容が複雑化していきます。ネットワークやソフトウェアなどの情報技術も高度になり、情報システムの構想を練るために、さらに高い知識と技術が要求されるようになりました。そこで、「技術力の高い情報サービス企業に、ゼロからシステムを構築してもらう」というケースが増加。ゼロからシステムを構想、開発する企業は「システムインテグレーター」と呼ばれ、現在のシステム開発業を牽引する存在となっています。
なお、システムインテグレーターは「SIer(エスアイヤー)」とも呼ばれています。システムインテグレーターの登場により、システム開発を行う企業間での競争が激化しました。さらに、システム開発だけでなくシステムの保守や運用、リリースなどの工程をアウトソーシングする動きも本格化した時代でもあります。システムインテグレーターの台頭は、IT業界のビジネスモデルに大きな変革をもたらし、現代のITサービス産業の基盤を築いたといえるでしょう。
現代でも採用されているシステム開発手法の歴史
現在、システム開発の現場で多く採用されている開発手法は以下のとおりです。
-
ウォーターフォール型開発
-
アジャイル開発
-
スパイラル型開発
-
DevOps
それぞれの開発手法の歩みについて、ご紹介します。
●ウォーターフォール型開発の歴史
ウォーターフォール型開発とは、滝の上から下に水が流れていくように上流工程から下流工程へと順序良くシステム開発を進めていく開発手法です。「要件定義」「基本設計」「詳細設計」「実装開発」「単体テスト」「結合テスト」「総合テスト」「公開/運用保守」といった流れで進めていき、基本的に後戻りもしません。「一つの工程が終了したら次の工程へ進む」という開発手法であり、比較的イメージが掴みやすいといえます。多くの開発手法の中でも、特に古い歴史と高い知名度をもつ開発手法です。
ウォーターフォール型開発のもととなる考え方は、1970年代から存在していました。情報工学博士であるウィンストン・ロイス氏が論文内で提唱した考え方が、ウォーターフォール型開発のもととされています。論文では、「大規模なシステム開発をする際は、製品を製造する過程のようにいくつかの工程に分けてトップダウンアプローチをする必要がある」と説明されていました。
現在でも、ウォーターフォール型開発は大規模なシステム開発で採用されています。システムの要求が明確で変更が少ないプロジェクト、仕様変更を前提としない厳密な開発プロジェクトに適した開発手法です。2000年代以降もさまざまな開発手法が生み出されていますが、ウォーターフォール型開発は基本的なプロジェクト管理のフレームワークとしての役割を保ち続けています。計画から完成に至るまでの各段階で成果物を確実に管理できる点、予定どおりの結果を出しやすい点などが現在でも高く評価されており、その重要性は今後も変わらないでしょう。
●アジャイル開発の歴史
アジャイル開発とは、「計画」「設計」「実装」「テスト」の工程を反復してシステムをブラッシュアップしていき、一つのシステムを構築する開発手法です。2000年代初頭、アメリカのユタ州で集まった17人のプログラマーによって提唱されたのがアジャイル開発の始まりです。アジャイル開発は、従来の開発手法に対する反動として誕生したという側面があります。「計画」「設計」「実装」「テスト」という工程を短いスパンで繰り返し、各工程で得られたフィードバックや修正点を即座に次のサイクルの改善に活かして開発を進めます。
アジャイル開発の根本となる考え方は、2001年に公開された「アジャイルソフトウェア開発宣言(アジャイルマニフェスト)」によって形式されました。この宣言では、「システム開発において人間と対話を重視する」「計画よりも変化への対応を重視する」など、アジャイル開発が重きを置く考え方や価値観がまとめられています。
アジャイル開発は、変化が激しい市場環境や顧客の要望が頻繁に変わるプロジェクトで真価を発揮します。短期間でのリリースやスピーディーな改善が可能であるため、仕様変更を前提としたシステムやアプリ開発に向いているのが特徴です。この特徴から、アジャイル開発はスタートアップ企業や急速なテクノロジーの急速な進化が求められる分野で広く採用され、ウォーターフォール型開発と同じく標準的な開発手法となっています。
●スパイラル型開発の歴史
スパイラル型開発は、アジャイル開発と同じく各工程を反復してシステムの品質を高めていく開発手法です。一つの機能単位ごとに「要件定義」「設計」「開発」「テスト」「レビュー/フィードバック」という作業を反復し、改善を繰り返してシステムを作りあげていきます。一つの機能ごとに試作品を作り、ユーザーやクライアントからのフィードバックを受けて次回の工程に活かしていくのが特徴です。
リスク管理を強化しながら柔軟に開発を進めることが可能であるため、特に複雑かつ大規模なソフトウェアプロジェクトに適しています。
スパイラル型開発の考え方は、南カリフォルニア大学の研究者バリー・ベーム氏によって1988年に正式に提唱されました。ベーム氏は、プロジェクトの各段階でリスク分析を重ね、必要に応じて設計を見直し、テストを繰り返すことでソフトウェアのリスクを最小限に抑えられると提唱。こうした工程を経て、品質を保証する手法を提案しました。計画からリスク分析、エンジニアリング、顧客評価の4つの主要フェーズを、スパイラル(螺旋)状に繰り返し実施することから「スパイラル型開発」または「スパイラルライフサイクル」という呼び名がついたとされています。
スパイラル型開発は、柔軟性とリスクマネジメント面における強みから、新技術の導入や不確実性が高いプロジェクトにおいて重宝されています。アジャイル開発における反復的な開発サイクルと共通する側面をもちつつ、より形式的なリスク評価と計画的な管理が求められる点で独自に評価されているのが特徴です。
●DevOps(デブオプス)の歴史
DevOps(デブオプス)とは、開発(Development)と運用(Operations)の組み合わせから生まれた開発手法、および開発に対する考え方です。システム開発のチームと、システムの運用チームの連携に重きを置いているのが特徴です。従来の開発手法では、開発チームがシステムの構築を行い、運用チームが運用やメンテナンスを行うという明確な役割分担がされていました。DevOpsではその考え方を取り払い、両チームが共同でシステム開発を行う方法を推奨しています。開発チームと運用チームが密接に連携し、各種コミュニケーションツールや管理ツールの導入を通じて、システムのリリースと更新をスムーズに行うことがDevOpsの目的です。
DevOpsの考え方のルーツはアジャイル開発にあり、2008年から2010年にかけて提唱され始めました。DevOpsの考え方が広く受け入れられるきっかけとなったのは、2009年の「DevOpsDays」カンファレンスでのプレゼンテーションです。開発チームと運用チームが連携することの重要性が強調され、世界中のシステム開発会社に受け入れられるようになりました。また、DevOpsはクラウド技術の進化と密接に関連しています。クラウドプラットフォームの普及により、DevOpsは今後さらに導入されると予想されます。
システム開発で使用されるプログラミング言語の歴史
プログラミング言語の歴史は、大きく第1世代から第4世代まで分けられます。第1世代から第4世代は、以下のとおりです。
-
第1世代:機械言語世代
-
第2世代:アセンブリ言語世代
-
第3世代:手続き型言語世代
-
第4世代:高水準言語世代
現在でも根強い人気を誇るプログラミング言語である「C言語」は、第3世代の手続き型言語にあたります。また、JavaやPythonなどのプログラミング言語は第4世代の高水準言語世代に分類されます。以下で紹介するのは、現在でも特に人気の高い「C言語」「Java」「Python」が歩んできた歴史です。
●C言語の歴史
C言語は、1972年のアメリカで誕生したプログラミング言語です。計算機科学者であるケン・トンプソン氏によって開発されたプログラミング言語で、既存のプログラミング言語「B言語」の改良版として発表されたのが始まりでした。現在でも人気が高く、機械の組み込みシステムやオペレーティングシステム、大規模なシステム開発の場面で広く利用されています。C++やObjective-Cなど、C言語から派生したプログラミング言語もあります。
●Javaの歴史
Java(ジャヴァ)は、1995年に誕生したプログラミング言語です。もともとは、電化製品が内蔵するマイクロコンピュータ向けプログラミング言語でした。後にその汎用性が高く評価され、デスクトップアプリケーションやサーバサイドの開発にも広く採用されるようになりました。
Javaの最大の魅力は、互換性に優れている点だといえます。「Write Once, Run Anywhere(一度書けばどこでも動く)」というコンセプトのもとに設計されており、Javaアプリケーションは異なるオペレーティングシステム(OS)間でも動作するのが特徴です。これは、処理がJava仮想マシン(JVM)上で実行されるためです。このJVMが各OSに対応していることで、Javaにより開発されたプログラムが幅広い環境で同じように機能するのです。
●Pythonの歴史
Python(パイソン)は、プログラマーであるグイド・ヴァンロッサム氏によって1991年に発表されたプログラミング言語です。2001年にはPython2、2008年にはPython3のバージョンが発表され、高い人気を誇っています。先に紹介したC言語やJavaと比べると、歴史の浅いプログラミング言語ですが、AI開発や機械学習、ビッグデータを使用したシステムの開発など幅広い分野で使われており、存在感は絶大です。さらに、利便性の高いライブラリとフレームワークが豊富に揃っている点、コミュニティが活発で手広いサポートが受けられる点なども、Pythonの魅力です。
システム開発の歴史や背景などの情報は、適切な開発パートナーを選択するうえで知っておきたい知識です。過去から現在に至るまでのプログラミング言語の進化や開発手法の変遷を理解することで、どのような技術が自社のプロジェクトに適しているか見極める手助けになります。しかし、実際の開発となると、パートナーの選定に迷う場合もあるでしょう。
発注ナビであれば、全国5000社以上の開発会社の中から、ご要望や案件内容に合った開発会社を厳選してご紹介いたします。「自社に合った開発会社がわからない」「選定にできるだけ時間をかけずにスムーズに導入したい」とお考えのご担当者様は、ぜひ一度ご検討してみてはいかがでしょうか。
システム開発会社選びはプロにお任せ完全無料で全国5000社以上からご提案
■システム開発に関連した記事