前回、設計段階で仕様が固まることを前提としたウォーターフォール型開発は基幹業務システムの開発には向いていないという話をしました。ウォーターフォール型開発に代わる開発方法として期待されているのがプロトタイプ開発です。業務分析で確認した内容をベースに見本となるプロトタイプ(試作品)を作ってしまい、仕様検討はそれを基に進めていくというアプローチです。

 プロトタイプ開発で開発作業を行う場合は、比較的早い段階で利用者がシステムのイメージを確認できますので、仕様確定作業を効率的に行うことができるようになります。さらに利用者側と開発者側で同じ画面などを見て会話をすることができますので、お互いが異なる認識でいるといった事態に陥ることを抑える効果も期待できます。

 プロトタイプ開発は工業製品開発の世界では当たり前のように行われている開発方法です。システム開発の世界でも本来はプロトタイプ開発で開発するのが自然の流れです。昔のようにプロトタイプを作るツールがほとんどなかった時代とは異なり、使い勝手のよいプロトタイプ開発ツールも登場してきています。ウォーターフォール型開発のような不自然な形の業務システム開発に固執する必要性はなくなりました。

 プロトタイプ開発には、仕様確認後にプロトタイプを使い捨てる形の「使い捨て型プロトタイプ開発」と、一度作ったプロトタイプを改良しながら本番システムに仕立て上げていく「進化型プロトタイプ開発」の二種類の開発方法があります。両者は同じプロトタイプ開発という言葉を用いますが、仕組み的にはかなり違います。

 前者は「いかに早くそれなりのシステムを作れるか」が重要ですので、作りやすさを重視した開発ツールが用いられます。本番システムで使う開発ツールとは異なるプロトタイプ専用のツールを使ってプロトタイプを作ることもあります。例えば、画面イメージだけを作るツールを利用する、といったことです。工業製品開発でモックアップや木型を使うような形です。

 使い捨て型プロトタイプの場合は、変更要求をうまく制御しないといつまでも無限に作り変えが発生する可能性があります。そのため、あらかじめ仕様確定の期間と作り変えの回数を決めて行う「RAD(Rapid Application Development)」と呼ばれる開発手法が使われることもあります。

 一方の進化型プロトタイプ開発ですが、これはとりあえず作った試作品を徐々に仕立て上げていき本番システムにするアプローチです。例えば、この原稿もラフ原稿を徐々に仕上げていく形で執筆していますので、原理的には進化型プロトタイプ開発のアプローチと同じです。

 進化型プロトタイプ開発で用いるプロトタイプは最終的に本番システムとしても使いますので、開発に用いるツールは本番用のものと同じになります。そのため、開発ツールには作りやすさだけでなく変更の容易さも求められます。ただし、実際に進化型プロトタイプに使えるツールは、後述する「Sapiens」などいくつかに限られます。

 進化型プロトタイプ開発では、設計段階で細かなシステム仕様までを固める必要はありません。概要仕様だけを決めてさっさとプロトタイプの開発に取り掛かりそれをベースにじっくりと仕様検討していきます。そのため、開発期間と開発工数(費用)を大幅に節減することができます。

 に進化型プロトタイプ開発を用いた開発フローを示しました。進化型プロトタイプ開発では設計段階は2カ月程度で終えてしまい、その代わりにプロトタイプを用いた仕様検討に時間をかけるようにします。

図●進化型プロトタイプ開発
図●進化型プロトタイプ開発

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。