Agile開発、SPLEに向けた派生開発技術の礎－いしずえ－

2022年11月18日

林健吾
株式会社デンソー
AD&ADAS企画室© DENSO CORPORATION All Rights Reserved.

新技術を導入してみたもののなんだか成果が出ているように思えない…

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

2

新技術導入は資産運用とバックキャスティングが要

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

3

導入新技術＝ アジャイル開発、プロダクトライン開発

既存技術＝ 派生開発（XDDP）

コンテキスト＝ レガシー(資産)のある組込みソフトウェア開発

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

4

Agenda1. イントロダクション
2. 自己紹介
3. 新技術導入が上手くいかない理由

4. 新技術導入は資産運用とバックキャスティングが要
5. 事例コンテキストの紹介
6. Scrumの導入
7. プロダクトライン開発の導入
8. まとめEdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

5

自己紹介
2003年

入社
カーナビのソフトウェア開発に従事

2006年

清水吉男先生のXDDPコンサルを受講

2013年

ADAS領域のソフトウェア開発に転属

2015年

認定スクラムマスター資格取得

2018年

南山大学大学院
ソフトウェア工学博士学位取得「ソフトウェアプロダクトラインのアジャイル開発方法論に関する研究」

2022年

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

AD&ADAS企画室に転属

6

Agenda1. イントロダクション
2. 自己紹介
3. 新技術導入が上手くいかない理由

4. 新技術導入は資産運用とバックキャスティングが要
5. 事例コンテキストの紹介
6. Scrumの導入
7. プロダクトライン開発の導入
8. まとめEdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

7

導入が目的に導入を次々と導入がなっている

転換している

現場に合わない

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

8

導入が目的になっている
ODSCフレームワーク
Objectives
目的

Deliverables
成果物

Success Criteria
成功基準@岸良裕司, 優れた発想はなぜゴミ箱に捨てられるのか？, ダイヤモンド社, 2019.
EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

9導入が目的になっている
目的も成果物も成功基準も同じで効果が不明
Objectives
目的

Agile開発を導入する

Deliverables
成果物

Agile開発が導入された組織

Success Criteria
成功基準

Agile開発が導入された状態

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

10導入が目的になっている
成功基準にどうつながっているのかわからない
Objectives
目的

Agile開発を導入する

Deliverables
成果物

そのときの開発対象！

Success Criteria
成功基準

X10の開発！

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

11

導入が目的になっている

導入➡現場の課題＝成果（効果）ありたい姿(VISON)を作る
EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

12導入を次々と転換しているある緊張を解消するために行動を誘発しようとする

緊張解消

変革への要求新技術導入@Robert Frits, 偉大な組織の最小抵抗経路, Evolving, 2019.
EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

13導入を次々と転換している
異なる緊張は葛藤を生みシステムとして揺り戻しを起こす
緊張解消

変革への要求

新技術導入

継続性の低下旧慣行への逆行

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

14導入を次々と転換している
緊張を整流しないと残るのは現場の不安と不満
緊張解消

