伝統的なシステムインテグレーション(SI)は、【ウォーターフォール型】と呼ばれる開発手法で進められてきた。ユーザー企業でのヒアリングから始まる上流工程から、納品までの下流工程へという作業が流れを滝(ウォーターフォール)に例えたのである。しっかりと仕様を固めて、プログラムを作り、テストを経て、納品という工程は、ユーザー企業と【SIer(システムインテグレーター)】の双方にとって分かりやすく、一般的に運用されてきた。

 ところが、グローバル化などの進展により、ビジネス環境の変化が激しくなってくると、短期間での納品が求められるようになり、ウォーターフォール型では対応が難しいケースが出てきた。例えば、ウェブ系のビジネスは、市場での競争が激しく、サービスを支えるシステムに素早いアップデートが求められる。システムを日々更新するには、要件定義などはしていられない。そこで登場したのが、【アジャイル型】の開発手法である。アジャイル開発では、最終形を決めずに、細かなモジュール単位での開発を進めていく。これにより、日々のアップデートを可能にしている。

 アジャイル開発のメリットは、システムの問題点を早期に発見でき、軌道修正できるところ。納品後に問題が発覚し、本稼働を延期するというようなことはない。

 アジャイル開発は、開発コストが高くなりがちで、仕様書が整備されないことによる低いメンテナンス性というデメリットがある。業務の変化があまりなく、ゴールが明確な基幹系システムなどの開発では、ウォーターフォール型が向いているケースが多い。ただ、近年は、基幹系システムでもアジャイル開発を採用するケースが増えており、ユーザー企業とSIerの判断次第になってきている。

 ちなみに、「アジャイル開発に取り組まないSIerはダメだ」という意見は、開発の現場を知らないジャーナリスト的な人によくみられる。これは「クラウドに取り組まないSIerはダメだ」と同レベル。ケースバイケースである。

 一方、クラウドに代表されるサービス化の流れを受け、システム開発自体がなくなっていくとの憶測もある。クラウドサービスが充実したり、手軽にカスタマイズできるサービスが登場したりすれば、可能性は大いにある。IT業界は、常にその実現に向けて取り組んできた。令和時代は、いよいよその実現が期待される。(畔上文昭)