ソフトウェア開発

ソフトウェア開発技術

ソフトウェア工学

開発プロセス

NTT研究所でのソフトウェア開発技術の取り組み

NTTグループでは多くのソフトウェアが活用されています．それらの開発

ほ し のたかしも多数行われていますが，必ずしもすべての開発が円滑に行われているわけ

星野隆

ではありません．そこで，ソフトウェア開発の安定化とさらなる効率化に向

なつかわ

かつゆき

けて，NTTソフトウェアイノベーションセンタ（SIC）では，ソフトウェア

夏川 勝行

す ぐ り

かずひと/村主 一仁
や ま だ

やすはる

/山田 康晴開発技術に関する研究開発を進めています．本特集では，これらの研究開発

NTTソフトウェアイノベーションセンタについて紹介します．

供するためには，そのサービスを支えウハウ・知見のツール化や現場支援なるさまざまなソフトウェアの開発をよりど，開発現場で通用する実践的な技術情報処理推進機構（IPA：Informa-一層効率化することが必要になります．

への取り組みも積極的に扱っていこう

tion-technology Promotion Agency）

そこでN T T ソフトウェアイノベーの調査によると，リリース後のソフトションセンタ（S I C ）では，N T T グ

ウェアのうち，不具合が発生しないプ

ループ全体のソフトウェア開発の安定ロジェクトは15％程度のみであり，10化・効率化に向けた，ソフトウェア開SICでは，サービスを早く，安く，件を超える不具合が発生しているプロ発技術の創出のため，研究開発を推進

品質良く提供するためのソフトウェア

ジェクトは10％を超えています．ソフしています．

開発技術の創出を目指しています．迅

ソフトウェア開発の重要性

トウェア開 発 の３ 要 素 であるQ C D〔Quality（品質），Cost（コスト），ソフトウェア開発技術という意味を込めています（2）．

QCDの適正化に向けた研究開発

速なサービス提供の実現とTCO（TotalCost 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.1013ソフトウェア開発技術（D）にも直結します．SICでは，このるわけではなく，現在NTTグループでテストに関して，正確で効率的な作業保有している技術や，オープンソース実施を目指して，テストの設計や実行

ソフトウェア，さらには市中技術も活

SICでは，より現場を強く意識し連を支援するための技術開発に取り組ん用するなど，オープンイノベーションを携を深めながら，本稿で述べた取り組でいます．ここで挙げた企画・要件定進め，早期の成果創出を目指していみを進めてきました．引き続き，開発

義やテストのように，各プロセスにおます．

現場に直接的に役立つ技術の創出をける作業はQCDに少なからず影響を与えます．QCDの各側面は互いに密現場ニーズと事業会社との連携

今後に向けて目指し，現場のニーズに合った適切な研究テーマを選択しながら，N T T グ

接にかかわっており，例えば，必要以

ソフトウェア開発技術においては，ループのソフトウェア開発の安定化・上に高い品質を追求することは，品質開発現場に直接的に役立つ技術の創効率化に向けて取り組んでいきます．

を確保するための作業工数と期間の増出が重要です．ソフトウェア開発の現■参考文献

大を招き，CDの側面に悪影響を与え場ニーズを的確に把握するために，私ます．したがって，いかにQCDのバラたちは研究所に閉じることなく，事業ンスを取って進めるかが大切であり，会社をはじめとするNTTグループ各社（1） IPA： 2012年度「ソフトウェア産業の実態把握に関する調査」， 2013.4.
（2） 小川： 企業におけるソフトウェア開発とソフトウェア工学， コンピュータソフトウェ
ア，Vol.28，No.3，pp.2-11，2011.

そのためのQ C D の適正な管理が重要との連携を深めています．になります．SICでは，QCDの適正なNTTグループ内には，ソフトウェア管理に向け，ソフトウェアの開発マネジ開発を依頼し，完成したソフトウェアメントに関する研究開発も行っており，を利用する発注者としての立場と，ソ品質や生産性に関する評価手法の確フトウェア開発を請け負う受注者とし立，評価で必要となる開発データの収ての立場の，２つの異なる立場の会社集，一連の開発プロセスを定型化し，がそろっています．私たちは，両者の効率的に進めるためのソフトウェア開意見を聞きながら，双方の現場の真の発標準の制定と運用などに取り組んで課題・ニーズを把握し，それらを分います．このような定量的な開発マネ析・最適化することで，開発の大幅なジメントを定着させることにより，各プ効率化に向けた最適な技術開発を目指

ロセスでの作業が安定し，ソフトウェしており，まずはNTTグループの中でア開発全体の安定化につながります．

も多くのソフトウェア開発を手掛けて本特集では，ここで挙げたソフトウェいるNTTデータやNTTコムウェアとのア開発の安定化・効率化に向けて重要連携を深めながら，取り組みを進めてな技術と活動に関して，SICの取り組います．

みを紹介します．これらの技術開発については，SICで一から自前で整備す

14

NTT技術ジャーナル 2013.10（左から）夏川 勝行/ 村主 一仁/
星野隆/ 山田 康晴

NTTソフトウェアイノベーションセンタ
では，NTTグループのソフトウェア開発の安定化・効率化に向けて，ソフトウェア開発技術に関する研究開発を進めています．

◆問い合わせ先NTTソフトウェアイノベーションセンタ
ソフトウェア開発技術プロジェクト
TEL 03-6712-0278
FAX 03-6712-8372
E-mail iso-jimu lab.ntt.co.jp