• 検索結果がありません。

Macchinettaフレームワークを基盤としたアプリケーション開発の効率化

N/A
N/A
Protected

Academic year: 2021

シェア "Macchinettaフレームワークを基盤としたアプリケーション開発の効率化"

Copied!
5
0
0

読み込み中.... (全文を見る)

全文

(1)

アプリケーション開発の効率化に 向けた取り組み NTTグループでは,所有するネッ トワークやお客さまの情報を管理する システム,さまざまな業務向けのアプ リケーション(業務AP)を開発する ために,膨大な規模のソフトウェア開 発が行われており,その開発の効率化 は大きな課題となっています.昨今の ソフトウェア開発では,すべてのソフ トウェアを一から作成したり,すべて を手作業で開発することは,ほとんど ありません.ソフトウェア開発を効率 化するための基盤となるフレームワー クや,ソフトウェア開発の自動化など を行う開発ツールを,設計 ・ 製造 ・ テ ストといった工程の中で適切に使うこ とにより,各開発会社や個々の開発者 は生産性の向上を図っています. しかし,個々が使うフレームワーク や開発ツールが異なっていると,業務 APのつくり方や運用方法が違うため に,利用するフレームワークなどを理 解する初期学習や,システムに新しい フレームワークを適用する移行や,他 システムと協調して動作させるための 連動などに大きなコストがかかってし まう問題があります.仮に同じフレー ムワークを用いても,バージョンが異 なっているだけで,連動するときに不 具合が生じることもあります.また, NTTグループの開発は大規模である ことが多いので,各社で独自にツール を開発することもあります.そういっ たツールやノウハウを共有できないの は,生産性向上の点で問題です. そこで,これらの問題を解決するた めに,NTTソフトウェアイノベーショ ンセンタでは,業務AP開発の基盤と なるAPフレームワークを開発しまし た.さらに,そのフレームワークを基 盤としてさらなる業務APの開発効率 化のために,開発ツール群を共通化し, それらの共通化された技術を持つ人 材育成の支援に取り組んでいます. 業務APフレームワークの整備: Macchinettaフレームワーク 業務APを開発する際には,「APフ レームワーク」と呼ばれる基盤ソフト ウェアを利用することが一般化してい ます. APフレームワークとは,ハー ドウェアやOS,ミドルウェアなどで 構成されるソフトウェア動作環境と, 業務APの間を取り持つソフトウェア です.APフレームワークの共通機能 を利用することにより生産性を向上で き,フレームワークの決まり事に従っ て開発することで担当者ごとの差異を 減少させ品質を均質化し,フレーム ワークを共通知識として持つことによ り,システム理解が容易になり維持管 理を効率化できるといったメリットが あります. しかし,APフレームワークの利用 には,以下の課題がありました.ま ず,メリットを享受するために,AP フレームワークの定める決まり事を学 習し,実開発でのさまざまなノウハウ を習得する必要がありました.また, さまざまなフレームワークがつくられ ており,選択が必要でした.特に, NTTグループ内でも,類似のAPフ レームワークを展開し,その技術開 稿では,Web系業務アプリケーションの開発効率を向上す るために開発したMacchinettaフレームワークについて説明 し,さらにそのフレームワークを基盤とし,自動化を中心 とした開発ツール群を共通化するMacchinettaツールスイー トと,これらの共通化された技術を習得し,効率的な開発 を支える人材を供給するMacchinetta人材プールの取り組み について紹介します.

か ね こ

子 武

たけひこ

彦 /田

た な べ

邉 憲

け ん じ

二 /出

いづもと

本  浩

ひろし

さ か い

井 美

み よ た か

代孝 /山

やました

下 克

かつゆき

行 /磐

い わ き

城 洋

ようすけ

NTTソフトウェアイノベーションセンタ

†1

NTTデータ

†2

NTTコムウェア

†3 † 2 † 2 † 2 † 3 † 3 † 3

(2)

