SERVICE|システム安全/セキュリティリスク分析サービス
アジャイル開発における安全解析
アジャイル開発における安全解析
(安全を考慮したアジャイル開発)
宇宙業界に限らず、様々な産業界では、社会環境の変化に伴うユーザのニーズの変化(カーボンニュートラルによる電動化、人手不足・リモートによる自動化、等)に素早く対応するため、製品開発速度を高めてリリース期間を短縮する必要があります。
一方、社会では安全・安心に対する関心も高まっており、産業界では機能安全等の各種規格への対応として、安全性や品質保証に対する説明責任を果たす必要があります。
(開発現場の課題)
a. 開発期間を短縮したい
b. 要件変更に対して適切に対応したい
c. 安全・安心の取り組みをステークホルダーに説明したい
開発期間を短縮しつつ、安全性を保証するにはどうすればよいでしょうか?

System Safety / agile development アジャイル開発と安全解析の融合
上記の課題「開発期間の短縮」と「要件変更への対応」の解決方法として、開発モデルに「Scrum」等のアジャイル開発方式を採用する企業・組織は多いことと思います。一般にアジャイル開発は、ユーザとの対話により要求の変化を素早く捉えて開発プロセスを繰り返すことで、開発期間の短縮と要件への適合を図るための開発モデルです。
さらに「安全・安心の説明」の課題を同時に解決するために、アジャイル開発手法の一つである「SafeScrum®」を選択することができます。SafeScrum®は、アジャイル開発の工程に安全解析(FTA: Fault Tree Analysis、FMEA: Failure Mode Effect Analysis、等)を導入することで、安全要求を抽出して設計実装を行う手法であり、欧州の自動車業界で適用が進んでいます。
しかしながら、SafeScrum®には改善すべき点があります。まず、FTA、FMEAは、システムのコンポーネント設計がある程度進んでいないと解析ができません。また、主に機器のハードウェア故障に着目しているため、近年のシステムにとってより重要なソフトウェア機能不全*1に関する十分な解析ができません。
そこでJAMSSでは、システムの概念設計段階からソフトウェア要求も含めてSTPA(System Theoretic Process Analysis)による安全解析を行い、ユーザと合意しながらアジャイル開発を行う手法として、独自技術である「安全を考慮したアジャイル開発」を考案しました。
Scrum, SafeScrum®,「安全を考慮したアジャイル開発」の比較

JAMSSでは、開発現場で採用されているアジャイル開発に対して、「安全を考慮したアジャイル開発」を導入し、開発現場向けにカスタマイズしながら、安全文化を段階的に浸透させていく支援、及び、開発者と一緒に安全解析を行うサービスを提供します。
*1 ソフトウェア機能不全は、システムを構成するハードウェア/ソフトウェア/運用者などに異常がなく各々想定通りに動作しているとしても起こり得る。すなわち、システムの状態を認識しながら制御しているソフトウェアにおいて、実際のシステム状態とソフトウェアが想定している状態(これをソフトウェアが内部に持っている「プロセスモデル」という)の不一致が発生することで、意図しない機能の実行や停止を行ってしまう事象をいう。現在の大規模複雑システムでは、単なる故障や人為的なミスによる不具合だけでなく、システム全体の連携に関係したソフトウェア機能不全による不具合の比率が高まっており、解析手法としてSTPAがある。
従来の安全解析手法とSTPAの違い
安全解析手法 | 特徴 | |
---|---|---|
従来手法(FTA, FMEA) |
|
|
STPA |
ガイドワード |
|
Overview of agile development with safety in mind
安全を考慮した
アジャイル開発の概要
安全を考慮したアジャイル開発は、安全上重要なシステム向けのアジャイル型開発手法であり、以下の特徴があります。
⚫︎SafeScrum®の安全解析工程にSTPA(System Theoretic Process Analysis)を導入
- 開発上流(概念設計段階)からソフトウェア機能のリスクを含めて解析
- 安全設計・信頼性設計をモデル化してユーザ・開発担当間で合意を深化
- STPA手法により安全だけでなくサイバーセキュリティリスクも同時に解析可能
⚫︎開発活動や安全解析の結果をGSN(Goal Structuring Notation)記法で示すことで、それらが適切に実施されたことを説明するエビデンス(セーフティケース)を提供
- セーフティケースは一般的に、規格に従った開発活動や安全解析を実施したことをGSNで示すが、JAMSSのGSNではシステムの特徴を踏まえて安全解析の視点が網羅的であったことを重点的に説明し、ステークホルダーに納得感を得させる
Scrum, SafeScrum®,「安全を考慮したアジャイル開発」の比較イメージ図

【凡例】
黒字:Scrumによる標準的なアジャイル開発の活動
青字:SafeScrum®でScrumに追加された安全活動(詳細はこちら)
赤字:「安全を考慮したアジャイル開発」でSafeScrum®に追加・変更された安全活動