【信】品質説明⼒のある、高信頼性ソフトウェア開発へのチケット駆動開発適用

2017年4月13日
イーソルトリニティ株式会社
Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

1

本資料使用上の注意• 本資料はイーソル株式会社およびイーソルトリニティ株式会社（以降弊社）の著作物であり、本資料の著作権は作成者である弊社が有します。
• 本資料の利用は個⼈の範囲に限ります。
• 本資料の商用利用（著作物の複製・上演・演奏・公衆送信及び送信可能化・口述・展示・上演及び頒布・貸与・反訳・翻案・⼆次著作物の利用 ）はこれを禁じます。
• 本資料は講演資料を抜粋したものです。
• 講演資料はイーソル株式会社のWebにて公開いたします。

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

2

はじめに
• 近年「安⼼・安全」が重要な関⼼事となり、コンピュータやコンピュータが搭載される機器（システム）にも「安⼼・安全」が求められている。
• 安全な製品開発は、製品に高い信頼性を持たせるために開発であり、これは、事前に合意した開発プロセスにそって、安全への要求を定義し、それを確実に設計・実装・テストするとともに、プロジェクトが確実に実施されていることを確認することで実現される。
• これらは、開発プロセスの定義と遵守、開発要求の確実な追跡とプロジェクト監査によって実現するが、大変に手間がかかる。
• この課題に対してチケット駆動を応用することで業務改善を実現したので、その内容を紹介する。
Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

3

コンピュータ搭載システム（組込みシステム）を取り巻く状況〜安⼼・安全への要求〜
Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

4

組込みシステムに機能安全が求められる状況• 組込みシステムの適用範囲の拡大• 安全装置へのコンピュータ適用• 機械的／電気的に実現していた（安全）機能をソフトウェアが実現⇒ソフトウェアが“安全”の責務を負う※物理的対策（機械的、電気的）がソフトウェアに置き換わる→センサーで検出しCPU（ソフトウェア）が判断し対応する• 安全に対する社会意識の変化＝証明／説明責任の発⽣• 先端技術の潜在リスクに対する不安• メーカの説明／証明責任の要求の高まり• 組込みシステムが“繋がる”ことによる複雑化• 繋がる組み合わせは無限大• 繋がった先の品質は保証されるとは限らない• 複雑化により信頼性・安全性の確保が困難に

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

5留意すること• 安全対策は “新しい概念・活動”では無い• “安全の確保・実現”は当たり前の要求• “生命維持”は本質的要求• 交通（⾞・鉄道・船舶・航空）⇒ 無事故を実現（危険を回避）するための各種方策や仕組み• 家電⇒ 発⽕・発煙の防⽌策（主に電気回路）⇒ 誤動作・誤使用の回避策（主に機構、使い方）• 安全に対する社会意識の変化＝証明／説明責任の発⽣• これまで：メーカのノウハウを無条件に信頼• これから：エビデンスによる社会への説明／証明• 安全規格（ISO/IEC/IEEE/JIS)は安全を説明するための枠組み• エキスパートのノウハウ・ベストプラクティス集• 安全規格はPL法（製造者責任）対策• 開発・製造過程に瑕疵が無いことを証明方策を提示

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

6

安全開発・高信頼性開発の要点

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

7

用語：信頼性と安全性• 広義の信頼性（Dependability）• 狭義の信頼性（Reliability)、可用性（Availability）、安全性（Safety）、セキュリティ（Security）を包含する概念

信頼性

Reliability

安全性
SafetyDependalility

可用性

Availability

広義の信頼性セキュリティ
Security

名古屋大学 高⽥教授の資料より抜粋

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

8

用語：信頼性と安全性• 安全性は信頼性の上に成⽴する• システム＝機能の集合体として１つ１つの機能の信頼性が確保されることにより安全を実現する• 信頼性の向上／確保を実現する装置・部品や開発・製作の過程が重要視される⾞の安全
安全性：ブレーキ
信頼性：ブレーキを構成する部品の信頼性
ブレーキ設計の信頼性
ブレーキ製作の信頼性
Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

9規格による安全の定義• ISO/IEC Guide51（JIS Z 8051）• 受容できないリスクからのがれていること

原文：“Freedom from unacceptable risk”• ISO 26262• 不合理なリスクが存在しないこと

原文：“Absence of unreasonable risk”
要は• 「危険でない状態（リスクが無い状態）」

但し• 「リスクゼロの状態」の意味ではない「リスクを受容できる状態が安全である」と言う意味⇒「リスクが受容可能な状態まで抑えられている状態」
を安全と定義Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

10安全の確保（リスクの低減）イメージ• ISO/IEC Guide51の定義（概念図）
リスク大

大
危
害の程度

受容不可能なリスク

受容可能なリスク

リスク小０程度を下げるか、発生確率を下げることで許容可能または受容可能なレベルに落とす

許容可能な
リスク