発 ・ 保守費用が各社で重複していると いう課題がありました. そこで,これらの課題を解決し,初 期学習コストを低減し,保守費用の重 複を避けるため,NTTソフトウェア イノベーションセンタは,NTTグルー プ共通で利用できる新しいAPフレー ムワークとして,Macchinettaフレー ムワークを開発しました(1)(図 ₁ ). Macchinettaフレームワークは,基 本方針としてグローバル標準のオープ ンソースソフトウェア(OSS)を採 用し,独自技術に縛られず種々のIT システムに幅広い適用を可能にしてい ます.Macchinettaフレームワークは, 複数の業務APで安定して利用できる よう組合せ検証がされた,共通機能と して必要なOSSスタック推奨モデル と,業務APフレームワークを利用し た開発を円滑に実施するための技術文 書から構成されています(図 ₂ ).オ ンライン処理向け,バッチ処理向け, クライアント開発向けといった対象を 拡充していくことにより,広い分野の 業務APに活用できるような整備がさ れています. Macchinettaフレームワークは,NTT ソフトウェアイノベーションセンタか ら,システム開発を実施するNTTグ ループ会社に提供されており,すでに 100件以上の案件で利用実績があり ます. 特にNTTデータとNTTコムウェア においては,案件導入を積極的に推進 することに加え,案件に適用して得ら れた知見やノウハウをフレームワーク にフィードバックしており,緊密な協 力関係を構築して適用を進めていま す.NTTデータはビジネスで必要な 独自のライブラリなども合わせて, TERASOLUNA Server Framework for Java (5.x) として社内展開してお り,多くのビジネス系の大規模なソフ トウェア開発に適用され,大きな実績 を上げています.また,NTTコムウェ アではNTTグループ向けの案件を中 心に多くの適用実績を上げています. A P 基盤の提供 人材の供給 ハードウェア・OS・ミドルウェア Macchinettaツールスイート (開発ツール群) 開発を効率化する ツール群の提供 設計支援 ツール 製造自動化支援ツール テスト自動化ツール 設計 要件 定義 製造 テスト AP開発 教育資材 Macchinettaを活用した開発プロジェクト 教育資材に基づく研修で 開発ノウハウを習得 認定制度による 技術レベルの見える化 技術者レベル 高 … … … Lv.3 Lv.2 Lv.1 低 Macchinetta人材プール (Macchinetta認定技術者) Macchinetta フレームワーク 図 1  A P 開発の効率化に向けた取り組み

(3)

開発ツール群の共通化: Macchinettaツールスイート 現代のソフトウェアの開発において は,設計 ・ 製造 ・ テストといったすべ ての工程で,作業をできるだけ自動化 し,作業効率を向上するためのさまざ まな開発ツールを利用することが一般 的になっています.そのような開発 ツールを,各社バラバラに独自に開発 すると同じ機能を重複して開発してし まったり,ツールどうしがうまく連携 できなかったりという問題が発生して しまいます.仮に市中技術を活用した としても,採用する技術が各社で異な ると,NTTグループ全体としての学 習コストが増大してしまいます.そこ で,私たちは開発ツールを整理 ・ 選定 し,重複した開発の排除 ・ ノウハウ分 散の防止に取り組んでいます.その選 定された開発ツール群をMacchinetta ツールスイートと呼んでいます. Macchinettaツールスイートの開発 にあたり,市中ツールや,既存ツール の有効性を評価し,採用すべき開発 ツールのリストアップを行いました. さらに,それらの開発ツールの機能を 詳細に比較し,機能の重複の有無を確 認しました.そのうえで,採用すべき か否か,また開発を継続するべきかな どの取捨選択を行い,Macchinettaツー ルスイートを選定しました.選定され た開発ツールの種類とその概要,ソフ トウェア開発工程との関係を表に示し ました .このように,設計から製造, テストに至るまですべての工程を支援 する開発ツールが整備されており, NTTグループ内で共通化することが できました. これらの整備した開発ツールを活用 することにより,広範囲のプロジェク トで生産性向上などのメリットを得る ことができますが,適用するプロジェ クトの特性や条件によっては,十分な 効果を引き出せないこともあります. Macchinetta フレームワーク ハードウェア・OS・ミドルウェア A P Macchinettaフレームワーク資材の構成 ・業務APフレームワークの共通機 能として,複数のAPで安定して 利用できる検証済みのスタック ・具体的には,複数のOSS製品か ら選定・検証を実施 OSSスタック推奨モデル (複数のOSSの組合せ) ・業務APフレームワークを用い, チームでの設計から製造,試験 工程作業を円滑に実施するため の利用技術 ・具体的には,作業要領・規約や サンプルAPなどを作成  技術文書 開発者が作成しないと いけない部分を極小化 【品質均一化】 フレームワークの決まり事に従って開発すること で開発者ごとの差異が減少 【維持管理効率化】 フレームワークの共通知識によりシステム理解が 容易に 【生産性向上】 種々の共通機能の提供により開発部分を削減 フレームワークが 「考えないで良いこと」 「つくらなくて良いこと」 を提供 図 2  Macchinettaフレームワークの概要

