アットマーク・アイティ @IT@IT情報マネジメント@IT自分戦略研究所QA@ITイベントカレンダー  
 
 @IT > .NETエンタープライズ新時代 第1回
 
@IT Special

 

PR

@IT Special 記事企画
.NETエンタープライズ新時代
―― SIerに聞く。エンタープライズ向け.NET導入の実際 ――

第1回 日本ユニシス株式会社

 

 エンタープライズ・システム開発で
 .NETの採用が進む理由

 

 瀬嵐 雅樹 氏 
日本ユニシス・ソリューション株式会社
コンピテンスセンタ
.NET基盤技術室長
 豊田 裕之 氏 
コンピテンスセンタ
.NET利用技術二室長
 猪股 健太郎 氏
コンピテンスセンタ
.NET基盤技術室 チーフSE
 加藤 朋宏 氏 
コンピテンスセンタ
.NET基盤技術室

 Microsoft .NET Framework(以下 .NET)が2002年4月に登場してから、もうまもなく5年目を迎えようとしている。この間.NETは、Windowsデベロッパーの中心的な開発テクノロジとしてその地位を確立してきた。それに伴い、エンタープライズ環境における中〜大規模システム開発案件の実績も徐々に積み上がってきている。マイクロソフトの説明によれば、.NETの安定性、安全性に対する信頼は年々高まってきており、今後ますますエンタープライズ分野への.NETの普及が見込まれるという。

 高可用性が重視されるエンタープライズ分野において、当初は実績の乏しかったWindows Server+.NETが、開発プラットフォームとして積極的に選択されるようになった背景には何があるのか? 業界の中でも率先してエンタープライズ・システムに.NETを活用してきた日本ユニシスは、その理由が.NETの開発生産性にあると説明する。

 「現在では、お客さまから.NETによる構築を指定されることがあります。例えば、すでにJavaのシステムを持っているが、今後はJavaと.NETの2軸でシステムを構成したいというお客さまもいらっしゃいます。特にエンタープライズ環境のお客さまは、.NETの開発生産性に強い関心をお持ちです。システム開発にかかる絶対金額が大きいエンタープライズ環境では、開発生産性の違いが多額の開発費用の差となって表れるからです。Windows Serverベースのエンタープライズ向けシステムの導入事例が増加し、信頼性や安定性に対する不安が解消されたこと、これに加え、.NETの開発生産性の高さが広く認識されつつあることが背景にあると考えています。最新の開発環境である.NET Framework 2.0に関しても採用が増えており、例えば東京電力さまの人事労務システムのプロジェクトは、VB(C/S型)で構築された旧システムを.NET Framework 2.0を使用してWebで再構築した案件になります」(加藤氏)

 「実際に開発を担当する私の目から見ても、.NETの開発生産性は非常に高いと感じます。.NETでは、標準フレームワークのサポート・レベルがとても高いのが第一の理由でしょう。Javaでは、開発元や設計コンセプトの異なるさまざまなフレームワークを適宜組み合わせて開発する必要がありますが、.NETでは、アプリケーション・アーキテクチャからユーザー・インターフェイスまで、システム構築に必要なひととおりのフレームワークが標準でサポートされています。このため、どのような開発案件に対しても、一貫した開発アプローチを安定的に採用できます。中でも、リレーショナル・データベースの取り扱いを容易にする機能は、エンタープライズ開発の生産性を大きく向上させていると考えます」(猪股氏)

 ビジネス・システムへの.NETの採用は、何も新規の開発案件だけにとどまらない。「Visual Basic 6.0アプリケーションから.NETアプリケーションへの移行、ASP(Active Server Pages)からASP.NET Webアプリケーションへの移行や再構築の案件も出てきています」と豊田氏。既存システムの.NET対応へのニーズも高まってきているようだ。

 

 エンタープライズ開発を成功に導く
 独自の開発方法論を確立

 

 日本ユニシスは、これまで数々のエンタープライズ・システムを.NETベースで開発し、稼働実績を重ねてきた。新しいプラットフォームである.NETを用いながら、成功を収められた理由は何なのか。

 「ひと昔前、プラットフォームにJavaを選ぶか、.NETを選ぶか、という議論をよく目にしましたが、エンタープライズ・システムの開発プロジェクトを成功に導くために重要なのは、そうした単純なプラットフォーム選択ではありません。それよりも、アプリケーション・アーキテクチャや開発プロセス、開発標準の策定など、いわゆるメソドロジ(方法論)の部分が非常に大切です」(豊田氏)

 「日本ユニシスは、『LUCINA』(ルキナ)という独自の開発方法論を作成し、これをエンタープライズ開発プロジェクトの大半に適用しています。LUCINAの根本思想には、.NETだからJavaだからという違いはありません。LUCINAでは、エンタープライズ開発を成功させるために必要となる、設計の方法論、チーム構成やプロジェクト管理の方法論、プロセス管理の方法論といったさまざまなメソドロジを体系化しています」(猪股氏)

 「当初LUCINAは、Javaプラットフォームを対象として、2000年に開発されました。その後、.NETプラットフォームの登場に合わせて、2002年に.NETに適した形にアレンジした『LUCINA for .NET』をリリースしました。その後も、.NET Frameworkがアップデートされるたびに、新たなノウハウの集約と最新環境への対応を実施し、拡張を続けています。LUCINAの開発方法論に沿うことで、開発生産性を向上させつつ、高レベルの安定性やクオリティを維持したエンタープライズ・システムが構築できます。現実のシステム開発のノウハウを結集した独自の開発方法論を備えていることこそ、日本ユニシスの最大の特長であり、日本ユニシスが.NETによるエンタープライズ開発に成功できる最大の理由だと自負しています。実際に、日本スポーツ振興センターさまのtotoシステムのプロジェクトではLUCINA for .NETを利用したことにより2年以上かかると見込まれた大規模開発を、システムの柔軟性確保と運用コストの削減を同時に実現しつつ、11.8カ月で構築しました」(瀬嵐氏)

 さらに加藤氏は、RUP(Rational Unified Process)のような反復型の開発方法論や、XP(eXtreme Programming)を代表としたアジャイルな開発方法論と比較して、LUCINAの利点を次のように説明する。

 「著名な開発方法論としてRUPやXPなどがあります。これらの開発方法論は確かに優れた方法論ではあるのですが、現実のエンタープライズ・システム開発で適用しようとすると、さまざまな問題にぶつかります。例えば、RUPを厳密に実践するとコストがかかるとか、XPは開発者の熟練度に左右されるなどです。LUCINA for .NETは、こういった問題を解決しつつ、それぞれの良い点を取り入れた開発方法論と考えていただければ理解しやすいと思います。LUCINA for .NETでは実証済みのアーキテクチャを提供することで、アーキテクチャの検証の手間を省くことができます。そして、サンプル・アプリケーションによって、設計と実装とのギャップを埋めることができます。これにより、コストを抑えながら、アウトプットの品質を一定以上に保つことができるのです」

 

 プロジェクト管理の側面から
 エンタープライズ開発のコストを削減

 

 「LUCINAは、理論だけでなく、実際の開発環境や開発ツールと連携できることが魅力の1つ」と評されている。実際にLUCINAでは、開発ツールであるMicrosoft Visual Studio 2005 Team System(以下 Team System)が持つ機能を、プロジェクトの適切なフェイズで効果的に利用するためのガイドラインが制定されているとのことだ。Team Systemには、プロジェクト・チーム・メンバー(アーキテクトや開発者、テスト担当者)向けのTeam Editionと、プロジェクト管理用のTeam Foundation Serverがある。LUCINAは、これら双方と連携し、開発者からプロジェクト・マネージャまで、プロジェクト・メンバー全員の開発生産性向上を可能にしている。

