Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
私たちのQuality Journey -アジャイル開発におけるNTT品質への挑戦-/Our_...
Search
Muneyoshi Iyama
June 26, 2021
Technology
0
2.3k
私たちのQuality Journey -アジャイル開発におけるNTT品質への挑戦-/Our_Quality_Journey_NTT_Quality_in_Agile_Development_
Scrum Fest Osaka 2021 において講演した資料その2です。
Muneyoshi Iyama
June 26, 2021
Tweet
Share
More Decks by Muneyoshi Iyama
See All by Muneyoshi Iyama
現場の失敗から学ぶ!プロダクトバックログアイテムの改善/Learn_from_On-Site_Failures!_Improving_Product_Backlog_Items
m_iyama
3
1.4k
形だけのアジャイルから中身のあるアジャイルへ変わるために~アジャイルの原点に立ち戻る~/Transitioning from Superficial Agile to Substantive Agile: Returning to the Fundamentals of Agile
m_iyama
0
230
アジャイル推進活動におけるBeAgileへの変化の兆し/Signs_of_Change_to_"Be_Agile"_in_Agile_Promotion_Activities
m_iyama
0
1.4k
プロダクトの品質とユーザ視点の品質を考えてみる/The_quality_of_the_product_and_the_quality_of_user's_perspective
m_iyama
0
2.8k
Other Decks in Technology
See All in Technology
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
410
強いチームと開発生産性
onk
PRO
35
11k
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
130
Can We Measure Developer Productivity?
ewolff
1
150
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
社内で最大の技術的負債のリファクタリングに取り組んだお話し
kidooonn
1
550
組織成長を加速させるオンボーディングの取り組み
sudoakiy
2
180
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
420
AGIについてChatGPTに聞いてみた
blueb
0
130
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
2
620
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
180
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
334
57k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Unsuck your backbone
ammeep
668
57k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Building Adaptive Systems
keathley
38
2.3k
Optimizing for Happiness
mojombo
376
70k
Six Lessons from altMBA
skipperchong
27
3.5k
How STYLIGHT went responsive
nonsquared
95
5.2k
Making Projects Easy
brettharned
115
5.9k
Transcript
Copyright © NTT COMWARE CORPORATION 2021 私たちのQuality Journey -アジャイル開発におけるNTT品質への挑戦- 2021年
6月26日 NTTコムウェア株式会社 伊山 宗吉
Copyright © NTT COMWARE CORPORATION 2021 本日お話しすること 弊社でウォーターフォール開発から アジャイル開発へのシフトで見えてきた 課題と私たちの取り組み
1
Copyright © NTT COMWARE CORPORATION 2021 本日お話する「品質」について 顧客満足に影響を与える品質として「狩野モデル」の 「魅力的品質」「当たり前品質」の考え方が広く知られている。 本セッションではユーザの不満を防ぐ「当たり前品質」を中心に扱う。
充足 不充足 一般的な例 (スマートフォン端末) 魅力的 品質 満足 仕方が ない ハイレゾ音源対応、ブルーライト カット機能、など 一元的 品質 満足 不満 バッテリーの持ち、軽量さ、応答 速度、など 当たり 前品質 当たり前 不満 致命的な欠陥が無い、ソフトウェ アアップデートがある、など 満足 不満足 不充足 充足 満足 無くても 仕方ない 当たり前 不満 本日の主なターゲット 2 参考: 「魅力的品質と当たり前品質」 狩野紀昭; 瀬楽信彦、高橋文夫、辻新一. 日本品質管理学会会報 品質 14(2), 147-156, 1984.
Copyright © NTT COMWARE CORPORATION 2021 自己紹介 3
Copyright © NTT COMWARE CORPORATION 2021 NTTコムウェア Agileエバンジェリスト 伊山 宗吉
(Iyama Muneyoshi) • 所属:技術企画部 技術SE部門 • 業務:社内のアジャイル推進 社内アジャイルコーチ(案件立ち上げ・改善の支援) Agileエバンジェリスト(2020年3月から) ミッション 1. アジャイル開発推進活動の牽引 2. 自社のプレゼンス向上 4
Copyright © NTT COMWARE CORPORATION 2021 主な業務 • 社内アジャイルコーチとして、スクラムチームを支援 •
アジャイルのための社内ルール整備 スクラムチーム (事業組織) アジャイルコーチ (推進組織) 総務人事、財務、 知財、など (機能別組織) 現場支援 ルール整備 お客様 研修提供、 立ち上げ併走、 改善アドバイス 課題相談 課題共有 &改善 5
Copyright © NTT COMWARE CORPORATION 2021 会社紹介 6
Copyright © NTT COMWARE CORPORATION 2021 NTTコムウェアについて NTTのソフトウェア部門が、ソフトウェア市場の多様化・拡大を背景に、 培った実力を活用し、社会に役立てることを目的に1997年 分社独立した。
NTT ソフトウェア本部 NTTコムウェア株式会社 NTT 通信ソフトウェア本部 通信ネットワークシステムの 設計・開発・運用 情報システム本部 NTTのビジネスプロセスを支えるシ ステムの設計・開発・運用 1997年 分社独立 7
Copyright © NTT COMWARE CORPORATION 2021 NTTコムウェアについて 役割 一般市場のお客様に対して NTTグループの一員として
ビジネスパートナー • 新規事業に関わる提案、ITを中心としたビジネス企画、 プロジェクト推進の支援 システムインテグレーター • お客様に合ったソリューション提供、システム開発、 運用、など NTTグループ全体のIT最適化 • 企画・提案、システム開発 NTTグループ事業会社のCIO補佐役 • ソリューション提案、プロジェクト推進の支援 システムインテグレーター • グループ各社への最適なソリューション提供、 システム開発、運用、など システム開発・サービス提供を中心にお客様のビジネス支援や NTTグループ全体最適をミッションとしている。 8
Copyright © NTT COMWARE CORPORATION 2021 NTTコムウェアの開発実績 国内最大の通信キャリア事業をITで支えてきた豊富な実績を持つ。 アジャイルに取り組むまではほぼ全てウォーターフォール開発だった。 交換機
ソフトウェア 設備監視 契約管理 顧客管理 料金請求 オーダー 管理 9
Copyright © NTT COMWARE CORPORATION 2021 SoE領域の拡大 お客様との協創ビジネス拡大、ならびにNTTグループのDX推進 のためのサービス開発にアジャイルで取り組んでいる。 2019年のAgile
Japan にてご紹介 栽培 管理 画像 認識 料金 PF 行動 提案 混雑 予測 弊社報道発表より 2021.04.08 2020.06.26 2018.11.22 2020.08.25 2020年のAgile Japan にてご紹介 収穫 最適化 2020.07.16 2018.10.16 10
Copyright © NTT COMWARE CORPORATION 2021 弊社のアジャイルの案件状況 2016年頃は数件だったが、年々 増加している。 11
2016 2021 アジャイル推進組織発足 現在 アジャイル開発案件数
Copyright © NTT COMWARE CORPORATION 2021 弊社での ウォーターフォール開発 における品質確保 12
Copyright © NTT COMWARE CORPORATION 2021 弊社での品質確保(ウォーターフォール) 自社の強みを活かしたノウハウ&仕組みによって 信頼性の高いシステムを開発してきた。 品質を担保する仕組み
各領域(AP, 基盤, 運用 など)の経験豊富な スペシャリスト率いる専門チームが作成&レビュー 開発ノウハウ 標準化された 作業手順、管理方法 過去の膨大な案件の生産管理データから、 プロセスを評価 提案 企画 要件定義 設計 実装 試験 サービス 開始 企画・ 提案書 要求 仕様書 設計書 会議 会議 報告書 会議 会議 報告書 会議 プログラム 試験項目 会議 類似システムで実績ある 設計、テスト仕様、 コーディング規約、 ソースコードなど 13
Copyright © NTT COMWARE CORPORATION 2021 その1.豊富なノウハウ活用 ノウハウを活用して作業のバラつきや品質低下を防止 ▪メリット •
メンバ変更があっても足並みを揃えられる • 実績のある設計やテストパターンの利用により、 コストを抑えて一定以上の品質確保が期待できる • 標準フレームワーク等に合わせた効率化や品質確 保のノウハウ、ツールを展開&活用できる 標準化された 作業手順、管理方法 類似システムで実績ある 設計、テスト仕様、 コーディング規約、 ソースコードなど 開発ノウハウ 14
Copyright © NTT COMWARE CORPORATION 2021 その2.スペシャリスト率いる専門チーム ▪メリット • 一定以上の品質確保が期待できる
• 豊富な経験からリスクを指摘できる • スペシャリストの指摘・指導を通じて メンバが成長できる 各領域(AP, 基盤, 運用 など)の 経験豊富なスペシャリスト率いる 専門チームが作成&レビュー 各領域のスペシャリストのスキルと経験による品質確保 スペシャリスト 専門チームメンバ 15
Copyright © NTT COMWARE CORPORATION 2021 その3.データ活用(類似案件データ) ▪メリット • テスト等の作業に対して
検出されたバグなどの量が、 類似案件のデータ集合と比較して大き く乖離している場合、 活動不足や、実施者のスキル不足など のリスクとして予兆検知することで、 強化テストなどの対策を取ることがで きる。 類似案件と比較してプロセスを評価 過去の膨大な案件の生産管理データ から、プロセスを評価 16
Copyright © NTT COMWARE CORPORATION 2021 弊社での品質確保(ウォーターフォール) 自社の強みを活かしたノウハウ&仕組みによって 信頼性の高いシステムを開発してきた。 品質を担保する仕組み
各領域(AP, 基盤, 運用 など)の経験豊富な スペシャリスト率いる専門チームが作成&レビュー 開発ノウハウ 標準化された 作業手順、管理方法 過去の膨大な案件の生産管理データから、 プロセスを評価 提案 企画 要件定義 設計 実装 試験 サービス 開始 企画・ 提案書 要求 仕様書 設計書 会議 会議 報告書 会議 会議 報告書 会議 プログラム 試験項目 会議 類似システムで実績ある 設計、テスト仕様、 コーディング規約、 ソースコードなど 17
Copyright © NTT COMWARE CORPORATION 2021 しかし、これらは ウォーターフォールを前提としたもの 18
Copyright © NTT COMWARE CORPORATION 2021 アジャイル開発 における課題と取り組み 19
Copyright © NTT COMWARE CORPORATION 2021 品質を担保する仕組み 各領域の経験豊富なスペシャリスト 率いる専門チームが作成&レビュー 開発ノウハウ
標準化された 作業手順、管理方法 過去の膨大な案件の生産管理データから、 プロセスを評価 提案 企画 要件定義 設計 実装 試験 サービス 開始 企画・ 提案書 要求 仕様書 設計書 会議 会議 報告書 会議 会議 報告書 会議 プログラム 試験項目 会議 類似システムで実績ある 設計、テスト仕様、 コーディング規約、 ソースコードなど アジャイル開発における弊社の課題 アジャイル開発とのギャップによる品質低下を防ぐことが必要 ノウハウ不足 (採用技術、コンテキストが多様 で横展開が難しい) 開発の進め方の 共通理解 (WFに代わる開発標準がない) 体制 (全てのチームへスペシャリスト の配置は困難) 統計データ不足 (作成物が変化し続けるため WFのデータとの比較評価が困難) 20
Copyright © NTT COMWARE CORPORATION 2021 品質を担保する仕組み 各領域の経験豊富なスペシャリスト 率いる専門チームが作成&レビュー 開発ノウハウ
標準化された 作業手順、管理方法 過去の膨大な案件の生産管理データから、 プロセスを評価 提案 企画 要件定義 設計 実装 試験 サービス 開始 企画・ 提案書 要求 仕様書 設計書 会議 会議 報告書 会議 会議 報告書 会議 プログラム 試験項目 会議 類似システムで実績ある 設計、テスト仕様、 コーディング規約、 ソースコードなど アジャイル開発における弊社の課題 ノウハウ不足 (採用技術、コンテキストが多様 で横展開が難しい) 体制 (全てのチームへスペシャリスト の配置は困難) 統計データ不足 (作成物が変化し続けるため WFのデータとの比較評価が困難) 21 開発の進め方の 共通理解 (WFに代わる開発標準がない) 開発の進め方の 共通理解 (WFに代わる開発標準がない)
Copyright © NTT COMWARE CORPORATION 2021 アジャイル開発用ガイド作成(1)共通認識の形成 「スクラムガイド」をベースにアジャイル開発用のガイドを作成 • 「スクラムガイド」上では説明が無く具体性に欠ける内容を補足
• 定義は最低限とし、現場での工夫の余地を残す • 工程完了判定ではなく、Doneの定義に基づく品質の作りこみ • 品質に関する独自の役割定義(次頁) 開発の進め方の共通認識を持つためのガイド 22
Copyright © NTT COMWARE CORPORATION 2021 アジャイル開発用ガイド作成(2)品質管理のロール定義 品質に関する懸念事項の透明性を確保し、継続的な改善を促す 新たな役割として「クオリティコントローラー」を独自に定義した。 QC
(クオリティコントローラー) PBL SM PO Dev 品質懸念(技術的負債など)の可視化 SBL 障害 リスト 例: • コードの複雑度が増加し続けている • 性能が少しずつ低下している • リグレッションテストのパターンが不十分で バグを見落とす可能性がある • POが多忙で、PBIの仕様確認や受け入れ確認に 時間がかかる(認識齟齬を生む可能性大) QC リスト • 品質状況を可視化し、チームに改善活動を促す (品質の責任はスクラムチーム全員が持つ) • テストや品質管理の経験者の参加を推奨 • スクラムの他のロールと兼務可 23
Copyright © NTT COMWARE CORPORATION 2021 アジャイル取り組み始めの頃は・・・ 意欲と技術力のあるメンバーとアジャイルコーチを揃えて 融通の利く社内案件を中心に小さく成功を重ねていった 24
初期 揃えて着手 技術力 改善意欲 プロダクト オーナーシップ チャレンジ 精神 有識者の支援 関係者の協力
Copyright © NTT COMWARE CORPORATION 2021 案件増加に伴う問題チームの発生 案件が増えることで、アジャイルコーチの支援が行き届かない、 あるいは経験や準備不十分にも関わらず独力で取り組むチームが増えた。 25
案件増加 技術力 改善意欲 プロダクト オーナーシップ チャレンジ 精神 有識者の支援 関係者の協力 色々と欠けた状態で 着手してしまい問題化
Copyright © NTT COMWARE CORPORATION 2021 問題チームの例 アジャイル開発に対する理解不足や誤解から、 当初の目的や計画が適切でなかったり、 開発中に適切な改善が進まず、問題が蓄積していた。
アジャイル開発なら早く完成して 追加要件にも対応できますよね! このままではリリースまでにバックログが消化できな いので、メンバーを増員して、分担して対応しよう 効果が低い/誤った改善 実現性の低い計画 26
Copyright © NTT COMWARE CORPORATION 2021 品質を担保する仕組み 各領域の経験豊富なスペシャリスト 率いる専門チームが作成&レビュー 開発ノウハウ
標準化された 作業手順、管理方法 過去の膨大な案件の生産管理データから、 プロセスを評価 提案 企画 要件定義 設計 実装 試験 サービス 開始 企画・ 提案書 要求 仕様書 設計書 会議 会議 報告書 会議 会議 報告書 会議 プログラム 試験項目 会議 類似システムで実績ある 設計、テスト仕様、 コーディング規約、 ソースコードなど アジャイル開発へのシフトにおける弊社の課題 ノウハウ不足 (採用技術、コンテキストが多様 で横展開が難しい) 開発の進め方の 共通理解 (WFに代わる開発標準がない) 体制 (全てのチームへスペシャリスト の配置は困難) 統計データ不足 (作成物が変化し続けるため WFのデータとの比較評価が困難) 経験者不足のチームが増える状況では、 チームの自主性や工夫を前提にした 開発ガイドだけでは不十分だった (※弊社の場合) 27
Copyright © NTT COMWARE CORPORATION 2021 プロセス改善の取り組み QC (クオリティコントローラー) PBL
SM PO Dev SBL 障害 リスト QC リスト チームとしてプロダクトの品質を高めるために 各タイミングで確認すべき事を整理し、展開する取り組みを実施。 現行のプロセスの課題は? チームの自己管理は? KPIの状況は? ユーザの反応は? ステークホルダ調整は? 現状の品質状況は? 何から改善する? バックログの優先順位は? 開発の状況は? 28
Copyright © NTT COMWARE CORPORATION 2021 プロセスのチェックポイントリストを作成(取り組み中) 経験差異からの品質低下を防ぐため、開発標準ガイドに加えて 各プロセスにおけるチェックポイントと理由を整理 メンバが自ら考えなくなるリスクを踏まえつつも、
まずは会社全体の課題への対策として取り組み 企画、開発準備、各種スクラムイベント、リリース など様々なタイミングごとに整理(計100項目超) 29
Copyright © NTT COMWARE CORPORATION 2021 プロセスのチェックポイントリストを作成(取り組み中) 30 意味の無いチェックリストにならないよう 現場メンバとの摺り合わせを実施
Copyright © NTT COMWARE CORPORATION 2021 現場メンバからのフィードバック 事業組織から現場でのアジャイル開発経験が豊富なメンバを集め、 チェックポイントのレビューを行ってブラッシュアップ 31
Copyright © NTT COMWARE CORPORATION 2021 品質を担保する仕組み 各領域の経験豊富なスペシャリスト 率いる専門チームが作成&レビュー 開発ノウハウ
標準化された 作業手順、管理方法 過去の膨大な案件の生産管理データから、 プロセスを評価 提案 企画 要件定義 設計 実装 試験 サービス 開始 企画・ 提案書 要求 仕様書 設計書 会議 会議 報告書 会議 会議 報告書 会議 プログラム 試験項目 会議 類似システムで実績ある 設計、テスト仕様、 コーディング規約、 ソースコードなど アジャイル開発における弊社の課題 ノウハウ不足 (採用技術、コンテキストが多様 で横展開が難しい) 開発の進め方の 共通理解 (WFに代わる開発標準がない) 体制 (全てのチームへスペシャリスト の配置は困難) 統計データ不足 (作成物が変化し続けるため WFのデータとの比較評価が困難) 32 ノウハウ不足 (採用技術、コンテキストが多様 で横展開が難しい)
Copyright © NTT COMWARE CORPORATION 2021 情報発信 33 私たち推進組織がアジャイルコーチの活動を通じて得てきた ノウハウをポータルサイトを通じて発信。
研修資料 各種テンプ レート イベント 模様紹介 ブログ
Copyright © NTT COMWARE CORPORATION 2021 ノウハウ共有の場づくり 34 各組織内ではアジャイル開発のノウハウがまだ少ないため、 組織横断で情報共有する場として『アジャイル推進連絡会』を発足。
(各組織でアジャイルを実践&牽引する立場のメンバーが中心) 案件概要 採用技術 適用した プラクティス 開発で生じた 問題・課題と対応 社内制度に対する 改善要望 アジャイル推進連絡会
Copyright © NTT COMWARE CORPORATION 2021 案件特化のノウハウ共有 35 案件ごとに特化したノウハウ共有は個別に実施。 (推進連絡会を通じて同じ採用技術の案件を見つけて連絡)
パブリッククラウド利用 (AWS, Azure, GCP, など) アーキテクチャ設計 (サーバレス、マイクロサービス、など) 設計、実装、テスト方法など SaaS利用 (Salesforce, ServiceNow, など) お客様対応 (NTTグループ、他)
Copyright © NTT COMWARE CORPORATION 2021 品質を担保する仕組み 各領域の経験豊富なスペシャリスト 率いる専門チームが作成&レビュー 開発ノウハウ
標準化された 作業手順、管理方法 過去の膨大な案件の生産管理データから、 プロセスを評価 提案 企画 要件定義 設計 実装 試験 サービス 開始 企画・ 提案書 要求 仕様書 設計書 会議 会議 報告書 会議 会議 報告書 会議 プログラム 試験項目 会議 類似システムで実績ある 設計、テスト仕様、 コーディング規約、 ソースコードなど アジャイル開発における弊社の課題 ノウハウ不足 (採用技術、コンテキストが多様 で横展開が難しい) 開発の進め方の 共通理解 (WFに代わる開発標準がない) 統計データ不足 (作成物が変化し続けるため WFのデータとの比較評価が困難) 36 体制 (全てのチームへスペシャリスト の配置は困難) 体制 (全てのチームへスペシャリスト の配置は困難)
Copyright © NTT COMWARE CORPORATION 2021 体制案(1) アジャイル開発でスペシャリストをアサインできない場合でも 高い品質を保つための仕組みを整備したい。 37
スペシャリスト チームメンバ TeamA TeamB TeamC TeamD : スクラムチーム スペシャリスト チームメンバ アプリケーション チーム 基盤チーム どのように アサインする?
Copyright © NTT COMWARE CORPORATION 2021 体制案(2) 各領域のスペシャリストはスクラムチームの中に入れるのではなく、 チーム外の支援者としてスキルトランスファーを中心に動く。 スクラムチームへアサインするメンバは多能工を目指したスキル転換が必要。
38 スペシャリスト 専門チームメンバ TeamA TeamB TeamC TeamD : スクラムチーム スペシャリスト 専門チームメンバ ⇒多能工人材への転換 TeamA TeamB TeamC TeamD : スクラムチーム 支援 次期スペシャリスト 候補 苦労しています・・・ 新しい技術や思想の キャッチアップも必要!
Copyright © NTT COMWARE CORPORATION 2021 品質確保のアプローチ 開発前にプロダクトが目指す品質を関係者と議論し、 合意内容をもとにチームのDoneの定義や開発ルールを作成する。 この際に、各領域のスペシャリストの協力を得て要求・設計・テストの
実施および確認方法の方針を作成することで品質の確保を図る。 設計方針 テスト方針 全ての要求に対して • 確認すべき仕様 • 考慮すべき設計 • 実施するべきテスト(&自動化) そのプロダクトでの 作業方針 チームでの方針を立てることで 作業のバラつきを防ぎ、品質を確保する 39 目指す品質の 全体像 各領域の スペシャリスト の協力
Copyright © NTT COMWARE CORPORATION 2021 イメージ:スペシャリストによる方針作成支援 共通的なテスト方針が、 テスト設計およびテスト項目レビュー時の 観点になる。(①)
どのように品質を確認するか 全体方針(開発前に合意) • テスト方法 • 各種テスト(※1) の観点・バリエーション、など(※2) • 非機能要件 • 性能など(機能やストーリー単位で設定する場合もある) • リグレッションテストの範囲 • 何をどこまでやるか、自動化するか、 そのためのコストが許容されるか、など • 作成するドキュメント類 • 誰に向けて、何をいつまでに作成するか ストーリーごとの受入基準(開発中に個別に具体化) • 受入基準 具体的なテスト設計のInputになる。(②) プロセス 入力 出力 (設計思想・テスト観点、など) (設計書、プログラム、 テスト項目、など) (個別要件、など) ②受入基準 ⇩ ①全体方針 ⇩ <確認・合意内容の影響イメージ> 40 方針作成を支援 方針に基づいて 開発実施 定期的に状況確認 支援&アドバイス スペシャリスト スクラムチーム 方針作成
Copyright © NTT COMWARE CORPORATION 2021 品質を担保する仕組み 各領域の経験豊富なスペシャリスト 率いる専門チームが作成&レビュー 開発ノウハウ
標準化された 作業手順、管理方法 過去の膨大な案件の生産管理データから、 プロセスを評価 提案 企画 要件定義 設計 実装 試験 サービス 開始 企画・ 提案書 要求 仕様書 設計書 会議 会議 報告書 会議 会議 報告書 会議 プログラム 試験項目 会議 類似システムで実績ある 設計、テスト仕様、 コーディング規約、 ソースコードなど アジャイル開発における弊社の課題 ノウハウ不足 (採用技術、コンテキストが多様 で横展開が難しい) 開発の進め方の 共通理解 (WFに代わる開発標準がない) 体制 (全てのチームへスペシャリスト の配置は困難) 41 統計データ不足 (作成物が変化し続けるため WFのデータとの比較評価が困難) 統計データ不足 (作成物が変化し続けるため WFのデータとの比較評価が困難)
Copyright © NTT COMWARE CORPORATION 2021 従来のWFベースのデータ評価がフィットしない理由(1) Agile WF 要件
設計 試験 リスク 実装 時間 リスク 時間 「動くソフトウェア」の実現アプローチ • 故障検出数 ⇒ 時系列で収束が確認できる • 試験密度、故障密度 ⇒ WFの類似案件と比較される • 故障検出数 ⇒ 短期間で収束が確認できない • 試験密度、故障密度 ⇒ WFの案件と比較は困難 開発終盤に動作確認 短期に動作確認しながら進む 最後に統合して試験 優先順に開発 都度、統合して試験&バグは即修正 WFとアジャイルではソフトウェアの動作検証のタイミングや頻度が 異なるため、WFで工程完了判定やリリース判定に用いていた 数値やグラフとの共通性を見出して比較評価するのは困難。 42
Copyright © NTT COMWARE CORPORATION 2021 従来のWFベースのデータ評価がフィットしない理由(2) 例:信頼度成長曲線(バグ収束曲線、ゴンペルツ曲線) 信頼度成長曲線の例では、以下のようにグラフの傾向が異なる。 要件
設計 テスト 実装 バグが収束したと 判断できる。 類似案件の実績 データと比較して 品質に問題は無い。 バグの収束傾向が 見えない。 でもテストは全て 合格しているし 品質は問題ない? 経過時間 累 積 バ グ 件 数 経過時間 累 積 バ グ 件 数 Agile WF 43
Copyright © NTT COMWARE CORPORATION 2021 アジャイルでの品質評価はどう行う?(1) アジャイル開発では他案件の統計データと比較が困難。 ただし、自身のチームの各反復は類似性があるので、 過去の自チームと比較することは有効。
44 参考:坂田晶紀 株式会社富士通ソフトウェアテクノロジーズ「アジャイル開発への統計的品質管理の応用」 https://www.slideshare.net/sakataakinori/xp2019-b6(2019/9/29) 設計 実装 テスト 過去案件1 設計 実装 テスト 過去案件2 設計 実装 テスト 過去案件n : : 比較データ:過去類似案件 比較データ:過去類似案件 反復1 反復型開発 反復2 反復3 WF:「過去」の「他人」のPJと類似性あり Agile:「反復」による「自身」との類似性あり 強い類似性 定量的データを工程毎に統計処理 指摘数 Doc数 行数 レビュー時間 不具合 テスト数 バグ数 ,etc. 指標 (標準値)
Copyright © NTT COMWARE CORPORATION 2021 アジャイルでの品質評価はどう行う?(2) チームの品質管理データを継続的に収集することで、品質低下の予兆検知や 問題発生時の原因分析に活用できると考え、データ収集と可視化に取り組み中。 45
マージ前に コードの品質を検査 技術的負債のある 箇所を特定する 問題箇所を 修正する マージ前に品質検査を行い、結果を通知することで 品質の低いコードが本流へ混入されることを防止 品質的なリスクを抱えている箇所を定量的に 把握し、効果的な対策を講じることが可能 リポジトリ マージ毎のコード品質を グラフで確認 技術的負債があるファイルを 分布図で表示 gitlab上で結果通知 仮マージデータを利用した シミュレート表示 実施した対策の改善効果を定量的に確認可能 プラットフォーム、ツール群が チームによって異なるため簡単ではない・・・
Copyright © NTT COMWARE CORPORATION 2021 参考:データ取得対象 46 「SQuaRE(スクウェア)」はシステム及びソフトウェア製品の 品質要求および評価に関するISO/IECの国際規格である。
「製品品質」モデルに関するデータの収集、活用に取り組み中。 製品品質 機能適合性 性能効率性 互換性 使用性 信頼性 セキュリティ 保守性 移植性 性能効率性 資源効率性 容量満足性 共存性 適切度認識性 成熟性 機密性 モジュール性 適応性 相互運用性 習得性 可用性 インテグリティ 再利用性 設置性 機能完全性 機能正確性 機能適切性 運用操作性 障害許容性 (耐故障性) 否認防止性 解析性 置換性 ユーザエラー 防止性 回復性 責任追跡性 修正性 ユーザインタ フェース快美性 真正性 試験性 アクセシビリティ 利用時の品質 有効性 有効性 効率性 満足性 リスク回避性 利用状況網羅性 効率性 実用性 利用状況完全性 経済リスク緩和性 信用性 柔軟性 健康・安全リスク緩和性 快感性 環境リスク緩和性 快適性 特性 データ品質 固有 システム依存 正確性 〇 完全性 〇 一貫性 〇 信憑性 〇 最新性 〇 アクセシビリティ 〇 〇 標準適合性 〇 〇 機密性 〇 〇 効率性 〇 〇 精度 〇 〇 追跡可能性 〇 〇 理解性 〇 〇 可用性 〇 移植性 〇 回復性 〇 データ品質 出展:IPA 「つながる世界のソフトウェア品質ガイド」 https://www.ipa.go.jp/sec/reports/20150609.html (2020/11/20) 特にこのモデル
Copyright © NTT COMWARE CORPORATION 2021 アジャイル開発におけるデータ活用 蓄積したデータは今後、チーム横断での分析評価も行う。 47 データ集約環境
DB DB ・・・ DB チーム横断のデータ分析 ・・・など 多案件データ群に おける自チーム データの妥当性確認 特定コンテキスト におけるデータの 集合や傾向の確認 チーム横断のデータ群から 品質評価に資する 知見獲得を図る 適正値の定義は難しくとも、データの相関関係や傾向を見出し、 問題の予兆検知等に役立てて自社の強みとしたい。
Copyright © NTT COMWARE CORPORATION 2021 まとめ 48
Copyright © NTT COMWARE CORPORATION 2021 課題と対応状況 49 標準ガイド +
プロセスチェックポイント(+ アジャイルコーチによる支援) 開発の進め方の 共通理解 (WFに代わる開発標準がない) ノウハウ不足 (採用技術、コンテキストが多様 で横展開が難しい) 体制 (全てのチームへスペシャリスト の配置は困難) 統計データ不足 (作成物が変化し続けるため WFのデータとの比較評価が困難) ポータルサイトで情報発信 + 組織横断の連絡会を通じてノウハウ共有 スキル転換、スキルトランスファー + スペシャリストと開発の各種方針作成 自チームの品質可視化&改善 + チーム横断のデータ活用
Copyright © NTT COMWARE CORPORATION 2021 私たちのQuality Journeyは続いていきます 是非、皆さんの取り組みも聞かせてください 50
Copyright © NTT COMWARE CORPORATION 2021 ご清聴ありがとうございました 51
Copyright © NTT COMWARE CORPORATION 2021 52 ※ 「LIKEUP」、「Deeptector」、「Smart Billing」は、NTTコムウェア株式会社の登録商標です。
※ 「BLOF」、「BLOFware」は、株式会社ジャパンバイオファームの登録商標です。 ※ 「Techno Farm」は、株式会社スプレッドの登録商標です。 ※ その他の記載されている社名、商品名などは各社の商標または登録商標である場合があります。