(4)

そこで,開発技術の進歩も見据えなが ら,今後もツールの目利き,統合,開 発を実施し,さらに,各社が適用した 利用ノウハウを蓄積 ・ 共有し,そのノ ウハウを最大限に活用してツールの開 発などにフィードバックしていきます. 共通化された技術を利用する人材の 育成:Macchinetta人材プール 技術の共通化には,人材の確保とい う観点での大きなメリットがありま す.技術の共通化が行われる以前は, 技術ごとに特定の技術者が必要となる ために,繁忙期には技術者の確保が困 難になり開発コストが増加したり,技 術ごとに開発会社が固定してしまうな どの問題点がありました.しかし,こ れまで述べたようなフレームワークや ツールといった共通化された開発技術 を基盤とすれば,技術を教育するコス トが削減されるため,人材の調達がこ れまでよりも容易になると考えられま す.このように,共通化された技術を 持つ優秀な人材が育成された環境を私 たちはMacchinetta人材プールと呼び, そのような人材を育成するための支 援につながる取り組みを進めてい ます. その取り組みの 1 つとして,共通化 した技術の教育資材の整備に取り組ん でいます.質の高い技術者を育成する ためには,フレームワークなどの技術 を実際に自分の手を動かし,つくって 学ぶことが有効です.しかし,現状で は,一般の市販の入門書やインター ネット上の解説記事などの大量の情報 から,適切な情報を自力で抜き出し学 んでいく必要があるために,時間がか かり効率が悪いという問題がありまし た.また, 1 つの開発プロジェクトに かかわる開発者は数百人規模になるこ ともあり,その教育は容易ではありま せん.そこで,私たちはその課題を解 決し,人材育成の効率を向上させるた めに,Macchinettaフレームワークの 教育資材を整備しました. Macchinettaフレームワークの教育 資材は,Javaの基礎知識を保有する入 門者を対象としており,基礎知識の教 示とプログラミング演習問題の実施体 験を提供できるようにつくられていま す.よく使われる機能をピックアップ し,学習効果の高い順番に並べ,推奨 する実装方法や規約を平易に解説する ことにより,知識の早期習得を可能と しています.また,手を動かしてつくっ て学べる演習問題と解答を整備するこ とにより,開発の疑似体験による実践 的な知識習得が可能になっています. これにより容易にMacchinetta人材を 育成できるようになります(図 3 ). この教育資材は,すでにNTTグルー プ会社に提供されて,Macchinettaフ レームワークを適用する開発プロジェ クトにかかわる開発会社への教育プロ グラムとして利用されており,教育の 効率の大きな向上に貢献しています. 今後の展開 ソフトウェア開発を取り巻く環境は 日々進化しています.クラウドサービ スが提供するシステム基盤を活用し, 表 Macchinettaツールスイート(一部) ツール種類 対象工程 用途概要 画面設計支援ツール 設計 画面の設計情報から,ソースコード ・ 設定ファイル ・ 設計書を自動生成する統合開発環境 コード自動生成ツール 設計〜製造 ビジネスロジックの設計情報からソースコードを自動生成 単体テストコード作成支 援ツール 単体テスト ソースコードに対する単体テストコード,テストデータを自動生成 結合テスト項目作成支援 ツール 結合 ・ 総合テスト 結合テストケース表を自動生成 継続的インテグレーショ ン支援ツール 単体〜結合・総合テスト 繰り返し行われるビルド ・ テスト ・ デプロイを自動化し,継続的インテグレーションを支援 ソースコード診断ツール 製造〜単体テスト ソースコードに内在するメモリリーク等の問題を発見 テスト実行自動化ツール 結合・総合テスト 画面操作を伴うテスト実行の自動化 データベースアクセス コード作成支援ツール 製造 データベースアクセスコード作成の入力補助