絶対的な品質の確保(不具合は絶対悪）

我流のWaterfall崩し

時流への追従（速さこそ正義）

Agile開発の導入

多様性の確保
（多品種低コスト）

SPLEの導入

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

15導入を次々と転換している

現在地＋導入効果➡新天地

導入技術のからくりを知る
EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

16導入が現場に合わない「新技術＝標準規格化されたプロセス」による効果の差は何か？

効果の出る現場
新技術の導入効果の出ない現場

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

17導入が現場に合わない
平均値で設計した服は、着られる人が存在しない可能性がある
平均未満

平均値

平均超

身長

身長

肩幅

肩幅

腕の長さ

腕の長さ

胸囲

胸囲

ウエスト

ウエスト

腰回り

腰回り

@Matthew Syed, 多様性の科学, ﾃﾞｨｽｶｳﾞｧｰ・ﾄｩｴﾝﾃｨﾜﾝ, 2021.
EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

18導入が現場に合わない
どういった分布のどのコンテキストの成功例が標準化された？
Population？
正規分布？
？

？

？

マルチモーダル(多峰性)分布

Context
EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

19導入が現場に合わない

新技術÷要素×コンテキスト➡現場

現場コンテキストに適合する
EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

20

導入が目的に導入を次々と導入がなっている

転換している

現場に合わない

ありたい姿

導入技術の現場コンテキス(VISION)を作る

からくりを知る

トに適合する

新技術導入は資産運用とバックキャスティングが要
導入新技術＝ アジャイル開発、プロダクトライン開発

既存技術＝ 派生開発（XDDP）

コンテキスト＝ レガシー(資産)のある組込みソフトウェア開発

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

21

Agenda1. イントロダクション
2. 自己紹介
3. 新技術導入が上手くいかない理由

4. 新技術導入は資産運用とバックキャスティングが要5. 事例コンテキストの紹介
6. Scrumの導入
7. プロダクトライン開発の導入
8. まとめEdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

22

自動車部品製品の組込みソフトウェア開発

第１世代

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

機能UP

第２世代

機能UP

第３世代

23

標準資産からの派生開発
派生開発チーム
A

B

C

D

F

E

系列1

G

H
系列2

I

J KL
系列3

M

NO

P Q
系列mTime

標準開発チーム
凡例◆ : ソフトウェア資産のバージョン

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

○ : 標準● : 派生24

派生開発方法としてXDDPを採用
XDDP(eXtreme Derivative Development Process)：派生開発に特化した開発アプローチ
機能追加
プロセス

分離変更
プロセス

PFD

USDM

(Process Flow Diagram)(Universal Specification
Describing Manner)

ベース
通信仕様
開発
通信仕様

変更点
分析書

Traceability Matrix
変更設計書

スペックアウト【要求】 温度取得元をエアコン
通信差分を抽出する

変更要求仕様書

X.c

Y.c

Z.c

Data
使用①

Data
使用②からメータに変更する【理由】 車両PFの構成変更で信号G/Wされるため<フレーム変更>
フレームIDを1
XX→YYに変更する
・・・

Data
生成

Data使用①のロジックを変えるときは②も同期させることプロセスと成果物の合理的要求を構造的に理由を付与 既存のソフトウェア構造となつながりを設計する

してヌケ・モレをなくす

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

仕様をモデル逆起こしする
25

Agenda1. イントロダクション
2. 自己紹介
3. 新技術導入が上手くいかない理由

4. 新技術導入は資産運用とバックキャスティングが要
5. 事例コンテキストの紹介
6. Scrumの導入
7. プロダクトライン開発の導入
8. まとめEdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

26

モチベーション
書籍とスクラムマスター研修から“やってみたい”と思った

これだけだと導入が目的の失敗パターン…
@https://www.amazon.co.jp/
EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

27

現場の課題と照らし合わせて共感したこと

スクラムは、『現状を把握するためのフレームワーク』
経験的アプローチとしての三本柱を実装する
1. Transparency
透明性
2. Inspection
検査
3. Adaptation
適応
今後拡大が見込まれる派生開発のマネジメントを革新したい

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

28

現場の課題とありたい姿ありたい姿(VISON)を作る

ODSCのフレームワークで、新技術導入前に目的を明確にする＜ありたい姿＞
要望が増えても期待に応え続けるキャパシティを備えている＜GAP(課題)＞
開発量と生産性をリ
アルタイムに把握する＜現状＞
個々の派生開発としてQCDに応えている

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

Objectives

目的

展開数の増加に追従して期待に応え続ける

Deliverables

成果物

軽量に更新できるリソースマネジメント計画

Success Criteria

成功基準

1年間納期ショートさせず派生開発を供給し続ける29

軽量に生産性を把握するスクラムのからくり導入技術のからくりを知る

確率的なばらつきを精度を落とし吸収して正確さを求める

構築

定義

同じ確率分布の事象は大数の法則で集合の確率分布も同じ確率統計値（≤1.0）

アイテム

アイテムでプロセスをまとめSprint(Time Box)で規模をポイントに抽象化して把握する

テスト
O

12

1

1Sprint = 1～3weeks
EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

規模当りの工数実績（hours/pnt)

1

1

7

Sprint2

5

Sprint3…
30

現場コンテキストに適合する

XDDPとスクラムの衝突点を確認する

衝突点を把握した上で事実を小さな実証実験で確認する
Agile Approach
緊張解消

工程単位でまとめて進めると完了が読めない

アイテム単位で完了
してばらつきを抑える

回帰テストを自動化して継続的に安定させる

変更を繰り返すとデグレが頻発する

衝突抑制

類似

