テスティングからクオリティエンジニアリングへの変革の必要性
タフリン ラモス
Quality | Innovation | Collaboration | Passion

自己紹介• Planit（プラニット）クオリティエンジニアリング部門のプラクティスディレクター
• 20年以上のIT業界での経験のうち、17年以上をソフトウェアクオリティ・テスティングスペシャリストとして活動• 国際標準（ISO & IEEE）のリーダー、および編集を担当• ソフトウェアテスティングの博士号• 専門領域は、ソフトウェアエンジニアリング、および開発

タフリン ラモス博士
グローバル・プラクティス・ディレクター
クオリティエンジニアリング&アシュアランス

Planitは、グローバルクオリティエンジニアリング企業
高い専門性

標準化、テンプレート

研修サービス

各サービスに特化した専任チーム

ツールスペシャリスト、パートナーシップ

プラットフォームサービスの深い知見

クオリティ
エンジニアリング

テスト自動化エンジニアリング

パフォーマンス
エンジニアリング

DevOpsエンタープライズ
デジタル
アジリティ トランスフォーメーション

セキュリティ

最適化

クオリティとは「クオリティは、エンジニアでもなく、マーケティング担当者でも、経営者でもなく、顧客が判断するものである。

クオリティとは、実際に製品やサービスを利用したときの顧客の体験に基づくものであり、顧客の要求（明示されているか否か、意識的か感覚的か、技術的に操作可能か完全に主観的か）に照らして評価され、競争市場において、その目標は常に変化するものである。」

Dr. Armand. V. Feigenbaum
Total Quality Control, 1983

テスティングの課題• テスティングは、（品質を作り込む）開発の後にしか実施できない• テスティングは、品質の良し悪しを測ることはできるが、テスティング自体が品質を上げるわけではない• 欠陥が見つかった場合、コーディングの修正が必要となり、開発コストが増加する• テスティングは、納期を遅延させる要因と見なされることが多い• 品質を作り込むために、何が出来るのか？

クオリティエンジニアリング

クオリティアシュアランス

テスティングクオリティエンジニアリングへの進化
プロジェクト全体で品質を作り込み、開発ライフサイクルを最適化。早い段階から品質の組み込みを繰り返すことで、顧客体験を向上させることができ、ビジネスリスクも削減

プロダクトの品質、および開発ライフサイクルを評価し、継続的に改善

要件どおりに作られていることの確認、およびエンドユーザーによる、期待どおりに動作することの確認

クオリティエンジニアリング

クオリティ
アシュアランス

テスティングテスティング•••

テスト設計と実行
環境構築とデータ管理
障害管理
•
•

テスト戦略と計画

運用
メンテナンス

機能テスト&非機能テスト

手動&自動テスト

スクリプト&探索テスト

クオリティ

セキュリティ

信頼性
反復テスト

エンドユーザの関与

テストプロセス改善

リリース後検証クオリティエンジニアリング
••
•
•

•
•
•
•
•
•

要件定義のレビュー
品質戦略と計画
リスク評価
開発ライフサイクル設計

リスクベースドテスティング
テスト設計と実行
環境構築とデータ管理
障害管理
ユーザービリティテスティング
耐障害テスト

運用
本番稼働確認
頻繁なフィードバック
根本原因の分析
サポート＆メンテナンス

••
•
•
•

クオリティの定義

シフトレフト＆ライト

自動化＆再利用可能な資産

クオリティ

セキュリティ

信頼性
ベンダー
コントロール

ビジネス
エンゲージメント

••
•
•
•
•

ユーザー中心設計
設計、構造、およびコードのレビュー
コーディング規約、バージョン管理
ペアプログラミング
TDD、BDD
静的および動的解析•••

開発ライフサイクルの最適化
ベンダーマネージメント
監査••

リリース計画レビュービルド、リリース管理

クオリティエンジニアの役割• アプリケーション、テクノロジー、およびコンサルティングの能力を兼ね備えている• ソフトウェア開発ライフサイクルにクオリティエンジニアリングを適用し、品質を組み込む• クオリティアシュアランス、およびテスティングを、いつ、どこで、どのように活用するか導く• プロジェクト全体の品質対策をリードし、品質計画を作成する（テスト計画に留まらない）• さまざまなツール、手法、数値指標を活用し、品質に最適なプロセスを設計する

