山形県は2005年から標準開発プロセスにアジャイル開発を据えている。アジャイルを採用したのは、同県が推進するSOA(サービス指向アーキテクチャ)に基づくシステム開発に合っていると考えたからだ。ただし、アジャイルとSOAが当たり前に使われるかどうかは、今後の情報システム部門の奮闘にかかっている。

写真●山形県庁でアジャイル開発を推進するメンバー
写真●山形県庁でアジャイル開発を推進するメンバー
山形県 総務部 総合政策室 情報企画課の秋場淳一郎 電子県庁推進主幹(中央)と長谷部研 主事(左)。トライポッドワークス 事業統括本部事業企画部の齊藤隆夫氏(右)は山形県の情報政策をITマネージャーとして技術的に支援する

 「SOAの良さはアジャイル開発でさらに引き出せる」。山形県 総務部総合政策室情報企画課の秋場淳一郎 電子県庁推進主幹はこう言い切る(写真)。SOAは業務の視点から機能をコンポーネント(部品)化し、それらを組み合わせることで、要件の変化に柔軟に対応しようという考え方。一方のアジャイル開発は短期間の繰り返しで開発することで、仕様変更に柔軟に対応する開発手法。どちらも変更に強い点で一致し、相乗効果が引き出せるというのだ。

 秋場主幹の所属する情報企画課は大きく二つの役割がある。県庁のIT戦略やITガバナンスを立案・実行するCIO(最高情報責任者)オフィスと、各課が進める開発案件について妥当性や進捗をチェックするPMO(プロジェクトマネジメントオフィス)である。

 加えて、山形県のIT産業を育成することも求められる。三つの面を合わせて秋場主幹は「SOAとアジャイルは県庁と地場のIT企業を幸せにできる。結果的に県民のためになる」と話す。パッケージソフトによるウォータフォール開発を進める大手IT企業の“言いなり”から脱することで、開発費を圧縮し、地元のIT企業の成長を促すことがゴールだ。

コスト主導権を取り戻す

 山形県は原則、「山形県情報システムフレームワーク」と呼ぶルール集にのっとって開発を進めている。SOAやアジャイル開発のほか、オブジェクト指向技術や主にオープンソースソフト製品を使ってシステムを開発することを基本としている。

 根底にある考え方は、全体最適を優先して機能の重複を防ぎ、業務変更に柔軟に対応できるようにすること。結果として、技術的に見て20年後も使えるシステムの開発を目指す。

 そのために「特定のIT企業に依存しないこと、公開すること、利用/追加すること」を掲げている。具体的には、特定のメーカーや個人に依存しないよう、よく知られた開発技術や製品を使い、開発したソースコードは公開を前提とする。コンポーネントはオブジェクト指向技術で開発するが、まずは既存コンポーネントの再利用を検討する。再利用できなければ改造を検討し、それも無理であれば新規に作る。

 このコンポーネントの標準開発手法にアジャイルを選んだ。具体的には反復型開発手法の一つである「UP(統一プロセス)」である。

 UPは利用者の目線からシステムの機能や振る舞いを記述した「ユースケース」と呼ぶモデル図を起点に進める。3カ月10人以下の小規模チームを作り、個別の機能を繰り返し開発する。これら機能をまとめ上げることで全体を開発する。

 アジャイルを選んだ理由は大きく三つある。一つは作り直しが容易なこと。最初は部分最適で作ったコンポーネントを汎用化する場合や、コンポーネントを再利用することに向いている。コンポーネントの粒度に標準はないので、試行錯誤しながら何度も作り直せることは都合がよい。

 二つめはシステム開発のQCD(品質・価格・納期)を適正にするため。フレームワークを定める以前は「間違った開発を進めていた」(秋場主幹)という。「紙の仕様書に確認印を押した後はIT企業に“丸投げ”していた。画面の操作性を向上させるにも開発終了後の追加分として別途費用を払っていた」(同)。これを発注者が積極的にかかわるアジャイルに変え、必要な機能から開発することでコストが膨らむのを抑えられるというのだ。「短期間で作るので納期遅れも防げる。品質も毎回チェックできる」(同)。

 三つめは地元のIT企業育成のためだ。サブシステムの新規部分はコンポーネントの再利用でこれまでよりも小さくなる。「パッケージソフトを持たないような地元のIT企業でも十分開発できるサイズだ」と、仙台市のIT企業であるトライポッドワークス 事業統括本部事業企画部の齊藤隆夫氏は話す。齊藤氏は2007年から山形県の情報指南役である「ITマネージャー」として、フレームワークの教育を進めたり受注内容の妥当性を検証したりしている。フレームワークの策定時にはIT企業として携わっていた。