危害の発生確率

危害の程度、危害の発生確率からリスクの程度を決定
する

大Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

11

システム／ソフトウェア製品品質と利用時の品質• ISO/IEC9126 Software engineering -- Product quality –• ソフトウェア品質特性のひとつとして定義• 利用時品質の”安全性（Safety）”

詳細は規定されていなかった• ISO/IEC9126 は ISO/IEC25000シリーズに置換えらえた• ISO/IEC 25000： Software Engineering-- Software product Quality Requirements and Evaluation(SQuaRE) –• 利用時の品質のひとつ“リスク回避性”として定義され副特性も定義• “リスク回避性(freedom from risk)”•

経済リスク緩和性•

健康・安全リスク緩和性•

環境リスク緩和性
Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

12リスク低減の方策• 3-Step-Method

Step1:
本質的安全設計

Step2:
安全装置（機能安全）

Step3:
使用上の注意表明

事故の原因となる危険源（ハザード）自体を除去する
危険源の除去やリスクを低減することができない場合は、保護カバーやセンサーなどの仕組みでリスクを低減する。
Step1,2でもリスクを許容できるまで低減できない場合、警告ラベル等で注意喚起を⾏う。

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

13安全達成イメージ
猛獣

保護と注意書き排除
隔離と注意書き

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

14

Safety Systemの構築
安全装置の故障• ランダムハードウェア故障→ハードウェア（部品）故障• システィマティック故障（系統的故障）→仕様の誤り（バグ）故障対策• ランダムハードウェア故障対策• 低故障部品の使用• バックアップ装置•

システムとしての安全対策
安全装置としての安全対策

安全装置の故障対策

システィマティック故障対策• 安全要求管理• 安全な開発プロセス• プロジェクト管理

高信頼性
システム・ソフトウェア
開発

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

15高信頼性開発≒安全ライフサイクル

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

16高信頼性開発の肝安全への要求が適切に実現される
適切な開発手順で開発される
適切な開発プロセス

要求が適切に設計・実装・検証
される
要求が適切に設計・実装・検証されたことが確認できる

要求実現の追跡

適切な開発プロジェクト運用

開発アクティビティの追跡

公平・公正な⽴場での確認
Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

17高信頼性開発へのチケット駆動適用

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

18

要求トレーサビリティ確保：従来手法
要求分析

要求項目にTagを打つ

作成

アーキテク
チャ設計

作業
トレース
情報なし

結構大変

設計項目にTagを打つ

作成

詳細設計

関連付ける

作成

関連付ける

設計項目にTagを打つ

関連付ける
実装設計

作成

該当項目にTagを打つ

設計トレース
情報表示はツール必須
Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

19

要求実現の追跡
適切な開発プロセス
適切なプロジェクト運営
Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

20eWeaver上での開発フロー
要求抽出フロー
真の要求要求抽出支援
Plug-in要求仕様（書）

要求候補

開発フロー
要求分析
チケット

要件
仕様

アーキ設計
チケット

詳細仕様

テスト
仕様

レビュー
チケット
テスト
チケット

詳細設計
チケット

アーキ
仕様

レビュー
結果

レビュー
チケット
テスト
チケット

実装
チケット

テスト
結果

：
：

レビュー
チケット
テスト
チケット
レビュー
チケット
テスト
チケット

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

：
：
：
：
21

要求トレーサビリティ
要求抽出フロー
真の要求要求抽出支援
Plug-in
要求仕様（書）

要求候補

開発フロー
要求分析
チケット

要件
仕様

アーキ設計
チケット

詳細仕様

テスト
仕様

レビュー
チケット
テスト
チケット

詳細設計
チケット

アーキ
仕様

レビュー
結果

レビュー
チケット
テスト
チケット

実装
チケット

テスト
結果

：
：

レビュー
チケット
テスト
チケット
レビュー
チケット
テスト
チケット

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

：：：：
22

要求とアーキ設計のトレース

任意のトラッカーをキー列として選択

キー列のアイテムにリンケージされた各トラッカーのアイテムの表示

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

23リンケージの抜けもれチェック

リンケージを確認したい⼆つのトラッカーを選択
リンケージされていないアイテムの一覧表示

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

24

要求実現の追跡
適切な開発プロセス
適切なプロジェクト運営
Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

25

プロセス作成からプロジェクト運営

規格要求

開発規定
企業文化プロジェクト化？

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

26

Redmineによるワークフロー定義• プロジェクト関係者のワークフローを定義できる• トラッカーと呼ぶチケットの種別定義を用いて、チケッ
トが持つ情報を設定でき、このトラッカー毎にワークフローが設定できる

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

27

作業トレーサビリティ
要求抽出フロー
真の要求

要求抽出支援Plug-in
要求仕様（書）

要求候補

開発フロー
要求分析
チケット

要件
仕様

アーキ設計
チケット

詳細仕様

テスト
仕様