クオリティエンジニアリングの独立性のメリット• 品質に対する公平な視点• より多くの欠陥を、より早く検知• 早期にテスト設計を推進• ビジネスアナリスト、アーキテクト、その他のエンジニアは、要件定義や設計に専念可能• ビジネスアジリティの向上と、納期短縮の実
現リスクベースドテスティング• すべての機能を、同じ優先度、同じ密度でテストした場合、リリースまでに時間がかかり、コストも膨らむ• クオリティエンジニアリングは、リスクを軽減しながら、早期のリリースを目指す✓ 品質リスク評価を行い、障害発生時のソフトウェアの信頼性やビジネスへのインパクトを分析✓ テストの優先度を調整し、テストの密度や投下するコストをリスクに見合ったレベルに設定✓ 適正なバランスでテストを行うことで、リスクを軽減しながら、合意したテストカバレッジとコストを達成
脅威（影響度）
低最大発
生
確率

高
中
低中

高

最大中
中
適度に投資
中
中

高 High 致命的集中的に投資
QA& Testing
Investment
高高

低低
投資を縮小
低低中
中
適度に投資
中
中

品質リスクのガバナンス• リスク、および対応策は、組織内の適切な責任者によるレビュー・承認が必要

リスク
レベル

共有・承認レベル• 重大、高リスクについては、起こりうる事業への影響を踏まえて、しかるべき対策が必要

重大リスクと対応策を、経営層でレビュー、承認した上で、取締役会にて共有• 本番リリースまでに、全てのリスクを解消できる
わけではない。本番運用後のリスク顕在化（例えば障害発生）に備えて、事前に対処手順の整備や、コンティンジェンシープランが必要

高

リスクと対応策を、ステアリングコミッティでレビュー、承認

中

リスクと対応策を、プログラムレベルでレビュー、承認

低リスクを、プロジェクトまたはチームレベルで対応• 納期短縮を目指すプロジェクトへ適用

シフトレフトによるコスト改善
30倍
欠陥修正コスト
理想的な品質対策コスト

15倍

10倍
5倍
1倍
要件定義

製造

連結テスト

受入テスト

参考： Cost of Defect Repair https://www.nist.gov/ with example of more ideal cost of quality

リリース後シフトレフトを実践すべき理由
対応事項

欠陥除去の効率5• 17%のプロジェクトで事業存続が危ぶまれている 2

自動静的分析

87%• プロジェクトの失敗を経験した企業の39%が、その主な原因に要件定義の不備を挙げている（2018年では3位、2017年では2位）3

要件定義レビュー85%

設計レビュー80%

ペアプログラミング

75%

非公式ペアレビュー

40%

システムテスト

40%

単体テスト

35%

リグレッションテスト

30%•19%のプロジェクトが失敗している 1• システム開発コストの41%は、不完全な要件定義のために費やされている4

工程

上流

随時

下流

参考:

1. https://www.standishgroup.com/
2. https://www.mckinsey.com/business-functions/mckinsey-digital/our-insights/delivering-large-scale-it-projects-on-time-on-budget-and-on-value
3. PMI, Pulse of the Profession, 2018
4. https://www.zdnet.com/article/study-68-percent-of-it-projects-fail/
5. Capers Jones, Software Engineering Best Practices

まとめ• クオリティエンジニアリングは、品質を作り込み、早い段階から品質の組み込みを繰り返すことで、品質保証のためのコストを削減し、納期短縮を実現させることができる• クオリティエンジニアリングのスキルを持ったエンジニ
アは、ソフトウェア品質の向上と、納期短縮の要となり、企業にとって、ビジネスに好影響をもたらす、大きな人的資源となるクオリティエンジニアリング

クオリティアシュアランス

テスティング

Planitの強み• デジタルトランスフォーメーション、およびプロセス最適化の実績• 柔軟な対応と、早期の価値提供• テスティング、およびクオリティエンジニアリングにおける幅広い対応• 効果を確実に実現• クオリティエンジニアリングに関する深い知識と、高い能力• 多くの機能と幅広い分野に対応したSDET• お客様中心主義により、長期的な信頼関係を構築• 継続的な品質改善の実践

QualityInnovation

Collaboration

Passionwww.planittesting.com

AU:
1300 992 967
infoau@planittesting.com

NZ:
0800 752 648
infonz@planittesting.com

UK:+44 118 403 2619
infouk@planittesting.com

IN:+91 40 6635 9555
infoin@planittesting.com