LUCINA for .NETとVisual Studio Team Systemとの連携

 「Team Editionの特徴は、単体テスト機能など、開発に有用な機能がVisual StudioのIDE(開発環境)に完全に統合されていることです。単体テスト・ツールのNUnitなどに代表されるオープン・ソース系ツールのように、個別にそれぞれを導入する必要がなく、手軽に利用できます。Team Editionには、テストやコード・カバレッジ(=全体のうち何%のコードが実行されたかという、コード実行の網羅率を検証する機能)などさまざまな機能が搭載されています。LUCINAでは、『この場面では、Team Editionのこの機能を、こう活用できる』というベスト・プラクティスが定義されています」(猪股氏)

 後者のプロジェクト管理用のTeam Foundation Serverと、LUCINAが連携できるメリットとは何なのか。

 「Team Foundation Serverの特長は、開発プロジェクト用ポータル・サイトや、ソース・コード管理、自動ビルド、ワーク・アイテムと呼ばれるタスクの管理、バグ・トラッキング、レポーティング機能といった、チーム開発で役立つさまざまな機能がひとまとめにされている点です」(加藤氏)

 「Team Foundation Serverは、プロジェクト管理作業の負荷を大きく軽減してくれます。従来のプロジェクト管理では、例えば、成果物の進ちょくに関するドキュメントを各開発者が作成し、チーム・リーダーがそれを取りまとめ、進ちょく会議でそれらをプロジェクト・マネージャに提出するという方式が一般的でした。しかしこの方式では、本来は開発のエースたるべきチーム・リーダーが管理作業に忙殺されてしまい、開発作業にあまり時間を割けなくなってしまいます。これに対しTeam Foundation Serverを使えば、各開発者がその成果物(ソース・コードなど)をリポジトリにチェックインするだけで、進ちょくに関するデータは自動的に作成されます。こうして管理作業が大幅に省略され、チーム・リーダーは開発作業に多くの時間を振り向けられるようになるのです」(豊田氏)

 「以前は、開発プロジェクトに関するさまざまなデータを、専任のスタッフがExcelに手動で打ち込み、マクロで分析してその結果をグラフ化するなどしていました。Team Foundation Serverの機能を使えば、こうした一連の作業にかかる管理コストを大幅に削減できます。また、Team Foundation Serverのレポーティング機能を活用することによって、リアルタイムに分析データを確認できるようになります。これにより、プロジェクトの問題点を早期に発見し、それらに素早く対策できるようになります」(瀬嵐氏)

 日本ユニシスは、単にTeam Foundation Serverの機能を利用するだけでなく、独自の開発方法論であるLUCINAをこれに統合している。

 「LUCINAでは、あらかじめ標準の成果物(のテンプレート)が用意されており、その成果物の設計ドキュメントを基に、Team Foundation Serverで管理するワーク・アイテムを自動的に生成できるようにしています。このようにLUCINAは、Team Foundation Serverで一から入力する手間を極力減らす工夫をしています」(豊田氏)

 「Team Foundation Serverには、デフォルトで、アジャイル開発用のプロセス・テンプレートとCMMI(Capability Maturity Model Integration)用のプロセス・テンプレートが用意されていますが、日本ユニシスでは、LUCINAで提唱する開発方法論に適合する独自のプロセス・テンプレートを新たに作成し、これを活用していく計画です。また、いろいろな尺度で分析を行うための拡張も施しており、例えば開発の品質を分析するための独自のグラフ表示機能などを追加しています。具体的なグラフ例としては、日ごとのタスク達成率、チームごとのバグ発生率などがあります。さらに、仕様のミスや実装のミスをその担当者にフィードバックする機能も付け加えており、担当者ごとのミスの発生率も分析できるようになっています。プロジェクト管理者にとっては、開発プロジェクトに関するさまざまな指標を定量化した数値で分析でき、明確に認識できるので、非常に役立ちます」(瀬嵐氏)

 Team Foundation Serverを利用したところで、プロジェクト管理に必要な作業自体が減るわけではないが、ただしそれらの多くを自動化し、多重入力などの無駄を省くことはできる。これらにより、大規模なシステム開発のプロジェクト管理にかかる、煩雑で非人間的な作業の手間は、大幅に省力化される。さらに、日本ユニシスが行っているように、開発プロジェクトに最適な形にTeam Foundation Serverをカスタマイズすれば、より大きな開発コスト削減を図れるだろう。

 高度なベース・アプリケーション・フレームワークと、実際のシステム開発で洗練されてきた開発方法論により、直接的な開発生産性が向上すること。さらにこれに加え、プロジェクト・マネージャやアーキテクト、開発者、テスターまで、プロジェクト・メンバーが間接的なプロジェクト管理にかける負担を、ツールと開発環境(Microsoft Visual Studio 2005 Team System)により大幅に軽減できること。エンタープライズ領域で日本ユニシスの.NET開発案件が増加する背景には、こうした理由があるようだ。