自動化の導入コストが高く実施難易度が高い

思いつきの変更で手戻りが増える

変更要求を分析し切って一気に変更する

現場 w/ XDDP Approach
EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

31実証実験：上流工程と下流工程でストーリを分ける

Story数実証実験で仮説を確認することで解くべき課題を浮き彫りにすべてのアイテムの見積りと実績の分布

O

要求分析と設計をまとめたアイテム

規模当りの工数実績（hours/pnt)

上流工程には時間が掛かり、下流工程はXDDPの良さとして一気呵成に完了できる

実装とテストをまとめたアイテム

しかし、分布のピークがずれるので全体マネジメントに対してはやはり不利
EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

32

対策:トレーサビリティ・マトリクスによるアイテムの分離
タスク1

変更の依存がない要求を切り出してアイテム化
後発アイテムはインクリメンタルに変更設計する
変更要求・変更仕様
変更
要求モジ
ュ
ール
2

モジ
ュ
ール
1

PRC05

撮影範囲の拡張とスピードアップで1台の防犯カメラでカバーする範囲を広げたい

理由

モニターも含めてトータルの設置コストを下げること□□□

PRC05.1 防犯カメラの首振り角度を60度から90度に変更する□□□

PRC05.2□□□

PRC05.3 画像のサンプリングのシャッター速度を30％速くする

タスク2
モジ
ュ
ール3

モジ
ュ
ール
4

モジ
ュール
5

関数
名
関数
名

DCモーターの電流値を〇〇から□□に変更して、首振り動作の速度を50%スピードアップする

関数
名
関数
名

@清水吉男, 「派生開発」を成功させるプロセス改善の技術と極意, ㈱技術評論社, 2007.

バックログ
を定義する

変更要求
リスト

ソース
コード
(更新版)

ソース
コード

過去変更
記録

プロダクト
バックログ

変更
開発する

※入力仕様書等は省略
変更要求
仕様書

追加変更
開発する

過去履歴を参照するプロセスをPFDで設計して現場に適合する
EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

33

対策の成果O

適用前
適用後

２つの分布の総和

規模当りの工数実績（hours/pnt)

テスト環境使用率（％）

Story数

ふたつの技術の衝突点を適合して効果を融合

100%

開発日数（日）１つの分布のみ

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

アイテムごとの分布も集約された上、テスト環境の使用率も分散化され、総合的なマネジメント性が向上
34

新技術導入の成果
二年以上に渡り、２週間ごとのリソースマネジメント計画票で生産性と開発量をマネジメントし、期待に応え続けられたチームA

生産性基準線

実績

チームB計画(色違いは別Prj.)※自身の在任期間ベースにつき過去形、以降も継続して応えています
EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

35

Agenda1. イントロダクション
2. 自己紹介
3. 新技術導入が上手くいかない理由

4. 新技術導入は資産運用とバックキャスティングが要
5. 事例コンテキストの紹介
6. Scrumの導入
7. プロダクトライン開発の導入
8. まとめEdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

36

モチベーション
派生開発チームにおいては自然な欲求だがシフトは難しい
ありたい運用

標準開発
導出1

O/P1

導出3

O/P3

標準資産
導出2

資産更新は少なく並行開発も容易

O/P2

time

派生資産が増えて保守メンテが困難化

派生開発2

標準開発
導出1

O/P1

標準資産
派生開発1

派生資産1

派生資産2

導出3

導出2

O/P2

O/P3

実際の運用
EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

37

現場の課題とありたい姿

ありたい姿(VISON)を作る

ODSCのフレームワークで新技術導入前に目的を明確にする＜ありたい姿＞
標準資産から派生開発を独立生成する＜GAP(課題)＞
標準資産にバリエーションを内包させる＜現状＞
派生開発を繰り返して資産を成長させる

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

Objectives

目的

資産効率を上げて投資対効果を高める

Deliverables

成果物

派生開発のバリエーションに対応可能な標準資産

Success Criteria

同一系列においてブランチしない構成管理が実現できている

成功基準

38

導入技術のからくりを知る

バリエーションポイントの切り出し実装が要点

論理ビューと開発ビューで対応付けて可変性を織り込む
論理ビュー

開発ビュー
≪layer≫標準

バリエーション
判別
バリエーション
判別方法

判別
方法A

判別
方法B

判別
方法C

