Automotive SPICE 3.0 実践ガイドブック入門編の読み進めです。
自分向けのノートとして記録します。
2 基本的な構造と活用方法
2-1 基本的な構造
SPICEの目的は「プロセス改善」と「能力評価」。
以下2つの文書から成る。
- プロセス参照モデル(PRM)
- プロセスの目的や、達成するべき成果が書かれており、開発プロセスを構築する際の参考となる。
- プロセスアセスメントモデル(PAM)
- PRMで定義した目的、成果を評価する仕組みを定義している。
バージョン云々の話については割愛。
2-2 プロセス参照モデル(PRM)の概要
合計32個のプロセスが定義されており、「プロセスカテゴリー(ライフサイクルプロセスカテゴリー)」、「プロセス群」で分類される。
例:
- SWE.4 ソフトウェアユニット検証:
- 主要ライフサイクルプロセスカテゴリー、ソフトウェアエンジニアリングプロセス群。
- SUP.1 品質保証:
- 支援ライフサイクルプロセスカテゴリー、支援プロセス群。
分類
- 主要ライフサイクルプロセスカテゴリー
- サプライヤーから製品を得る際、または顧客へ納品する際のプロセス
- 取得プロセス群:発注時に発注者が実施すべきプロセス
- 供給プロセス群:サプライヤーが製品を供給する際に実施すべきプロセス
- システムエンジニアリングプロセス群:システム開発プロセス
- ソフトウェアプロセスエンジニアリング群:ソフトウェア開発プロセス
- サプライヤーから製品を得る際、または顧客へ納品する際のプロセス
- 組織ライフサイクルプロセスカテゴリー
- 事業目標を確立、達成するために必要なプロセス、成果物、資産を発展させていくためのプロセス
- 管理プロセス群:プロジェクト管理上、重要なプロセス
- プロセス改善プロセス群:プロセス改善のためのプロセス
- 再利用プロセス群:開発された資産を再利用するための方針やシナリオを構築するプロセス
- 事業目標を確立、達成するために必要なプロセス、成果物、資産を発展させていくためのプロセス
- 支援ライフサイクルプロセスカテゴリー
- 開発ライフサイクルのあらゆる箇所で適宜利用される支援プロセス
- 支援プロセス群
- 開発ライフサイクルのあらゆる箇所で適宜利用される支援プロセス
2-3 プロセスアセスメントモデル(PAM)の概要
評価の仕組みを定義する、の一言で要約できるので割愛。
2-4 プロセスアセスメントモデル(PAM)の詳細1
PAMではPRMに定義した「プロセス目的」と「プロセス成果」に加えて、実施状況を評価する指標として**「基本プラクティス」と「作業成果物」**を追加している。
- 基本プラクティス(BP)
- 実施すべきこと
- 基本プラクティスの実行により、関連プロセスの成果を満足させられる
- 作業成果物(WP)
- プロセスの実行により成果物が作成され、関連するプロセス成果を満足させられる。
2-5 PAMの詳細2
プロセス座標という二次元モデルが定義されていて、横軸には32個のプロセスが並び、それぞれの能力値が縦軸にレベル0からレベル5まで存在する。(能力座標)
各レベルの詳細は以下の通り。太字で個人的な要約を付け加える。
- レベル5:革新している
- 経験の宝庫:定量的なフィードバックを使い、改善活動が立ち上げられている
- レベル4の状態を元に改善も実施されている
- レベル4:予測可能な
- 定量的:効率、品質が適切かつ統計的に管理されている
- 過去のプロセス実施の記録の数字を統計的に適切に利用できる(まとまっている)
- レベル3:確立された
- ベストプラクティスが選択されている
- レベル2に加え、適宜調整もなされる
- レベル2:管理された
- 作業成果物が手順に従い作成、計画、記録されている。
- ルール通りに行われ、記録もされている
- レベル1:実施された
- 直感的:要求された手法は取り入れているが、BPが厳格に文書化/記録されていない。
- ルールは知っていてその通りに行っているが、記録を取っていない
- レベル0:不完全な
- 混乱:作業成果物が予測できない。
- 何を作るかのルールが全くない
PAMはISO/IEC 33020から「プロセス能力レベル」、「プロセス属性」、「達成成果」を引用しており、加えて「共通プラクティス」と「共通リソース」が追加されている。
共通プラクティス、共通リソースは文字通り、全プロセスで共通な定義だがプロセスの違いに伴う差異は存在する。
2-6 主要コンセプト
2-6-1 プラグインコンセプト
従来の、「システムエンジニアリング系プロセスはソフトウェアエンジニアリングへブレイクダウンするため」といった解釈でなく、Ⅴ3.0では「システムエンジニアリングは以下のドメインの上位概念」とする。
- メカ(PAMの範囲外)
- ハードウェア(エレキ)(PAMの範囲外)
- ソフトウェア(PAMの範囲内)
これにより、製品としての開発プロセスを俯瞰する。
2-6-2 設計系プロセスとテスト系プロセスの1対1対応
従来は
- ソフトウェアアーキテクチャ設計(ENG.5)
- ソフトウェア統合テスト (ENG.7)
- ソフトウェア詳細設計(ENG.5)
- ソフトウェアユニットテスト(ENG.6)
以上の項目で関連が横断(またがって)いた。
対して3.0では設計系とテスト系の1対1対応で位置づけの整合性をとった。
〇システム要求分析(SYS.2) <=========>システム適格性確認テスト(SYS.5)
〇システムアーキテクチャ設計(SYS.3)<=======>システム統合と統合テスト(SYS.4)
〇SW要求分析(SWE.1) <=====>SW適格性確認テスト(SWE.6)
〇SWアーキテクチャ設計(SWE.2) <===>SW統合と統合テスト(SWE.5)
〇SW詳細設計とユニット構築(SWE.3)<=>SWユニット検証(SWE.4)