関連リンク
日本ユニシス .NETソリューション
日本ユニシス .NETソリューション 事例一覧
日本ユニシス LUCINA for .NET



Microsoft .NETはエンタープライズのシステム基盤として、多くの企業向けシステムでの開発基盤、および運用プラットフォームという形で導入が進んでいる。 .NETにかかわるキーマンたちの声を聞き、実際の導入事例を見て、.NETが開発をどう変えるのかを知ろう。
【注目インタビュー】 〜 .NETのキーマンがエンタープライズ戦略を語る
Visual Studio Team Systemで実践する ソフトウェアエンジニアリング
【導入事例】 〜 SIerに聞く。エンタープライズ向け.NET導入の実際
第1回
日本ユニシス株式会社
第2回
株式会社 富士通関西システムズ
第3回
アバナード株式会社
第4回
株式会社アークウェイ
第5回
株式会社ビジネス・インフィニティ & 株式会社NTTデータ

提供:マイクロソフト株式会社
企画:アイティメディア 営業局
制作:デジタル・アドバンテージ
掲載内容有効期限:2007年6月30日
 
関連リンク
マイクロソフト株式会社
Microsoft .NET
Microsoft .NET Framework
Microsoft Visual Studio 2005 Team System

関連記事リンク
初めてのMicrosoft .NET
Visual Studio 2005 Team System 概要
VSTSの単体テスト機能は本当に使えるのか?
.NETエンタープライズWebアプリケーション 開発技術大全
アプリケーション・アーキテクチャ設計入門
Trend Interview(日本ユニシス):
アプリケーション・フレームワークの誤解と真実


 
@ITトップ@IT Special インデックス会議室利用規約プライバシーポリシーサイトマップ