Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
What to Upload to SlideShare
What to Upload to SlideShare
Loading in …3
×
1 of 52

SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~

0

Share

Download to read offline

鷲崎弘宜, SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~, システム監査学会 定例研究会, 2021年12月27日

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~

  1. 1. SQuBOKガイドV3概説 ~IoT・AI・DX時代のソ フトウェア品質とシステム監査~ 鷲崎 弘宜 SQuBOK編纂チーム DXレポート2 WG1座長 早稲田大学 / 国立情報学研究所 / システム情報 / エクスモーション IEEE Computer Society 副会長 リカレント教育 スマートエスイー 事業責任者 Twitter: @Hiro_Washi washizaki@waseda.jp http://www.washi.cs.waseda.ac.jp/ 2021年12⽉27⽇ システム監査学会 定例研究会
  2. 2. 目次 • SQuBOK V3全体概要と既存領域 • 新領域におけるDX時代の品質 • IoT品質 • クラウド品質 • AI品質 • アジャイル品質 • オープンソース品質 • システム監査との関係 2
  3. 3. Guide to the Software Quality Body of Knowledge (SQuBOK) SQuBOKガイド 品質の 概念 マネジ メント 品質技術 [出典・参考] 町田欣史, SQuBOKガイドの概要と活用のポイント, 2011年度ソフトウェア品質管理研究会 第2回例会 • 背景 – ソフトウェアの位置付け変化 、品質 事故 – 『ソフトウェア品質向上技術は将来最 も重要な技術』 METI調査 ’06 – 日本科学技術連盟+品質管理学会 – 2007 v1、2015 v2、2020 v3 • 目的 – 日本の暗黙知を形式知化 – 最新のテーマを整理し、体系化 – 品質技術の認知度向上 – ソフトウェア品質技術者資格制度 JCSQE、人材育成・組織支援 • 対象読者 – 品質保証に携わるエンジニア – ソフトウェア技術者/管理者 知識領域 トピック トピック ・・・ 推薦書籍 推薦論文 国際規格など 3
  4. 4. 品質基本概念、品質マネジメント 組織レベル のソフトウェア品質マネジメント ソフトウェア 品質技術 ソフトウェア品質マネジメント SQuBOKガイド V3 ソフトウェア 品質の基本概念 プロジェクトレベル(共通)の ソフトウェア品質マネジメント プロジェクトレベル(個別) のソフトウェア品質マネジメント 品質計画のマネジメント 要求分析のマネジメント 設計のマネジメント 実装のマネジメント レビューのマネジメント テストのマネジメント 品質分析・評価 のマネジメント ソフトウェア品質マネジメ ントシステムの構築と運 用 ライフサイクルプロセス のマネジメント ソフトウェアプロセス 評価と改善 検査のマネジメント 教育・育成のマネジメント 法的権利・法的責任の マネジメント 意思決定のマネジメント 調達マネジメント 構成管理 リスクマネジメント プロジェクト マネジメント 品質の概念 品質の マネジメントの 概念 ソフトウェアの 品質マネジ メントの特徴 リリース可否判定 運用および保守のマネ ジメント 4 監査のマネジメント 飯泉紀子、鷲崎弘宜、誉田直美 監修、SQuBOK策定部会 編、“ソフトウェア品質知識体系ガイド(第3版 )-SQuBOK Guide V3-”、ISBN 978-4-274-22631-1、2020/11/21、オーム社
  5. 5. 品質技術 ソフトウェア 品質技術 ソフトウェア品質マネジメント SQuBOKガイド V3 ソフトウェア 品質の基本概念 メトリクス 工程に共通の品質技術 工程に個別な品質技術 専門的品質特性の技術 モデル化の技法 形式手法 要求分析の技法 設計の技法 実装の技法 レビューの技法 テストの技法 品質分析および評価の 技法 運用および保守の技法 ユーザビリティの技法 セーフティの技法 プライバシの技法 5 セキュリティの技法 飯泉紀子、鷲崎弘宜、誉田直美 監修、SQuBOK策定部会 編、“ソフトウェア品質知識体系ガイド(第3版 )-SQuBOK Guide V3-”、ISBN 978-4-274-22631-1、2020/11/21、オーム社
  6. 6. 既存領域におけるV3改訂ポイント • 重複・詳細記述のスリム化 • 国際規格の改訂の反映 • ユーザビリティ、セキュリティ、セーフティ – 知識拡充 – 複雑化するソフトウェアシステムの扱い • プライバシ: 新設 – プライバシーの品質の概念 • OECDガイドライン、個人情報保護法、EU GDPR、JIS Q 15001、 ISO/IEC 29100、ISO/IEC 29134ほか – プライバシーの技法 • プライバシー影響評価(PIA): ISO/IEC 29134、ISO 22307 • プライバシー保護技術(PET): 匿名化、差分プライバシーほか 6
  7. 7. 拡充例: セーフティの技法 STAMP(Systems- Theoretic Accident Model and Process) • 安全のための制御を行う要素(コントローラー)と制御される要素( 被コントロールプロセス)の相互作用へ着目 • 安全解析手法 STPA(System-Theoretic Process Analysis) 7 Leveson, Engineering a Safer World, 2012 Jati H. Husen, Hnin Thandar Tun, Nobukazu Yoshioka, Hironori Washizaki and Yoshiaki Fukazawa, “Goal-Oriented Machine Learning-Based Component Development Process,” ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS), Poster Track Hnin Thandar Tun, Jati H. Husen, Nobukazu Yoshioka Yoshioka, Hironori Washizaki and Yoshiaki Fukazawa, “Goal-Centralized Metamodel Based Requirements Integration for Machine Learning Systems,” 3rd International Workshop on Machine Learning Systems Engineering​ (iMLSE 2021) [Cmp2] Human- machine interface [Cmp3] Main control unit Start/stop System condition [Cmp1] Camera system [Cmp3.2] Lane detection system Start detection Request image Image Perception result [Cmp3.3] Vehicle detection system Start detection Request image Image Perception result [Cmp3.x] Trajectory prediction system Start decision making Trajectory decision Environment condition Driving control CA Not Providing Providing causes hazard Too early / Too late Start detecti on (UCA2-N-1) Lane perception system is not providing output [SC1][SC2] (UCA2-P-1) Poor perception of lane markings [SC1][SC2] (UCA2-T-1) Perception of lane marking is not real time [SC1][SC2] Request image (UCA6-N-1) Lane perception system has no input [SC1][SC2] (UCA6-P-1) Lane perception system receive poor quality image [SC1][SC2] (UCA6-T-1) Information of environment will not be real time [SC1][SC2] … … … …
  8. 8. 目次 • SQuBOK V3全体概要と既存領域 • 新領域におけるDX時代の品質 • IoT品質 • クラウド品質 • AI品質 • アジャイル品質 • オープンソース品質 • システム監査との関係 8
  9. 9. • DX: デジタル化によりビジネスモデル変革 – デジタル技術: IoT、クラウド、AI、ソーシャルほか – 変革レベル: プロセス→組織→ビジネス領域→社会 • 問題 – 低リスクのオプションを選んで非常に少ない投資 – デジタライゼーションが技術に限った話と誤解 – 顧客が求めた時に直ちに対応できていない – 規約や標準へ厳格に従うばかりに変化やイノベーションを妨げ • 解決 – アジリティ、高速・適応的・仮説検証による不確実性の扱い – データ収集、エビデンスベース – アドホックから戦略的、複数を束ねるエコシステムへ – 階層化組織からアジャイル組織、ホラクラシーへ デジタルトランスフォーメーション(DX)時代 Jan Bosch, Towards a Digital Business Operating System, International Conference on Software Technologies, ICSOFT 2017
  10. 10. DX時代のソフトウェアシステムのカタチ 10 クラウド ビッグデータ IoT 人工知能・ 機械学習 データ収集 活用環境 データ必須 フィードバック オープン ソース 社会 ビジネス 価値 アジャイル ・DevOps 要請 サービス ・品質 価値駆動 データ駆動 • デジタル化によるビジネスモデル変革と価値創造 • アジリティを持ちデータ駆動のサービス提供・適応
  11. 11. ソフトウェアの品質と価値 • Weinberg「品質とは、誰かにとっての価値である」 11 ソフトウェアの価値: 顧客の満足、顧客のビジネス価値 顧客価値: 顧客満足度、エンドユーザ満足 度、市場満足度、顧客数、主要顧客満足度 市場競争力: プロダクト競争力、市場投入ま での時間、品質、製品パフォーマンス、UX 技術・アーキテクチャ: 実装上の複雑さ、製 品アーキテクチャ、開発能力 経済価値・収益性: ROI(投資利益率)、 売上規模、顧客・市場シェア 費用対効果: 開発コスト、再利用、サー ドパーティ製品利用コスト 企業戦略: 企業戦略、製品戦略、ポート フォリオ、イネーブラー、企業ブランド 鷲崎 弘宜, DX時代に求められるソフトウェアの価値と品質および国際標準, 【Column】ソフトウェア品質はなぜ重 要なのか?<連載>, ソフトウェア協会, 2021年12月3日 https://www.saj.or.jp/activity/project/psq/COLUMN_SWquality.html
  12. 12. 12 ソフトウェア 品質の概 念 ソフトウェ ア品質マ ネジメント ソフトウェ ア品質技 術 SQuBOKガイド V3 応用領域 人工知 能シス テム IoTシス テム クラウド サービ ス オープン ソース利 活用 アジャイル 開発と DevOps 応用領域担当: 鷲崎 弘宜(取りまとめ)、石川 冬樹、鄭 顕志、 松崎 和賢、竹之内 隆夫、長久 勝、伊原 彰紀、森田 純恵ほか 監修 飯泉, 誉田, 鷲崎, ソフトウェア品質知識体系ガイド SQuBOK Guide V3, オーム社, 2021年 https://www.juse.or.jp/sqip/squbok/
  13. 13. 品質 品質 SQuBOK応用領域と品質 13 レイヤ スケール クラウド IoT 確率・追跡 大規模・ 多様 人工知能・ 機械学習 オープンソース開発
  14. 14. 目次 • SQuBOK V3全体概要と既存領域 • 新領域におけるDX時代の品質 • IoT品質 • クラウド品質 • AI品質 • アジャイル品質 • オープンソース品質 • システム監査との関係 14
  15. 15. IoTシステムの構成とAI 15 ZigBee ZigBee、BLE、Wi-Fi インターネット TCP/IP TCP/IP IoTサーバ Android Open Accessory, BLE パブリッククラウド環境 Googl e Drive IoTゲートウェイ AWS M2X プライベート クラウド環境 PC スマホ Arduino Raspberry Pi 鷲崎, MCPC岡崎ほか, “スマートIoTシステムビジネス入門”, スマートエスイー2017-21 行動 モノ 洞察 音響データ 異常検知 故障予知、点検 ・・ 画像データ テキストデー タ 物体認識 分類 監視、認証・ ・ 物理世界 AI 市場予測、推薦・ ・
  16. 16. 16 IoTシステムにお ける品質の概念 IoTシステムの品質 保証マネジメント IoTシステムの 品質技術 (IPA『つながる世界 の品質確保に向けた 手引き』、MCPC『IoT 技術テキスト』など) IoTシステムにおける品質 • IoTセキュリティ • IoTプライバシ • IoTセキュリテ ィ技術 • IoTプライバシ ー保護技術 飯泉紀子、鷲崎弘宜、誉田直美 監修、SQuBOK策定部会 編、“ソフトウェア品質知識体系ガイド(第3版 )-SQuBOK Guide V3-”、ISBN 978-4-274-22631-1、2020/11/21、オーム社
  17. 17. 例: IoTセキュリティベストプラクティス • IoTシステム全体 – 機微情報を保護する – 倫理的ハッキング奨励,包括的セーフハーバー – IoT セキュリティおよびプライバシー認証委員会 – ゼロトラスト • ネットワーク – 強固な認証 – 強力な暗号とセキュアなプロトコル – デバイスの帯域を最小化 – ネットワークをセグメント化 • デバイス – ハードウェアを耐タンパ – ファームウェアの更新やパッチを提供 – 動的テスト – デバイスを廃棄する際にデータ保護手順を指定 17 IEEE, Internet of Things (IoT) Security Best Practices, 2017 https://internetinitiative.ieee.org/images/files/resources/white_papers/internet_of_things_feb2017.pdf MCPC/鷲崎, スマートIoTシステム・ビジネス入門, スマートエスイー, 2020 IoTサーバ (アプリケーション) IoTデバイス (センサ/アクチュエータ) IoTゲートウェイ 広域網 IoTエリアネットワ ーク
  18. 18. IoTシステム品質の留意点 • デジタル(サイバー)世界と物理世界の両面 を捉えた品質マネジメント – 物理世界特有の難しさ – デジタルと物理の相違 – 通信・データの品質、必要性、捨てる発想 • システム・オブ・システムズとして捉えた品質 マネジメント – 全体としての捉え方、境界のあいまいさ – 変動性、セキュリティ、セーフティ 18 鷲崎、誉田、金子、徳本、竹之内、「ソフトウェア品質のニューノーマルを探る」 SQuBOKガイドV3発行記念イベント http://www.juse.or.jp/sqip/squbok/#v3event
  19. 19. 目次 • SQuBOK V3全体概要と既存領域 • 新領域におけるDX時代の品質 • IoT品質 • クラウド品質 • AI品質 • アジャイル品質 • オープンソース品質 • システム監査との関係 19
  20. 20. クラウドの構成 20 SaaS PaaSS IaaS BaaS IoT (M2X) Mobile (Parse) Gmail等 Google App Engine等 Amazon EC2/S3等 IaaS : Infrustructure as a Service PaaS: Platform as a Service SaaS: Software as a Service Baas: Backend as a Service アプリケーション APP実行環境 ミドルウェア・OS コンピュータ(H/W) ユーザシステム サービスとして 提供する範囲 鷲崎, MCPC岡崎ほか, “スマートIoTシステムビジネス入門”, スマートエスイー2017-21
  21. 21. 21 クラウドサービ スにおける品質 の概念 クラウドサービ スの品質マネ ジメント クラウドサービ スの品質技術 (カスタマー観点、プ ロバイダー観点) • リスクマネジメント クラウドサービスにおける品質 • 機能適合性 および互換性 • SLA • セキュリティ • 仮想化 • マイクロサービス • クラウドデザイン パターン 飯泉紀子、鷲崎弘宜、誉田直美 監修、SQuBOK策定部会 編、“ソフトウェア品質知識体系ガイド(第3版 )-SQuBOK Guide V3-”、ISBN 978-4-274-22631-1、2020/11/21、オーム社
  22. 22. クラウドレイヤの扱い • レイヤを超えたデータとサービスの処理に伴うセキ ュリティ&プライバシの扱い 22 ユーザ認可 セキュア通信 セキュア構成 OS堅牢性強化 電子アクセス制御 アプリケー ション プラットフォ ーム インフラ クラウドサービス クラウドサービス
  23. 23. Chaos Engineering カオスエンジニアリングの原則 • Netflix社 発: 分散システムが不安定な状態に耐えるこ との出来る環境を構築するための検証の規律 1. 定常状態の振る舞いの仮説の立案 – 測定可能なシステム出力に焦点: スループット、エラーレ ート、待ち時間パーセンタイルなど 2. 実世界の多様な事象を変数化 – サーバーのクラッシュ、ハードドライブの誤作動、ネット ワーク接続の切断など 3. 本番環境で実験 – 継続的実行のため実験の自動化 – 影響範囲の最小化 23 http://principlesofchaos.org/
  24. 24. 目次 • SQuBOK V3全体概要と既存領域 • 新領域におけるDX時代の品質 • IoT品質 • クラウド品質 • AI品質 • アジャイル品質 • オープンソース品質 • システム監査との関係 24
  25. 25. 25 人工知能システ ムにおける品質 の概念 人工知能シス テムの品質マ ネジメント 人工知能シス テムの品質保 証技術 人工知能ベースシステムの品質 • 訓練・テストデー タの品質 • モデルの品質 • 機械学習システ ムの品質 • 疑似オラクル • メタモルフィックテステ ィング • 頑健性検査 • ニューロンカバレッジ • 説明生成 (PoC、監視、オ ンライン学習、更 新など) 飯泉紀子、鷲崎弘宜、誉田直美 監修、SQuBOK策定部会 編、“ソフトウェア品質知識体系ガイド(第3版 )-SQuBOK Guide V3-”、ISBN 978-4-274-22631-1、2020/11/21、オーム社 25
  26. 26. 機械学習によるパラダイム転換と品質エンジニアリング 26 目標 学習データ 学習済み モデル 活動 / システム (動作) 目標 モデル 活動 / システム (動作) データ 従来のエンジニアリング: 演繹的(モデルが最初に与えられる) 機械学習ベース:帰納的(モデル・アルゴリズムがデータで決まる) 参考: 丸山 宏, 機械学習工学に向けて, JST機械学習型システム開発へのパラダイム転換, 2017 E. Breck et al., The ML Test Score: A Rubric for ML Production Readiness and Technical Debt Reduction, IEEE Big Data 2017 内平 直志, 「人工知能とソフトウェア工学・品質管理」, 第33年度ソフトウェア品質管理研究会第7回特別講義, 2017 ミス・偏りの 無さ、網羅性 性能、頑健さ、 解釈・説明性 合目的性、 想定外対応 疑似オラクル 頑健性検査 説明生成 監視 上位目標 メタモルフィック テスティング 組み入れ正しさ 品質保証全体 PoC
  27. 27. 人工知能システムの品質の概念 • データの品質 – コンセプト・データドリ フト • モデルの性能 – 正解率、混同行列 – ROC、AUC – 未学習、過学習 • モデルの頑健性 • モデルの説明可能 性 • システムの品質 – KPI – 仮説検定 27 https://www.slideshare.net/dsuket/ss-57488780 予測 陽性 Positive 陰性 Negative 正解 陽性 真陽性 True positive 偽陰性 False negative 陰性 偽陽性 False positive 真陰性 True negative 未学習 過学習
  28. 28. 人工知能システムの品質保証マネジメント • 試験的・探索的と顧客協力 • 監視と性能劣化検出 • オンライン学習と検証 • 成果物・版管理 – データ、プログラム、ハイパーパラメータ 28 全学習 データ N個 N個まとめて 誤差を計算して 重みを更新 1つの 学習データ 1データごとに 誤差を計算して 重みを更新 バッチ学習 オンライン学習 増倉孝一,スマートIoTシステムビジネス入門, スマートエスイー講義資料, 2018
  29. 29. 人工知能システムの品質保証技術 • 疑似オラクル – 別の実装や古いバージョンとの比較 – サーチベースドテスティング • メタモルフィックテスティング – 入力の変化により出力を予想可能な関係によるテスト – 例: ノイズを追加しても判定が変わってはならない • 頑健性検査 • ニューロンカバレッジ • 説明生成 29 小川秀人, https://www.slideshare.net/hidetoonoguchi/ss-138580863
  30. 30. ニューラルネットワークデバッグ(修正) • 再訓練 – 正攻法であるが、時間・コスト高 – 追加訓練データの検討の難しさ、性能悪化の可能性 • オンライン学習 – 特定データによる逐次学習を通じた修正 – 性能悪化の副作用の可能性 • データ拡充: 生成 [a]、選択 [b]、拡張 [c]など – モデルのパラメータを直接には修正せず試行錯誤 – 敵対的サンプルに対して脆弱な可能性 • 特定サンプルに応じたパラメータ直接変更 – 要因分析と修正 – 敵対的サンプルに対する特定ラベルに関する修正 [d] – 失敗データにおける影響個所の探索と修正 [e] 30 [a] Generative adversarial nets, NIPS 2014 [b] MODE: automated neural network model debugging via state differential analysis and input selection, ESEC/FSE 2018 [c] Autoaugment: Learning augmentation policies from data, arXiv:1805.09501, 2019 [d] 敵対的サンプルに対するニューラルネットワークモデルの学習無し修正とその評価, JSSST大会 2019 [e] Search Based Repair of Deep Neural Networks, arXiv:1912.12463, 2019
  31. 31. 敵対的サンプルに対する修正 [e] • 要因分析: 特定のラベルに対する検証データと誤認識データとのニュー ロン出力の平均値の差分による局所化 • 修正: 局所化した個所の重みパラメータの特定修正率による更新 → 検 証データによるデグレ有無の確認 31 [d] 敵対的サンプルに対するニューラルネットワークモデルの学習無し修正とその評価, JSSST大会 2019 検証データによ る平均値 誤認識データ による平均値 最優先で修正す べきニューロン
  32. 32. メタモルフィックテスティング • メタモルフィック関係に基づき大量に試験 • 入力への変化により、出力の変化を予想できる関係 – 例: A の検索結果数 ≧ A かつ B の検索結果数 – 例: sin(x) = sin(x + 360度) 32 入力変化 出力変化 並び変え 無し ノイズの追加 意味的に同じ 統計的に同じ 経験的に近 い 僅か 定数加乗算 定数の加算、 乗算 狭める 部分集合 全く異なる 互いに素 x t(x) f(x) g(f(x)) 変換t 変換g 参考: S. Segura et al., "Metamorphic Testing of RESTful Web APIs," IEEE Transactions on Software Engineering, 2017 参考: C. Murphy, “Applications of Metamorphic Testing”, http://www.cis.upenn.edu/~cdmurphy/pubs/MetamorphicTesting-Columbia-17Nov2011.ppt Y Tian, et al., DeepTest: Automated Testing of Deep-Neural-Network-driven Autonomous Cars, ICSE 2018 https://arxiv.org/pdf/1708.08559.pdf f(t(x)) = 変換f 変換f
  33. 33. 機械学習デザインパターン(例:パターン 「説明可能な予測」 • 『機械学習デザインパターン ―データ準備、モデル構築、 MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら 訳, オライリージャパン, 2021 – 問題: 予測の説明困難 – 解決: シンプルなモデル採用、予測結果における説明など 33 短時間 using 19990914 build on win98 using the new account wizard if I add multiple accounts with the same server… 長時間 this mean the problem was with their web page and its cool now or we still need to figure out … Y. Noyori, H. Washizaki, et al., “Extracting features related to bug fixing time of bug reports by deep learning and gradient-based visualization,” 2021 IEEE International Conference on Artificial Intelligence and Computer Applications 例: バグレポートの修正時間予測の深層学習モデルの説明 33 深層学習モデルの説明例: SmoothGrad SmoothGrad: removing noise by adding noise, 2017
  34. 34. AI/機械学習システム品質の留意点 • 総合的な取り組み – データ、モデル、ソフトウェア&システムの各品質 – 目的と価値 • 本来的な複雑さ・不確実性 – 100%ではなく95%の正しさ、リスクのマネジメント – 顧客の期待値コントロール – 常時のモニタリングと対応 – 必然的にアジャイル&DevOps 34 鷲崎、誉田、金子、徳本、竹之内、「ソフトウェア品質のニューノーマルを探る」 SQuBOKガイドV3発行記念イベント http://www.juse.or.jp/sqip/squbok/#v3event
  35. 35. 目次 • SQuBOK V3全体概要と既存領域 • 新領域におけるDX時代の品質 • IoT品質 • クラウド品質 • AI品質 • アジャイル品質 • オープンソース品質 • システム監査との関係 35
  36. 36. アジャイル開発とマインド • アジャイル宣言 http://www.agilealliance.org/ • 反復漸進、顧客(現場)フィードバック、変化適応的 • 「受け身・パートナー任せ」から「価値共創」へ 36 手順や道具 人と対話 文書 動く内容や実活動 契約交渉 顧客や現場との協力 計画通り 変化への対応 ITベンダ ユーザ企業 システ ム部 ITベンダ ユーザ企業 システ ム部 アジャイ ル拠点で の共創 経済産業省デジタルトランスフォーメーションの加速に向けた研究会, DXレポート2中間まとめ, 2020 https://www.meti.go.jp/press/2020/12/20201228004/20201228004.html 納品
  37. 37. 37 DevOpsとアジャ イル開発におけ る品質の概念 DevOpsとアジャイ ル開発品質保証 マネジメント DevOpsとアジャ イル開発の品 質保証技術 • アジャイル品 質保証パター ン QA2AQ • アジャイルス キル体系 SFIA DevOpsとアジャイル開発における品質 • DevOpsにお ける品質特性 • アジャイル開 発の品質指標 • アジャイルメトリクス • 品質ダッシュボード • DevOpsとアジャイル 開発のツールと自動化 • CI (継続的統合) • アジャイルテスト • 継続的テスト • シフトレフトテスト • シフトライトテスト • カナリアテスト 飯泉紀子、鷲崎弘宜、誉田直美 監修、SQuBOK策定部会 編、“ソフトウェ ア品質知識体系ガイド(第3版)-SQuBOK Guide V3-”、ISBN 978-4- 274-22631-1、2020/11/21、オーム社
  38. 38. 例: アジャイル品質保証パターン QA2AQ 38 アジャイルプロセスの一環として、 システムの品質を理解し、記述し、 開発およびテストする方法を構築し ましょう。 重要なシステム品質の検査をアジ ャイルプロセスにどのように組み 込み、QA担当者はプロセスのどこ へ入ればよいでしょうか? 鷲崎, 長谷川, 濱井, 小林, 長田, 田村, 陳, QA to AQ:アジャイル品質パターンによる、伝統的な品質保証からアジャイ ル品質への変革, CodeZine, https://codezine.jp/article/corner/813 スプリント計画 製品ビジ ョン/ロー ドマップ 製品ビジ ョン/ロー ドマップ 利害関係者 への展開 利害関係者 への展開 機能 受入テスト 機能 受入テスト バックログ 管理 スプリント 実行 デイリーレビュー フィードバックの取り込み 重要な品質シナリ オの特定 品質項目 を含める 品質テスト 品質テスト 関連する 品質タスク を含める 品質テスト 品質テスト
  39. 39. アジャイルテスト技術の拡充 • アジャイルテスト – 顧客・プログラマ・テスタ対話、イテレーション単位 • 継続的テスト – コード変更の都度、テスト自動実行 • シフトレフトテスト – 早い段階(仕様、設計など)でのテスト • シフトライトテスト – 本番稼働後のテスト – 例: カオステスト、カナリアテスト • カナリアテスト – 本番環境やユーザの一部でテストしてから展開 39
  40. 40. DevOpsにおける品質 特性と品質維持技法 40 特性 品質を高めるためのテクニック 反復可能性 アクティビティのトレースを残す。すべてのもののバージョンを管理する等。 処理性能(パ フォーマンス) プロセスのボトルネックを明らかにするための計測を行う。使っていない環境を解体 する等。 信頼性 さまざまなサービスのエラー率を明らかにする。エラー率の高いサービスをミラーリ ングする等。 回復可能性 スクリプトに例外処理を組み込む。モニタリングサービスに情報を提供する。適切な 診断を生成してデバッグ作業が早く終わるようにする。 相互運用性 安定したインタフェースを柔軟なスクリプト機能をもつツールを選ぶ。パイプライン のさまざまなフェーズデータモデルの一貫性を保つ。 テスト可能性 専用ツールのために単体,インテグレーションテストを行う。テストケースとモニタリ ング規則を調和させる。 変更可能性 ツールの予想される変更に基づいてスクリプトをモジュール化する。アクティビティ を小さなモジュールにカプセル化し,モジュール同士の結合は疎になるようにする。 Len Bass,Ingo Weber,Liming Zhu,長尾高広(訳),DevOps教科書,日経BP社,2016 開発 デプロイ・運用 テスト・検証 モニタリング Dev Ops
  41. 41. アジャイル&DevOps品質の留意点 • 従来の品質保証: 静的、コントロール – 主に特定の人々(品質保証部門、QA) – 主に特定の段階 – 開発完了後に品質の確認 • アジャイル&DevOps品質: 動的、マネジメント – 専門家を交えたチーム全体 – ロードマップ策定から日々のモニタリングに至るあら ゆる段階 – 各イテレーションにおいて品質作りこみ: 動くソフトウ ェアのテスト、自動化、変更容易性ほか 41
  42. 42. 目次 • SQuBOK V3全体概要と既存領域 • 新領域におけるDX時代の品質 • IoT品質 • クラウド品質 • AI品質 • アジャイル品質 • オープンソース品質 • システム監査との関係 42
  43. 43. 43 OSS利活用にお ける品質の概念 OSS利活用の品 質マネジメント OSS利活用の品 質技術 (OSS脆弱性デー タベース、マイニン グリポジトリ) オープンソース利活用における品質 (OSSのサポー ト、ライセンス) (OSS健全性評 価メトリクス) 飯泉紀子、鷲崎弘宜、誉田直美 監修、SQuBOK策定部会 編、“ソフトウェア品質知識体系ガイド(第3版 )-SQuBOK Guide V3-”、ISBN 978-4-274-22631-1、2020/11/21、オーム社
  44. 44. OSS品質実態と組織成熟度 [Ajila07] • 北米18名のマネージャへのインタビュー+文献調査 • OSSと商用ソフト間での品質の差は小さいか,ほぼ無い • OSSの体系的再利用は生産性や品質に良い影響 44 S.A. Ajila and D. Wu, Empirical study of the effects of open source adoption on software development economics, JSS, 8-0(9), 2007 初期 観察 調整 計画的 成熟 奨励・文化 非奨励 奨励 報奨 教化 業務直結 計画性 無し 草の根 機会 命令 戦略 範囲 個人 チーム 個所 部門 組織全体 責任 個々 共有 専門家 専門チー ム 協力チーム &リエゾン プロセス カオス 設計後 設計時 部品開発 全製品が再 利用意図 メトリクス 無し 再利用 LOC 再利用 回数 部品費用 対効果 再利用追跡
  45. 45. OSS再利用の生産性・品質影響 [Basili96] • 再利用規模 – Reuse(C) = (1 - %Change) × Size(C) – Reuse(S) = ∑ Reuse(C) • 再利用率 ReuseRate(S) = Reuse(S) / Size(S) • 生産性 Productivity(S) = Size(S) / DevEffort(S) • 学生8プロジェクト,C++ライブラリ再利用 45 V. Basili, et a., How reuse influences productivity in object-oriented systems, CACM, 39(1), 1996
  46. 46. OSSホワイトボックス再利用と由来 46 O1 O12 O2 O13 O123 O23 O3 Apache (1) Oracle (2) Sun (3) 例: OpenOffice コードの規模・ 複雑さメトリクス 由来 変更回数 変更規模 欠陥 S. Sato, H. Washizaki et al., Effects of Organizational Changes on Product Metrics and Defects, APSEC'13 R. Ishizue, H. Washizaki, et al., “Metrics visualization technique based on the origins and function layers for OSS-based development,” VISSOFT 2016 R. Ishizue, H. Washizaki, et al., “Metrics Visualization Techniques based on Historical Origins and Functional Layers for Developments by Multiple Organizations,” IJSEKE, Vol.28, No.9, pp.1-25, 2018.
  47. 47. 健全性評価 CHAOSS (Community Health Analytics Open Source Software) • 多様性の組み入れ Diversity-Inclusion – OSS組織の多様性、組織に参加する個人の多様性、組織体制 の観点で公平な協調作業を実践しているか – 例: 参加者性別、年齢、スキル、貢献者人数、昇格 • 成長-成熟-衰退 Growth-Maturity-Decline – 不具合解決、プログラム実装、組織の成熟度、また、組織の発 展過程、衰退傾向 – 例: 不具合解決数、解決時間、変更数、参加者数 • リスク Risk – 人的要因、ライセンス、脆弱性の観点で組織が負うリスク – 例: ライセンスの内容、脆弱性数 • 価値 Value – 組織に参加する価値 – 例: 市場価値、ダウンロード数、製品への導入数 47 https://chaoss.community/metrics/
  48. 48. 目次 • SQuBOK V3全体概要と既存領域 • 新領域におけるDX時代の品質 • IoT品質 • クラウド品質 • AI品質 • アジャイル品質 • オープンソース品質 • システム監査との関係 48
  49. 49. 再掲: DX時代のソフトウェアシステム 49 クラウド ビッグデータ IoT 人工知能・ 機械学習 データ収集 活用環境 データ必須 フィードバック オープン ソース 社会 ビジネス 価値 アジャイル ・DevOps 要請 サービス ・品質 価値駆動 データ駆動 • デジタル化によるビジネスモデル変革と価値創造 • アジリティを持ちデータ駆動のサービス提供・適応
  50. 50. 組織的な品質マネジメントに向けて • 例: GQM+Strategies • 例: ISO/IEC 27001 情報セキュリティマネジメント システム 50 1. 特性把握 2. 目標定義 3. 評価モジュール、 プロセス定義 4. プロセス実行 6. 全体の改善・ 展開 5. 結果の分析、 評価モジュール改訂 4c. 戦略・ 改善実施 4b. フィードバック 4a. 測定 評価 Victor Basili, Adam Trendowicz, Martin Kowalczyk, Jens Heidrich, Carolyn Seaman, Jürgen Münch, Dieter Rombach 著, 鷲崎弘宜, 小堀貴信, 新谷勝利, 松岡秀樹 監訳, 早稲田大学グローバルソフトウェアエンジニアリング研究所ゴール指向 経営研究会 訳, “ゴール&ストラテジ入門: 残念なシステムの無くし方 (GQM+Strategies)”, オーム社, 2015
  51. 51. AI・IoT・DX時代のシステム監査の論点 • 対象: データ、ソフト、システム – クローズよりもオープンへ – 静的よりも動的へ • プロセス – アジャイル&DevOpsが標準 – 計画よりも変化へ • 基準 – 単純・確実から複雑・不確実へ – 100%よりも95%の正しさとリスク へ – 要求よりも価値へ 51 プロセス参考: 産業技術総合研究所サイバーフィジカルセキュリティ研究センター テクニカルレポート CPSEC-TR- 2020001, 機械学習品質マネジメントガイドライン, https://www.cpsec.aist.go.jp/achievements/aiqm/ 構想・企画 システム定義 リスク分析 要求定義 データ準備 プロト開発 実験・評価 利用終了 性能監視 運用 統合検査 データ準備 修正 データ収集 本開発 品質検査 改修 品質 検査 システ ム更新 PoC アジャイル Dev Ops
  52. 52. 参考 人材育成: スマートエスイー 52 ⚫ IoT・AI・DX時代のリカレント教育 https://smartse.jp ⚫ コンソーシアムを通じた交流、地域展開、調査研究 クラウド センサ・IoT 人工 知能 ビッグ データ 生成 知識 抽出 革新 アプリケーション ビジネス 価値 創造 通信・物理 情報処理 総合実践 連携校(13校) 茨城大学 群馬大学 東京学芸大学 東京工業大学 大阪大学 九州大学 工学院大学 東京工科大学 東洋大学 鶴見大学 北陸先端科学技術大学院大学 奈良先端科学技術大学院大学 情報・システム研究機構 (国立情報学研究所) 協力校(2校) 立命館大学 The BigClouT Project 教材・指導 地区展開 進学・共同 研究接続 連携企業・業界団体(23団体) 日本電気 富士通 日立製作所 東芝 いい生活 ヤフー モバイルコンピューティング推進コンソーシアム 次世代センサ協議会 日本IT団体連盟 IT検証産業協会 コンピュータソフトウェア協会 組込みシステム技術協会 電子情報技術産業協会 全脳アーキテクチャ・イニシアティブ 新経済連盟 先端IT活用推進コンソーシアム 日本オープンオンライン教育推進協議会 デンソー ハレックス 情報医療 システム情報 題材・事例 教材・指導 受講生派遣 外部評価 想定受講者 情報系の一定知識を 持っている人 組込み・ IoTプロフェッショナル クラウド・ ビジネスイノベー ター システムオブシステムズ・ 品質アーキテクト 目標人材像 環境連携 BigClouT (日欧ビックデータ・クラウド・IoT融合基盤) JMOOC (オンライン大学講座) オンライン全国展開 実施拠点 WASEDA NEO (コレド日本橋内) 社会人教育プログラム スマートエスイー SmartSE IoT・ビッグデータ・AI × ビジネス IoT・クラウド、ビッ グデータ、人工知 能を活用し、高セ キュリティかつプラ イバシを考慮した スマートシステム &サービスを開発 運用し、技術領域 や分野を超え価値 創造をグローバル にリード可能な実 践的人材の育成と 全国展開 IoT・クラウド、ビッ グデータ、人工知 能を活用し、高セ キュリティかつプラ イバシを考慮した スマートシステム &サービスを開発 運用し、技術領域 や分野を超え価値 創造をグローバル にリード可能な実 践的人材の育成と 全国展開

×