レビュー
チケット
テスト
チケット

詳細設計
チケット

アーキ
仕様

レビュー
結果

レビュー
チケット
テスト
チケット

実装
チケット

テスト
結果

：
：

レビュー
チケット
テスト
チケット
レビュー
チケット
テスト
チケット

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

：：：：
28

海外事例とその応用
Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

29

SafeScrum
独⽴系研究機関SINTEF（ノルウェー産業科学技術研究所）で開発・改良が進められている手法

トレーサビリティ確保のプラクティスを追加

機能性のほかにRAMS（信頼性(Reliability)、可用性( Availability)、保守性(Maintainability)、安全性(Safety) ）観点での評価プ
ラクティスを追加一般要求と安全要求を独⽴に管理

T. Myklebust, T. St¥a alhane, B. Haugset, and G. K. Hanssen, “Using a GoalBased Approach to Improve the IEC 61508-3 Software Safety Standard,” 2015.

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

30

Agile in Automotive（Cycle Model）
Kugler Maag CIE社（独）で開発・改良が進められているSCRUMの拡張手法

Role(役割）に品質POと安全PO（SafetyManagaer相当）を追加

出典：AGILE IN AUTOMOTIVE SCRUM POKET GUIE（ENGLISH VERSION） KUGLERMAAG CIE
Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

31

Agile on Automotive（Roles）

出典：AGILE IN AUTOMOTIVE SCRUM POKET GUIE（ENGLISH VERSION） KUGLERMAAG CIE
Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

32

SCRUMサイクル

Product
Owner

Daily
SCRUM

Sprint Review
Retrospective

SCRUM
MasterProduct
Backlog
SprintBacklog

SprintSprint Planning

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

Product

33

SCRUM Cycle for Safety
SCRUM
MasterSafety
Product
Owner

Quality
Product
Owner

Product
Owner

SafetySCRUM
MasterDailySCRUM

Sprint Review
Retrospective

ProductBacklog

Development &Review ＆Test

Sprint Backlog
Functional
Productback log

Functional &RAMS Validation
SafetyProductback log

Product

Functional & Safety
Sprint Planning

SprintCopyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

34

プロセス作成からプロジェクト運営
ワークフローをトラッカーで実現

規格要求

開発規定
カンバンによるプロジェクト可視化

企業文化
規格要求の実装

プロジェクト運営のガイド

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

35

カンバン/Task

WBS※とWorkの状態を同時に表す

Task status

Story

WorkingのTaskは必ず一つ（並⾏で複数着手しない。
Storyも同じ）

OpenからClosedへ※WBS (Work-Breakdown-Structure）

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

36適切性監査（２つのトレース情報）
開発フロー
要求分析
チケット

要件
仕様

アーキ設計
チケット

詳細仕様

テスト
仕様

レビュー
チケット
テスト
チケット

詳細設計
チケット

アーキ
仕様

レビュー
結果

レビュー
チケット
テスト
チケット

実装
チケット

テスト
結果

：：

レビュー
チケット
テスト
チケット
レビュー
チケット
テスト
チケット

：：
：
：

プロセスおよびプロジェクトの適切性確認を容易化
Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

37

開発プロセス支援ツール

ソフトウェア開発

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

38

製品概要
ソフトウェアライフサイクル全般のプロセスの管理機能• 開発プロセス支援ツール• 要求、仕様、コードなど、開Requirement Traceability
Management Management
Review
Management

eWeaver
Task
Management

ProblemManagement

Test
Management

発成果物の各種要素を「アイテム」として統一管理、これらのトレーサビリティや核開発工程のアクティビティとの連携を管理• 要求管理、テスト管理、変更/構成管理、問題点管理、障害管理、レビュー活動管理、そConfiguration Dashboard/
Management
Report
してこれらのトレーサビリティ管理（ライフサイクルトレース）高度化するソフト開発のアジャイル化（素早く変化に対応）と効率的なトレーサビリティ管理機能を付加しております

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

39

システム構成
開発に必要な機能群をオール・イン・パッケージにて提供
システム構成「Redmine」や「Subversion」などのオープンソースを基盤に、マイクロソフト社の「MicrosoftWord」や「Microsoft Excel」で作成した文書との連携機能を含む独自のRedmineプラグインなどを実装

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

40

期待効果
管理情報の⾒える化・省⼒化（追跡性の向上）Scrumのサポート

トレーサビリティ
管理機能

開発管理コストの削減

頻発する変更要求に対応する柔軟な開発管理の実現

機能安全規格が求める追跡性の確保

変化に強く、⽣産性と開発効率の高い開発組織の醸成をサポート
Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

41

コンサルティングサービス

企業文化を活かす最適なソリューション

業務分析
カスタマイズ

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

42

Thank you for your timeand attention.

Copyright(C) 2016-2017 eSOL TRINITY Co.,Ltd. All rights reserved.

43