第14回 日本アイ・ビー・エム株式会社 様

事例カテゴリー

日本アイ・ビー・エム株式会社

GBS事業部 保険アプリケーション開発 エグゼクティブプロジェクト・マネージャ 森下 隆治氏
設計リポジトリをベースに上流から下流まで一貫した開発手法の確立に向けて

PM(プロジェクト・マネージャ)として22年間、様々なプロジェクトに携わってきた日本アイ・ビー・エム GBS事業部 保険アプリケーション開発 エグゼクティブプロジェクト・マネージャの森下隆治氏。担当プロジェクトの9割でXupperを適用し、MDFrame/Xの製品化にも深く関わっている同氏は、ベンダーの立場を越えたPMとしての視点で考案した開発手法「統合開発ソリューション」の提案を行った。

今日のシステム開発における課題

 森下氏は冒頭、システム開発の課題として、日本のSI開発プロジェクトにおけるQCD(品質・コスト・納期)遵守率の調査データを紹介した。それによると、プロジェクトの成功率(QCDすべての遵守率)はわずか30%程度。これは5年前の調査データと比較しても、それほど大きな改善の見られない数値となっている。

 また、QCDの項目別ではコスト遵守率の低下が目立ち、コスト超過の原因として「追加の設計作業」や「追加の企画作業」などが増加傾向にある。

 また、納期遅延の原因では「要件定義が長くなった」がトップに挙がり、品質面での不備の原因としては、「テストが不十分、移行作業に問題」、「要件定義が不十分」といった項目が上位に並ぶ。

 これらのデータからは、今日のシステム開発において、プロジェクトの成否は上流工程に大きく左右される傾向がより強くなっていることがわかる。

 次に森下氏は、システム開発に関わるそれぞれの立場ごとの課題について指摘した。例えば、経営層の課題として多いのは、経営のスピードに対してシステム化のスピードが十分に追随できていないこと。

 また、情報システム部門は、既存システムの硬直化から、システム改修・保守が課題となっているケースも少なくない。特に、数千万ステップもの大規模なシステムを抱える企業では、「オープン化したくても保守で手いっぱい」というのが実情だろう。

 一方、開発側(ベンダー)は常に、要求内容に対するユーザーとの認識ギャップという課題を抱えている。そして、多くのPM を悩ませているのが、スコープの増加と、それに伴うコスト超過や納期遅延の問題である。


総合開発ソリューション

開発保守工程全体から見た問題点

 続いて森下氏は、開発保守工程全体から見た問題点を整理。まず、要件定義における問題として挙げたのは、業務要件がシステム要件に確実に反映されていないこと。

 また、非機能要件が網羅されていないことや、各要件と設計情報との紐付けが不明でトレーサビリティが確保されていないといったことも問題となる。

 設計工程においては、設計書が古い、または不足しているというケースがある。設計書間の不整合という問題も少なくない。

 開発工程で特に多いのは、設計情報とソースコードの不整合およびトレーサビリティの欠如だ。また、開発スキルによる生産性のばらつきなど、属人的な問題も大きい。


 テスト工程においても、テストケース漏れ、テスト自体の生産性など、様々な問題が起こり得る。そして、後工程に行くほど、テストで手戻りが発生した場合のコストや納期に対するリスクが増大してしまう。

Xupperを核とした統合開発ソリューション

 こうした様々な課題や問題点に対する解決策を、森下氏はPM としての視点から検討。それらを体系化し、ソフトウェアエンジニアリングの手法を取り入れて、上流工程から下流工程までの一貫した開発手法としてまとめたものが「統合開発ソリューション」である。

 その要となるのはXupperの設計リポジトリで、全工程を設計リポジトリで一元管理することにより、開発生産性と保守性、品質の向上を実現できるという。


 例えば、要件定義では、業務要件とシステム要件をn対nで紐付けてリポジトリ管理。これにより、システム要件がどの業務要件から成り立っているかがトレース可能となる。

 また、非機能要件との関連付けもリポジトリで管理する。設計・開発・テスト工程についても、外部仕様、内部仕様、プログラム仕様のすべてをリポジトリ化して整合性を確保し、システム要件の設計情報へのトレーサビリティを実現する(図1)。


 また、統合開発ソリューションは、要件定義と設計に重点を置いた開発手法であり、コーディングレス開発を指向している点も大きな特徴だ。

 設計情報と整合性の取れたコードの自動生成は、MDFrame/Xの機能によって実現。特定の言語に依存しないアクションダイアグラムの記述でコードが生成できるため、開発者のスキルに依存せず、プログラムの品質と生産性の均一化を図ることができる。


 なお、XupperにはIPO(Input Process Output)情報を定義する機能がないが、ケン・システムコンサルティングでは現在、森下氏の依頼により、設計リポジトリ管理ツールの一機能として「IPOエディター」の開発を計画中だ(図2)。

 これにより、今後はIPO 設計情報によるトレーサビリティが実現されるという。また、リポジトリのIPO情報からテスト仕様候補を抽出してテストカバレッジを確保する機能の追加なども予定されている。


IPOエディター概要説明

テスト自動化やパイロット開発も可能に

 他にも、統合開発ソリューションは下流工程において、画面テスト操作自動化や回帰テストの自動化、テスト結果検証自動化、エビデンス自動取得などの機能を提供。これらは、IBMのソリューションを組み合わせることで実現している。


 その1 つが結合テスト・システムテストやユーザー受け入れテスト(UAT)をサポートするツールで、テスト時の画面やDBなどの取得を簡易化し、テストエビデンスを自動生成することができる。

 また、画面テスト操作や回帰テストの自動化ツールはselenium等をベースとしたもので、プロジェクトごとに最適な方法でテストスクリプトを記述し、自動テストを実行可能。

 こちらも、標準化されたテストエビデンスを生成する機能を提供する。これらのツールは、Xupperのビジネスフロー図からテストケース作成機能とも組み合わせて活用することができる。これらはテスト実施工数の削減はもちろん、テストそのものの品質向上にも有効だ。


 設計リポジトリの画面設計情報からJSPを自動生成する画面設計ツールも、現在作成中だという。この機能を活用すれば、要件定義段階から画面をパイロット開発する方式を取り入れることも可能となり、要件漏れやテスト工程での手戻り防止といった効果が期待できる。


 現時点では実現されていない機能や計画中の機能も含まれる統合開発ソリューションだが、設計リポジトリによる全工程の一元管理や属人性を排除したコーディングレス開発といったアプローチは、リモート開発を前提とするグローバルな開発スタイルとの親和性も高い。より安価な開発要員の確保や開発期間の短縮にも有効な仕組みとして、今後、大いに期待できるのではないだろうか。

jirei_download_2.png