Comments
Description
Transcript
自動化技術を軸にした新しい開発スタイルで 高品質の
特集 「お客様の変革を実現するシステム開発」と 「技術のトレンドを先読みした先進サービス開発」を実践するNTTデータのR&D 自動化技術を軸にした新しい開発スタイルで 高品質のシステム構築を目指す 従来から、ソフトウェア開発の自動化に積極的に取り組んできた NTT データ。同社では、こうした取組みを通して、工期短縮 や品質向上など「自動化の先にあるもの」を目指している。 のが、二つの新しい開発スタイルだ。 システム構築期間を短縮する 「TERASOLUNA」の実績 NTTデータは、オープン系ソフト 設計書を基準にした 自動化アプローチ ウェア開発ソリューション 最初の開発スタイルは、 「設計書中 「TERASOLUNA」の中で、ソフト 心開発」だ。従来の自動化は、コー ウェア自動化の取り組みを積極的に ドの自動生成に焦点を当てていた。 進めており、基幹系から特定業務ま コードの自動生成率を高める一般的 で幅広いシステムで実績を上げてき な方法は、決まった形でリポジトリ ㈱ NTT データ 技術開発本部 ソフトウェア工学推進センタ長 た。これまで、Webアプリケーショ にデータを投入してソースコードを 冨安 寛氏 ン開発に向けた汎用型ツール 出力する手法だが、大規模開発では タは、設計書を基準にした自動化ア 「TERASOLUNA IDE」と、業務ロ この手法が適用できない。すなわち、 プローチを導入した。具体的には、 ジックの100%自動生成を可能にする データの投入順が定められていると、 自動的に設計書の記述情報を解析・ 「TERASOLUNA ViSC」を開発・展 多くの開発者が一斉に並行して作業 検証するツール「TERASOLUNA 開し、金融機関や大手通信会社など を進めるのが困難な上、オフショア DS」の開発である。すでに金融系シ で革新的な工期短縮を実現している。 など開発環境が各地に分散している ステムなど複数の大規模プロジェク そんな TERASOLUNA が自動化 と、リポジトリの管理に膨大なコス トで試行展開している。 の更なる進化として取り組んでいる トがかかるためだ。そこでNTTデー リエンジニアリング−TERASOLUNA DS連携による 既存資産活用の効率化 リエンジニアリング ツール 自動生成 リバース リバース 資産 取り込み 既存資産 (ソースコード) TERASOLUNA DS−TERASOLUNA ViSC連携による 自動生成・ソースコードの高品質化 TERASOLUNA DS TERASOLUNA ViSC ソースコード 情報連携 整合性確認 「妥当な」情報を自動化 ツールに連携することで、 テストの稼働を軽減。 既存資産 (現行設計書) 取り込み 開発期間中に発生する全設計書間の 整合性を非同期に取ることにある。 開発中に分散拠点で独自に作成・修 正する膨大な設計書を任意のタイミ ングで TERASOLUNA DS に投入 すると、その時点での不整合や記述 既存資産 既存資産 (ソースコード)(現行設計書) リエンジツールが出力した資産 に対し、効率的にアクセスし、 解析する仕組みを提供。 ソースコード リバース 資産 既存資産の活用 開発者 設計 次期設計書 ミスを自動的に摘出する。その摘出 結果をもとに設計書を修正すること 取り込み 常時情報の整合性をチェック・開 発者に修正を促す仕組みを提供 することで、 「妥当な」設計情報 を格納する基盤として機能。 図 1 TERASOLUNA DS と他の自動化ツールとの連携 52 TERASOLUNA DS の目的は、 を繰り返し、設計情報の精緻化を図 ることができる。 さらに、TERASOLUNA DS と ビジネスコミュニケーション 2012 Vol.49 No.1 既存の自動化ツールを組み合 適応型開発 繰り返し1 繰り返し2 開発の初期から動作するシステムを顧客に提供することで、 リスクを低減。要求の変化に合わせて継続的に開発。 わせて利用することで、飛躍 リリース1 的な工期短縮を実現すること ができる。 開発 プロセス 品質や進捗の測定・評価を自動化。 各種品質帳票を自動作成し 継続的な意思決定を支援。 たとえば、更改や AMO (Appli -cation Management 管理 ツール Outsourcing)時にリエンジニ リリース3 設計 モデル 開発 ツール 即時同期機能 リバース機能に よる同期の維持 Java では、既存資産(ソースコー リリース2 設計書の修正箇所に限定した コード修正が可能。 設計と製造の乖離がなくなる。 アリングツールと連携する例 障害頻度 繰り返し3 カバレッジトレンド ・・・ XML コード モデル 顧客バリューの最大化 ド)からリエンジニアリング 図 2 TERASOLUNA IDE3 によって自動で抽出された設 計情報を TERASOLUNA DS に投 や更改時に品質面でのトラブルが起 のこの機能により、進捗やバグの情 入することで、膨大で不完全な設計 きていた。この問題に対応するのが 況を常に正確に把握可能になり、2 情報に効率的にアクセスしながら、 「適応型開発」だ。小さいウォーター ∼3週といった短期のウォーターフ 次期設計書を作成することが可能に フォールをアジャイルのように回す ォールプロセスにも対応できるよう なる。 イメージで、ドキュメント作成も試 になった。さらに、進捗状況を分析 また、TERASOLUNA DS で整 験もきちんと行う。ただ、これを実 し、プロジェクトの速度や生産性も、 備した設計情報を TERASOLUNA 際に行うには非常に密度の高い作業 同時に把握できることから、顧客の ViSC へ引き継ぐことで、不整合 が必要になることから、サポートす 仕様変更を受け入れることができる のないコードが自動生成され、製造 るためのツールも整備した。それが かを容易に判断できる。これによっ と一部の試験を省くことができるな 進化した「TERASOLUNA IDE」だ て、柔軟に仕様変更を受け付けるこ ど、ソフトウェア開発は抜本的な効 (図2参照) 。最新版TERASOLUNA とが可能になった。すでに金融系プ IDE3には特別に準備した開発プロセ ロジェクトで検証を始めており、今 スと、二つのツールが含まれている。 後はその結果を元に広く展開される 開発ツールでは、設計情報を修正す 見通しだ。 率化へと向かう(図1参照)。 顧客のニーズを即時に反映する 自動化アプローチ ると瞬時にコードを変更・出力する、 人海戦術に頼らない 高品質のシステム構築が実現 一方、顧客の要望を直ちに設計書 またその反対にコードを修正すると とコードに反映させる新しいツール 瞬時に設計情報を変更する即時同期 を用いて実現するのが二つめの開発 機能を備えており、設計を完了しな 設計書作成を軸にし、生産性を向 スタイル「適応型開発」だ。 いとコードが出力できない従来の自 上させる「設計書中心開発」 、品質を 動化プロセスに比べて大幅な効率向 担保したアジャイル開発である「適 上を果たした。 応型開発」 。その二つの新しい提案を 今日のシステム開発は、ウォータ ーフォールかアジャイルプロセスが 一般的だが、それぞれに課題があっ また、管理ツールでは、自動的に設 通じて、人海戦術に頼らない高品質 た。ウォーターフォールと言いつつ、 計書とコードを確認し進捗や品質情報 のシステム構築が可能になってくる。 実際の開発現場では設計工程の後で をレポート出力する機能を持つ。これ 自動化の核心部分を前進させた も仕様変更が頻繁に発生し、効率化 までの開発プロセスでは、試験などの TERASOLUNAは今後、オープン系 の妨げとなっていたし、アジャイル 進捗情況を一定期間ごとに人手で確認 システム構築を刷新する原動力とし ではドキュメントが無いことで保守 していたが、TERASOLUNA IDE3 て、活用シーンが拡がっていく。 ビジネスコミュニケーション 2012 Vol.49 No.1 53