TQMを活用した開発プロセスの品質向上事例

# :point_up:はじめに

開発プロセスの品質を向上させたいと考えているものの、「どこから手をつければ良いかわからない」「改善策が思いつかない」と悩んでいませんか？
プロセス品質の向上は業務の効率化や納期の遵守、さらには顧客満足度の向上にも直結する重要なテーマです。しかし、適切なアプローチを取らなければ期待する成果を得ることは難しいかもしれません。

本記事では、開発プロセスの継続的改善を目指す方に向けて、TQM（Total Quality Management）を活用した品質向上のアプローチ事例をご紹介します。特に、ソフトウェア開発におけるプロセス改善を検討している方向けに、ISOなどの国際的な規格やプラクティスとも比較しながら具体的な進め方を解説します。

品質改善の第一歩として現状の課題を整理し、解決への道筋を一緒に見ていきましょう！

# :rolling_eyes:TQMとは？

**TQM（Total Quality Management、総合的品質管理）** は、組織全体で品質を管理し、継続的な改善を通じて顧客満足を最大化することを目指すアプローチです。ただの品質管理や品質保証ではなく、組織全体のプロセス、文化、戦略に品質へのコミットメントを統合する点が特徴です。

TQMは戦後の日本で育まれた品質管理手法であり、主に製造業の発展に大きく貢献しました。 特に日本的TQMは世界的に高く評価されています。
一方、ソフトウェア開発分野ではTQMの普及は限定的です。 Qiitaでも関連する投稿がない現状がそれを物語っています。

しかし、TQMの考え方は「品質を組織全体で管理し、継続的に改善する」ことであり、この原則はアジャイル開発やDevOpsと親和性が高いと考えます。
品質保証を『**お客様が安心して使っていただけるような、製品を提供するためのすべての活動**』と定義する日本独自の視点は、TQMを再評価し、新しい分野に応用するための大きなヒントになるはずです。

## :large_orange_diamond:SQuaREシリーズとの違い

ソフトウェア開発で用いられる一般的な品質向上アプローチとしては、SQuaREシリーズ（ISO/IEC 25000ファミリー）が有名です。SQuaREシリーズは、ソフトウェアやシステムの品質要件を定義し、それを評価するための国際規格群であり、具体的な製品品質やプロセス評価に重点を置いています。

一方、TQM（Total Quality Management）は、組織全体の品質文化を向上させることを目的とした包括的なアプローチです。TQMとSQuaREシリーズは、どちらも品質向上を目指していますが、目的、適用範囲、方法論において明確な違いがあります。

今回はこの3つの観点から両者の違いを比較していきます。

### 1. 目的の違い

**TQM：**
TQMは組織全体で品質を管理し、顧客満足を最大化することを目的としています。製品やサービスに限らず、組織のプロセス、文化、戦略全体を対象にした「包括的な品質管理」のアプローチです。対象は製造業からサービス業、ソフトウェア開発に至るまで幅広く、組織全体で継続的な改善を進めることを重視します。

**SQuaREシリーズ：**
一方、SQuaREシリーズは、特にソフトウェアおよびシステムの品質に特化しています。品質要件の定義や評価の枠組みを提供し、ソフトウェアやシステムが特定の要件を満たしているかどうかを客観的に評価することを目的としています。ISO/IEC 25010（品質モデル）を中心に、品質特性（機能性、性能効率性、使用性など）を体系的に整理しています。

### 2. 適用範囲の違い

**TQM：**
適用範囲は非常に広く、組織全体のあらゆる活動が対象となります。品質だけでなく、経営戦略や従業員満足、顧客対応といった非技術的な側面も含めて全体を最適化しようとする点が特徴です。

**SQuaREシリーズ：**
適用範囲は主にソフトウェアやシステムに限定されています。システムやソフトウェアの設計・開発・運用における品質要件を明確にし、それを基準として評価するために使用されます。そのため、特にITシステム開発プロジェクトやソフトウェア製品に適しています。

