特集
» 2014年03月31日 18時00分 公開

開発のスピードと質を両立するには?:ウォーターフォールだけだから失敗する――これからのアプリ開発、4つのポイント (2/3)

[内野宏信,@IT]

開発迅速化のツボが分かる4つの事例

要件の絞り込みとアジャイル開発の導入で、スピードと品質を向上

 1つ目は新サービス・広告商品を支えるシステム開発プロジェクトにアジャイル開発を導入したリクルートテクノロジーズの事例だ。同社は従来、システム「完成時100%主義」を目標にウォーターフォール型開発を行っていた。しかし市場変化が激しく「何が当たるか分からない」。そこで全ステークホルダーと調整しながら必要な要件を全て洗い出し、予算もそれに応じて積み上げる形を採っていた。しかし要件の詰め込みにより、要件定義や開発にかかる時間・コストがふくらみ、市場に効率良く対応できない状況が続いていたという。

 そこでアジャイル開発を取り入れ、ビジネス部門と開発部門が共に要件意義に取り組む形に変更。また、要件を本当に必要なもののみに絞り込み、開発期間・コストに最初から上限を設けた。要件定義についても多数のステークホルダーを調整する形から、ビジネス部門・開発部門で組織した小規模チームに決定権を委譲し、最初から完璧を狙わない「80%ルール」で意思決定を行うよう改善した。これにより、要件定義、設計、開発をパラレルに行う体制としたことで工期の半減に成功したという。

 ただし、これには「ビジネス部門は考える人、開発部門は作る人」といった、従来の考え方に根差した文化の問題や、プロジェクト全体のスコープがブレるなどの課題も発生した。だが「共に作る」というマインドを醸成する、総工数ベースのスコープ管理を取れ入れる、進捗と残作業の見える化に取り組むなどして、アジャイルプロジェクトの円滑な運営を実現した。この結果、「ビジネス要件への柔軟な対応を実現した」「頻繁なレビューによってスピードと品質の確保に成功した」として、ビジネス部門からも高評価を受けたという。

 「ただ同社の場合は、要件によっては現在もウォーターフォールを使っている。新サービスなどスピードが求められる開発にはアジャイルを適用し、そうでないものにはウォーターフォールをといった具合に、最適な手法を使い分けていることが1つのポイントだろう」

ExcelベースのWebアプリ開発ツールで開発を内製化

 2つ目は国内金融機関の事例だ。同社の場合、新商品における顧客マスター管理など、各種データ処理を個々人のPC上で行っていた。だが、処理効率を上げるために各種処理機能を基幹システムに取り込もうにも、そのための開発には時間がかかる。加えて、新商品は継続・廃止が比較的短いスパンで決定される他、商品内容の変更頻度も高い。こうした商品特性のため、時間がかかる基幹システムへの取り込みがそもそも難しい状況にあった。

 そこで同社は基幹系システムのインターフェースとなる「新商品取引管理システム」を構築することを決定。ExcelベースでWebアプリ開発ができるマイクロラボの開発支援ツール「XCute」をアプリケーション開発環境に採用し、開発を内製化。ウォーターフォールでシステムを構築した。

 その結果、顧客マスター管理や各種新商品管理の処理機能をそれぞれ4カ月で構築することに成功。片山氏は「開発を外注せず、生産性の高いツールを使って内製化することも開発迅速化の有効なアプローチの1つ」とコメントする。

コード自動生成ツールとアジャイルでリリースサイクルを短縮

 開発ツールの有効性を裏付けるもう一つの事例が、教育事業を展開している市進ホールディスングスのケースだ。同社は従来、個別指導関連業務、家庭教師関連業務など、業務ごとに管理システムを構築していたが、情報管理、社内処理が煩雑化していた。そこでシステムを一元化し、各種処理を効率化するとともに、新サービスを迅速に展開できる体制への改善を狙った。

 具体的には、 ジェネクサス・ジャパンのアプリケーション自動生成ツール「GeneXus」を採用。設計情報を入力すると、JavaやRubyなどのソースコードを自動生成、同時に各種データベースソフトに対応したテーブル定義情報も自動的に作成するツールの採用によって、開発効率の大幅な向上を狙った。また、アジャイル開発を採用し、開発を請け負ったアイ・ティ・フロンティアとビジネス部門のスタッフが常駐するプロジェクトルームを設置してコミュニケーションを活性化。優先順位の高い要件のみに絞り込むことで、新システムの開発・実装を約1年で完了させた。

 本番稼働後は保守・追加開発に注力。アジャイル開発により、ほぼ毎日というリリースサイクルを実現して、本番稼働後1年で約1000件の改訂を実施した。これにより、業務の変化に応じたシステム改訂への迅速な対応も実現。こうした基盤ができたことによって、今後はさらなる効率化を図るべく、開発・保守の内製化も検討しているという。

コード自動生成ツールによる品質安定化を反復開発に生かす

 4つ目は開発ツールとアジャイル開発の採用で基幹システムを短期間で再構築した製造業者の事例だ。同社の場合、基幹システムが稼働していたAS/400のサポート切れとアプリケーションのスパゲティ化を受けてシステム刷新を検討。だが月間2000種類/平均ロット数5個という多品種少量製品の管理に対応できるパッケージはなく、独自開発を選んだ。

 そこで同社は、Webアプリケーションをノンプログラミングで開発できる「Wagby」を採用。開発作業はSIerのパルシスに依頼した。この結果、まず2.5カ月の現状分析によってシステムの稼働率が55%であったことを割り出し、プログラム数を大幅に削減。約1.5カ月で既存機能の再現に成功した。

 これをベースにレビューとフィードバックを繰り返し、システムの完成度を高めた他、新機能の開発にも取り組んだ。特にツールについては「基本・詳細設計、開発・単体テストの工数削減」「コード自動生成による品質の安定化」「小人数開発による意思統一の容易化」など、さまざまなメリットが認められたという。

 片山氏は、「同社では、基幹システムとは独立した生産管理システムを持っているが、多品種少量生産の場合、どのようなオーダー情報を基幹システムと交換すれば最も効率的なのか、事前に設計することは難しい。この点で、システム開発にも試行錯誤が求められるが、開発ツールによる開発の効率化・短期化はこうした点にも有効だったといえる」と解説した。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。