バリエーション
判別≪layer≫
バリエーション
判別
方法A

判別
方法B

判別
方法C

標準資産に織り込むために必要な戦術• バリエーションを予め分析した抽出設計（論理ビュー）• 構成管理上のバリエーションポイント分離設計（開発ビュー）• そのための設計・実装テクニック（開発ビュー）
EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

39

現場コンテキストに適合する

現場の時間制約が衝突を生む

仕掛けと効果のタイミング差が邪魔をして導入制約になる
派生開発チームの視点
派生開発を短期間低コストで提供する標準資産に派生開発のバリエーションを織り込む

派生開発は後から企画されてバリエーションの分析に時間が掛かる
緊張解消

標準資産は開発規模が大きく時間が足りない

標準資産は最小の開発要件で限定開発する

標準開発チームの視点
EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

40

共同責任と現場で培った技術の適用

現場コンテキストに適合する

XDDPを要として各チームの得意分野と資源を持ち寄る
派生開発チームの視点
派生開発を短期間低コストで提供する標準資産に派生開発のバリエーションを織り込む

派生開発は後から企画されてバリエーションの分析に時間が掛かる

派生開発チームで収集した可変点履歴を設計・実装する

標準開発の知識は標準開発チームにあり並行開発も衝突する

XDDPで変更の衝突を軽減する

標準資産は開発規模が大きく時間が足りない

標準資産は最小の開発要件で限定開発する

標準開発チームの視点
EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

41

過去の変更履歴のパターン分析
蓄積された資源を利用してリノベーションプランを策定
過去の変更要求仕様書

過去のスペック
アウト文書

過去の変更設計書

変更理由と変更方法
から再利用しやすい変更パターンを特定する

過去の変更コード切片

ソフトウェアRenovatingプラン
可変点の変換ルール
分類

方法

拡張

Strategyパターンで分離

アスペクト

マクロでアスペクトを定義化

構成／パラメータマクロで抽象化して定義化

コンポーネント代替

ビルド時のデプロイで結合＋実装変換サンプル

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

42

過去の変更履歴のパターン分析
スクラムのリズムとXDDPの作法で協働開発を実現
アーキテクチャ改善のキックオフ

反復
1

反復
2反復
3反復
4反復
5time

標準開発チーム1
標準開発チーム2
標準開発チーム3
派生開発チーム×２
Renovatingプランの策定

アーキテクトリリース

開発

XDDPの利用

チーム

変更要求仕様書＋変更設計書のレビューで変更方法を詰めて短期間で一気にコード変更を掛けることで競合タイミングを極小化
EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

43新技術導入の成果
可変点が集約され、可変性・保守性・開発効率性が向上
標準資産は一本化され、2～6週掛かっていた派生開発リリースが、保守展開時には1週以下でリリースができるようになった
After

可変点数

BeforeA

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

B
C
ソフトウェアコンポーネント

DALL

44

Agenda1. イントロダクション
2. 自己紹介
3. 新技術導入が上手くいかない理由

4. 新技術導入は資産運用とバックキャスティングが要
5. 事例コンテキストの紹介
6. Scrumの導入
7. プロダクトライン開発の導入
8. まとめEdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

45

導入が目的に導入を次々と導入がなっている

転換している

現場に合わないありたい姿

導入技術の現場コンテキス(VISION)を作る

からくりを知る

トに適合する

新技術導入は資産運用とバックキャスティングが要
導入新技術＝ アジャイル開発、プロダクトライン開発

既存技術＝ 派生開発（XDDP）

コンテキスト＝ レガシー(資産)のある組込みソフトウェア開発

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

46

プロセス変革の新技術導入は
XDDPの考え方と相性がよい
新技術導入＝ 追加機能開発

既存技術適合 ＝ 変更開発
PFDでプロセス設計する技術は有効

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

47

新技術導入を資産に積み上げてスパイラルアップする

XDDP
w/ スクラム

Agile開発
w/ 機械学習XDDP
Agile開発

XDDPを捨てた
Agile開発もどき

構造化設計

EdgeTech+ / Nov. 18th, 2022
© DENSO CORPORATION All Rights Reserved.

オブジェクト指向設計

48

新技術導入は資産運用とバックキャスティングが要

右往左往せずにスパイラルアップで事業変革を

EdgeTech+ / Nov. 18th, 2022

49