Comments
Description
Transcript
NTT研究所でのソフトウェア開発技術の取り組み
ソフトウェア開発 ソフトウェア開発技術 ソフトウェア工学 開発プロセス NTT研究所でのソフトウェア開発技術の取り組み NTTグループでは多くのソフトウェアが活用されています.それらの開発 ほ し の も多数行われていますが,必ずしもすべての開発が円滑に行われているわけ 星野 ではありません.そこで,ソフトウェア開発の安定化とさらなる効率化に向 なつかわ けて,NTTソフトウェアイノベーションセンタ(SIC)では,ソフトウェア 夏川 勝行 /山田 康晴 たかし す ぐ り かずひと 隆 /村主 一仁 かつゆき や ま だ やすはる 開発技術に関する研究開発を進めています.本特集では,これらの研究開発 NTTソフトウェアイノベーションセンタ について紹介します. 供するためには,そのサービスを支え ウハウ・知見のツール化や現場支援な るさまざまなソフトウェアの開発をより ど,開発現場で通用する実践的な技術 情報処理推進機構(IPA:Informa- 一層効率化することが必要になります. への取り組みも積極的に扱っていこう tion-technology Promotion Agency) そこでN T T ソフトウェアイノベー ソフトウェア開発の重要性 という意味を込めています(2). の調査によると,リリース後のソフト ションセンタ(S I C )では,N T T グ ウェアのうち,不具合が発生しないプ ループ全体のソフトウェア開発の安定 ロジェクトは15%程度のみであり,10 化・効率化に向けた,ソフトウェア開 件を超える不具合が発生しているプロ 発技術の創出のため,研究開発を推進 品質良く提供するためのソフトウェア ジェクトは10%を超えています.ソフ しています. 開発技術の創出を目指しています.迅 トウェア開 発 の3 要 素 であるQ C D 〔Quality(品質),Cost(コスト), ソフトウェア開発技術 QCDの適正化に向けた研究開発 SICでは,サービスを早く,安く, 速なサービス提供の実現とTCO(Total Cost of Ownership)削減への貢献 Delivery(納期) 〕でみると,開発者 ソフトウェア開発の効率化を目指す に向けて,特にアプリケーションソフ の視点では,納期の順守は85%程度 取り組みは一般的には「ソフトウェア トウェアを対象としたソフトウェア開 ですが,目標品質・コストを達成して 工学」と呼ばれます.ソフトウェア工 発技術の創出に取り組んでいます. いるのは80%を下回っています.また 学はIEEE Computer Societyにおい ソフトウェア開発の代表的な流れ・ 利用者の視点では,目標コストの達成 て「システマティックであり,ディシプ プロセスと,それを支える活動を図に は80%程度ですが,品質,納期につ リンに基づいた,定量的なアプローチ 示します.ソフトウェアは,目的,投 いては70∼75%程度のプロジェクトし の適用およびアプローチに関する研究」 資対効果,現状の分析などに基づく, か目標が達成されていません.それで と定義されており,体系的な手法の確 利用者が求める機能,性能などを定め も経年変化でみると,徐々に改善が進 立など学術的な意味合いが強い印象を る「企画・要件定義」,定めた要件 んでいますが,まだまだ十分とはいえ 与えます. に沿ってシステムが利用者に提供する (1) ない状況です 一方,私たちの研究プロジェクトの 機能や操作性を決め,その具体的な実 N T T グループでも,多くのソフト 名称は「ソフトウェア開発技術プロ 現方法を定める「設計」,その設計に ウェアが開発され,利用されています. ジェクト」であり,そこにはソフトウェ 沿ったプログラムを記述する「製造」, それぞれの開発では日々の改善を重ね ア工学という言葉はありません.ソフ 製造したプログラムが設計,および要 ることで効率化が進んでいます.しか トウェア開発技術という名前には,シ 件に沿って正しく動作し,利用者の本 し,依然すべてのソフトウェア開発が ステマティックで定量的であるソフト 来要求を満たしているかを確認する 円滑に,安定的に進められているわけ ウェア工学的な取り組みはもちろん, 「テスト」のようなプロセスを経て開発 ではありません.サービスを迅速に提 必ずしもこの定義にあてはまらない,ノ 12 . NTT技術ジャーナル 2013.10 され,サービスへの導入へと進みます. 特 集 サービスを早く,安く,品質良く提供するためのソフトウェア開発技術 ・高品質で迅速なサービス提供,保守を含めたTCO削減に向けたソフトウェア開発技術の創出に取り組む 外部条件・要求の変化 企画・要件定義プロセス・技法 企画・ 要件定義 企画・ 要件定義 設計 設計 業務分析 製造 業務分析 製造 テスト システム 分析 製造 テスト テスト自動化技術 サービス運用 研究所ソフトウェア開発の適正化 開発マネジメント技術 人材育成 図 ソフトウェア開発技術プロジェクトの取り組み その後,機能改善など追加の開発を実 きく左右する重要な要素です.ここが 法などに関して,研究開発に取り組ん 施する際には,これら一連のプロセス 曖昧な場合,大幅な手戻り作業が発 でいます.また,テストのプロセスは, が繰り返し実施されることになります. 生し,コスト増(C)や納期遅延(D) テストによって動作を確認し,品質を ソフトウェア開発において,適正な を招き,想定する機能や品質(Q)を 高めていく作業であり,まさに品質 QCDを実現するためには,これらの開 満たせず,QCDのすべてに大きな影響 (Q)を確保するための営みであり,最 発プロセスを確実に実施していく必要 を与えることになります.したがって, 後の砦となります.さらにこのテスト があります.その中で,企画・要件定 企画・要件定義を的確に実施するこ は,ソフトウェア開発の作業工数の大 義は「何がしたいのか,何をつくりた とは非常に重要なことであり,SICで きな部分を占める作業でもあることか いのか」を定めるもっとも根本的なプ も企画・要件定義における作業の実施 ら,その効率化は工数削減と開発期間 ロセスで,その後の開発プロセスを大 プロセスや,要件を文書化する際の記 短縮をもたらし,コスト(C)と納期 NTT技術ジャーナル 2013.10 13 ソフトウェア開発技術 (D)にも直結します.SICでは,この るわけではなく,現在NTTグループで テストに関して,正確で効率的な作業 保有している技術や,オープンソース 実施を目指して,テストの設計や実行 ソフトウェア,さらには市中技術も活 SICでは,より現場を強く意識し連 を支援するための技術開発に取り組ん 用するなど,オープンイノベーションを 携を深めながら,本稿で述べた取り組 でいます.ここで挙げた企画・要件定 進め,早期の成果創出を目指してい みを進めてきました.引き続き,開発 義やテストのように,各プロセスにお ます. 現場に直接的に役立つ技術の創出を ける作業はQCDに少なからず影響を 与えます.QCDの各側面は互いに密 接にかかわっており,例えば,必要以 現場ニーズと事業会社との連携 ソフトウェア開発技術においては, 上に高い品質を追求することは,品質 開発現場に直接的に役立つ技術の創 を確保するための作業工数と期間の増 出が重要です.ソフトウェア開発の現 大を招き,CDの側面に悪影響を与え 場ニーズを的確に把握するために,私 ます.したがって,いかにQCDのバラ たちは研究所に閉じることなく,事業 ンスを取って進めるかが大切であり, 会社をはじめとするNTTグループ各社 そのためのQ C D の適正な管理が重要 との連携を深めています. になります.SICでは,QCDの適正な NTTグループ内には,ソフトウェア 管理に向け,ソフトウェアの開発マネジ 開発を依頼し,完成したソフトウェア メントに関する研究開発も行っており, を利用する発注者としての立場と,ソ 品質や生産性に関する評価手法の確 フトウェア開発を請け負う受注者とし 立,評価で必要となる開発データの収 ての立場の,2つの異なる立場の会社 集,一連の開発プロセスを定型化し, がそろっています.私たちは,両者の 効率的に進めるためのソフトウェア開 意見を聞きながら,双方の現場の真の 発標準の制定と運用などに取り組んで 課題・ニーズを把握し,それらを分 います.このような定量的な開発マネ 析・最適化することで,開発の大幅な ジメントを定着させることにより,各プ 効率化に向けた最適な技術開発を目指 ロセスでの作業が安定し,ソフトウェ しており,まずはNTTグループの中で ア開発全体の安定化につながります. も多くのソフトウェア開発を手掛けて 本特集では,ここで挙げたソフトウェ いるNTTデータやNTTコムウェアとの ア開発の安定化・効率化に向けて重要 連携を深めながら,取り組みを進めて な技術と活動に関して,SICの取り組 います. みを紹介します.これらの技術開発に ついては,SICで一から自前で整備す 14 NTT技術ジャーナル 2013.10 今後に向けて 目指し,現場のニーズに合った適切な 研究テーマを選択しながら,N T T グ ループのソフトウェア開発の安定化・ 効率化に向けて取り組んでいきます. ■参考文献 (1) IPA:“2012年度「ソフトウェア産業の実態 把握に関する調査」,”2013.4. (2) 小川:“企業におけるソフトウェア開発とソ フトウェア工学,”コンピュータソフトウェ ア,Vol.28,No.3,pp.2-11,2011. (左から)夏川 勝行/ 村主 一仁/ 星野 隆/ 山田 康晴 NTTソフトウェアイノベーションセンタ では,NTTグループのソフトウェア開発の 安定化・効率化に向けて,ソフトウェア開 発技術に関する研究開発を進めています. ◆問い合わせ先 NTTソフトウェアイノベーションセンタ ソフトウェア開発技術プロジェクト TEL 03-6712-0278 FAX 03-6712-8372 E-mail iso-jimu lab.ntt.co.jp