「ものづくり大国日本」を維持するための組み込みソフトウェア開発の技法(2)(2/2 ページ)

» 2006年09月08日 08時00分 公開
[姜光明,ITmedia]
前のページへ 1|2       

製品販売戦略を見据えたソフトウェア開発

 製品販売戦略という目的に対して、ソフトウェア開発部門は、組み込みソフトウェアの開発プロセス改善にいかに積極的になれるか。

組み込みソフトウェア開発プロセス標準モデル採用の必要性

 組み込みソフトウェア開発改善活動における有効な手法として、標準化を目指した改善実施活動がある。標準化による改善実施作業とは、国際的に認知された標準プロセス(CMMI、ISO9000シリーズなど)をベースに、対象プロセスの評価を実施し、その評価に基づいて、改善箇所を的確に指摘し、理想に近いソフトウェア開発プロセスを確立していく活動である。

 具体的な改善実施作業のモデルとして広く用いられるのがISO9000シリーズまたはCMM/CMMIである。ISO9000シリーズとCMMIは、ソフトウェアの品質評価以外にも、ソフトウェア開発作業にかかわるあらゆる組織の客観的な評価基準として用いられるケースもある。

 ここでは、具体例として、CMMとCMMIに関する関係、ならびにISOによる国際標準機構による動向について触れてみる。CMMはもともと、外部業者にソフトウェアの開発を委託する場合の業者の能力評価を行うモデルとして開発されたものである。モデルは、ソフトウェアの開発プロセスの成熟度を5段階に区分して評価を行い、それぞれの評価段階で到達するためのキープロセスを規定している。

 具体例として、その中で第2段階に到達していると認めるための一つの鍵として、ソフトウェア構成(SCM:Software Configuration Management)の実施状態を評価する項目が設けられている。

 SCMとは、ソフトウェアシステムコンポーネントの変更を管理し、ソフトウェアプロジェクトコンポーネント間の統合性を確立して、それを開発の始めから終わりまで維持することを目的とし、支援する手法や技法を指す。

 SCMがソフトウェアの品質を向上させる最も基本的な技術として認識されていることは、今となっては言うまでもない。ISOは、CMMに見られるようなソフトウェア開発プロセスの成熟度評価モデルをその体系中に取り組もうとして、別名SPICE(Software Process Improvement and Capability dEtermination)といわれるプロジェクトを立ち上げ、それをISO/IES15504という形で成熟度モデルを取り入れた。

 そこでは、CMMの5レベル(レベル0からレベル5)に似た6つのレベル(レベル0からレベル5まで)体系を採用している。SEI(Software Engineering Institute)は、その後、このISO/IES 15504の体系やそのほかの業界で設定されているソフトウェア開発プロセスの品質管理基準を取り入れた形で、成熟度モデルの決定版ともいうべきCMMIを公表している。

ソフトウェア開発プロセス改善のための各種ガイドライン

 認知度の高い世界的な標準プロセスモデルを採用する意義は、各関連部門との間で、具体的なプロセス改善の実施向けた共通のプロセス構成要素が明確されるのはもちろんのこと、改善に向けての共通認識が高まり、全社的な標準改善テンプレートとして活用できる点で大きな効果が期待できるからである。

(2)ソフトウェア開発プロセス改善に向けた組織的な取り組み

 組み込みソフトウェア開発は、多岐にわたるプロセスを経て作業が実施される。具体的な管理プロセスを例にすると、プロジェクト進捗管理、外注管理、ソフトウェア構成管理、見積管理、実績管理など複数の業務が点在する。組織間の利害関係が複雑に絡み合う中で、プロジェクト計画立案の合理化、品質改善の見直し、開発コストの見直しといった、さまざまな課題と解決に迫られる。

 そこで、組み込みソフトウェア開発のプロセス改善をスムーズに実施するには、まず各関連部門に対して、ソフトウェアプロセス改善の正しい共通認識を互いに深め、取り組みやすい環境を整備することが重要である。

 個別部門ばかりでなく、全体的なプロセス連鎖を念頭に置き、継続的改善のフィードバックプロセスを組織的に築き上げることが改善実施に向けた早道でもある。

 具体的には、1. 企業のトップの積極的な関与を促す、2. 組み込みソフトウェアプロセス改善実施に向けた改善推進委員会を設置する、3. 内部/外部協力者からの改善活動の支援を取り付ける。上記1〜3を一過性ではなく継続的に実施することが、結果的には大きな改善効果をもたらし、恩恵に授かることにつながる。

ソフトウェア開発プロセス改善に向けた組織的な取り組み

(3)組み込みソフトウェア開発力の強化方法について

 組み込みソフトウェアの開発技術を常に高く保つためには、4つの観点(エンジニアリングプロセス、管理プロセス、開発支援プロセス、開発環境/教育プロセス)からおのおのの課題を抽出し、分析を行い、原因を特定することが重要である。

 その中でも特に、エンジニアリングプロセスに相当する「ユーザー要求の早期獲得、ハードウェアの不具合/バグによる手戻り作業の軽減化」と、品質管理の向上やテストの最適化、開発工程の可視化といった開発支援プロセスの強化が、品質問題と開発工程との関係などを考慮した場合、より効果的な成果を生み出す領域であり、実際に十分な改善余地が残されている領域でもある。上流工程での積み残しが、下流工程での欠陥として噴出することが、実データに即した多くの文献ですでに証明されている。

組み込みソフトウェア開発力の強化視点

 とりわけ、早期要求の獲得といった、エンジニアリングプロセス層の上流工程に相当する部分においては、次の3つの技法を用いるのが効果的と考える。

  •  1. 要求を獲得する技法(機能要求/非機能要求およびハードウェア要求獲得のための技術、ビジネス戦略の要求への反映)
  •  2. 要求の記述と仕様を再利用する技法(組み込みソフト向け要求仕様記述フレーム、要求仕様のパッケージ化と再利用技術、設計情報とのリンク技術、要求の構成管理技術)
  •  3. 要求を検証する技術(要求のプライオリティ付け、組み込みソフト要求分析技術)などである。

 また、開発支援プロセス層の品質管理作業で効果が見込める技法として3つの技法が考えられる。

  •  1. 品質(自動)計測可視化技法(評価レビュー&評価指標の設定、評価基準値の設定、自動計測/自動診断メカニズムの開発、計測結果統計処理及び表示方法)
  •  2. 重点テスト技術(量的な削減を目指して重点的にテストすべき箇所を特定する手法、テスト完了指標と判断方式)
  •  3.レビュー・インスペクション支援技法(重点レビューカ所の選択、レビュー結果のフォロー、ハードウェア依存箇所のチェック手法、計測結果からの事前指摘)である。

 これらの手法/技法を各社のソフトウェア開発部門の制約事項ならびに前提条件に照らし合わせ、工夫して利用することを試みるべきである。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