### 3. 方法論の違い

**TQM：**
TQMは、「PDCA（Plan-Do-Check-Act）サイクル」や「Kaizen（改善活動）」など、継続的改善を進めるための方法論を中核に据えています。部門横断型のプロジェクトチームを編成したり、従業員全員が改善活動に参加する仕組みを構築することが重視されます。

**SQuaREシリーズ：**
SQuaREシリーズでは、品質モデル（ISO/IEC 25010）をベースに、具体的な品質特性と評価基準を定めます。たとえば、システムの性能効率性を評価する際には、応答時間やスループットなどの具体的な測定指標を活用します。また、ISO/IEC 25040（評価プロセスモデル）を用いて品質評価を計画し、実施する手順を体系化します。

### TQMとSQuaREシリーズの比較表
|項目|TQM|SQuaRE|
|---|---|---|
|目的|組織全体の品質文化を向上し、継続的な改善を推進|ソフトウェアやシステムの品質を定義・評価するための国際規格|
|適用範囲|製造業、サービス業、ソフトウェア開発など幅広い分野|ソフトウェアおよびシステム開発に特化|
|方法論|PDCAサイクルやKaizen活動、QCサークルを活用した継続的改善|ISO/IEC 25010の品質特性やISO/IEC 25040の評価プロセスを活用|
|主な活用例|顧客満足度向上、開発プロセス改善|ソフトウェアやシステムの品質評価、製品品質の測定|

TQMはソフトウェア開発分野での認知度が比較的低いものの、ソフトウェア開発における品質課題を可視化し、継続的な改善を進めるためのアプローチとして有効です。

Schooでは開発プロセスの品質向上を目的としてTQMの手法を取り入れました。どのように適用したのか、事例を紹介します。

## :writing_hand:Schooでの活用事例
TQMの手法の一つに特性要因図というものがあります。
特性要因図（Cause and Effect Diagram）は、問題（特性）とその原因（要因）の関係を整理し、視覚的に表現するための図です。形が魚の骨（フィッシュボーン）に似ていることから、**フィッシュボーン・ダイアグラム**とも呼ばれます。

Schooでは、この特性要因図を活用して、QA活動の中で発生した課題を整理しました。具体的には、『期限までに全範囲の（リグレッション）テストが完了しない』という問題に対し、特性要因図を用いて分析し、根本原因を特定しました。

![テスト完了遅延の特性要因図。テスター不足やテストケースの無駄・未レビュー、コミュニケーション不足、マネジメント不足などが課題として挙げられている。](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3875970/17f0317f-0798-d09c-ac18-a8cfae7f3bed.png)

この分析を通じて、『テストケースが最新化されていない』や『不具合のトレーサビリティが取れていない』といった具体的な課題が浮き彫りになりました。それぞれの原因に対して、テストケースの整理やBTSの整備などの施策を講じることで、効率的なリグレッションテストの実施につなげることができました！

## :dart:まとめ
本記事では、品質改善の重要性と、TQMとSQuaREシリーズの違いを整理し、企業での活用事例を紹介しました。

TQMは**組織全体の品質文化を向上させる**包括的なアプローチであり、継続的な改善を重視します。一方、SQuaREシリーズは**ソフトウェアやシステムの品質要件を定義・評価する**ためのフレームワークであり、定量的な品質測定に特化しています。

もし「どこから始めればよいかわからない」という場合は、まずは現状の品質課題を整理し、PDCAサイクルを取り入れた改善を試してみましょう。
- 開発プロセスのボトルネックを特性要因図で可視化する
- QAチームでKaizen活動を始めてみる

こうした小さな改善の積み重ねが、大きな品質向上につながります！
本記事で紹介したTQMをきっかけに、より効果的な品質向上のアプローチを実践してみてください！

---
Schooでは一緒に働く仲間を募集しています！

https://corp.schoo.jp/careers/graduates

https://corp.schoo.jp/careers