(5)

自前のシステム基盤の構築が不要な時 代になってきています.また,利用環 境は多様化しており,端末,OS,ブ ラウザなど多彩なクライアント環境に 対応する必要があります.さらに,開 発現場からも難易度が高い技術領域に 対して利用技術を整備することが期待 されています.私たちは,それに伴い フレームワークやツールスイートの動 作環境や適用範囲を拡大し,より高い 生産性向上を実現すべく研究開発を 行っていく予定です.また,これらの 環境の変化により,システムを新しい フレームワークや環境に適応させる移 行の機会や重要性がさらに増していま す.そこで,移行の生産性を上げるた めの手順やツールの整備が,今後必要 になってくると考えています . Macchinettaの基盤は,さまざまな OSSにより構成されていますが,よ り質の高いサポートを提供し,フレー ムワークやツールの信頼性を向上する ために,OSSの改善に積極的に関与 していきます.バグを修正するパッチ を提供することによる品質改善に加え て,新規機能の提案も行っていき, OSSコミュニティと連携した研究開 発に取り組みます.特にOSSのフレー ムワークとして重要なSpring(2)には, NTTグループ各社と協調して,積極 的に改善に貢献していく予定です. 人材の育成の観点では,Macchinetta の認定制度の整備 ・ 運用を検討してい ます.認定制度を整備することにより, 技術者とその技術レベルを明確に見え る化でき,人材の調達をより容易にす ることにつながります. ■参考文献 (1) 特集:“ソフトの開発効率化や生産性向上を 目指してOSSによる業務APフレームワーク 開発に着手,” ビジネスコミュニケーション,

(2) NTTデータ:“Spring徹底入門 Spring Framework によるJavaアプリケーション開発,” 翔泳社, 2016. Macchinetta人材 育成 入門者 (Javaの基礎知識保有者) Macchinetta フレームワーク の教育資材

Q

演習問題の説明 演習問題への取り組み (プログラミング体験) 次の項目へ

A

解答の説明 基礎知識の教示 図 3  Macchinettaフレームワークの教育資材 (上段後列左から) 岡田  敏/ 鈴木 源吾/ 金丸  朗/ 夏川 勝行 (上段前列左から) 持田 誠一郎/ 堅田 淳也/ 岩塚 卓弥 (中段左から) 菱木 孝紀/ 金子 武彦/ 出本  浩/ 田邊 憲二/ 本橋 賢二 (下段左から) 酒井 美代孝/ 磐城 洋介/ 山下 克行 私たちは,さまざまなソフトウェア開発 の進化に追随しつつ,フレームワークの整 備を今後も進めていくことによって,NTT グループのソフトウェア開発の生産性向上 につながるよう研究開発を進めていきます. ◆問い合わせ先 NTTソフトウェアイノベーションセンタ ソフトウェア開発技術プロジェクト TEL 03-6712-9697 FAX 03-6712-8372 E-mail macchinetta lab.ntt.co.jp

参照

関連したドキュメント

「課題を解決し,目標達成のために自分たちで考

このため、都は2021年度に「都政とICTをつなぎ、課題解決を 図る人材」として新たに ICT職

この課題のパート 2 では、 Packet Tracer のシミュレーション モードを使用して、ローカル

本時は、「どのクラスが一番、テスト前の学習を頑張ったか」という課題を解決する際、その判断の根

えて リア 会を設 したのです そして、 リア で 会を開 して、そこに 者を 込 ような仕 けをしました そして 会を必 開 して、オブザーバーにも必 の けをし ます

ら。 自信がついたのと、新しい発見があった 空欄 あんまり… 近いから。

それに対して現行民法では︑要素の錯誤が発生した場合には錯誤による無効を承認している︒ここでいう要素の錯

 今年は、目標を昨年の参加率を上回る 45%以上と設定し実施 いたしました。2 年続けての勝利ということにはなりませんでし