PSPとTSPの概要を以下に述べます。
PSP は、Watts S. Humphreyにより開発されたソフトウェア技術者のための自己改善のプロセスです。その基本的な考え方は、ものづくりにおける品質改善手法と類似している点が多いです。ただし、ソフトウェア開発は、ソフトウェア技術者が自身の開発プロセスを自律的に管理せざるを得ない知識集約型の労働であることから、個人のスキルや規律に重点が置かれています。
下図は、PSPにおけるプロセスの発展、およびPSPとTSPとの関係を示したものです[TSPiガイドブック]。PSP0、PSP0.1においては、欠陥記録、時間記録、規模測定、改善提案、およびこれらを確実に実施できる規律の重要性を学びます。PSP1、PSP1.1においては、要求の実現に必要な部品の同定と、これに基づく規模と時間の見積り、開発計画と進捗追跡を学びます。PSP2、PSP2.1においては、品質見積りと品質計画、設計とコードのレビュー、ならびに設計テンプレートを用いた設計と検証を学びます。
SEI認定のPSPトレーニングコースであるPSP for Engineersは、PSP Part I: Planning(PSP0〜PSP1.1、以下PSP-Planning)とPSP Part II: Quality(PSP2〜PSP2.1、以下PSP-Quality)の2つのコース(各5日間)からなります。各コースは、午前中の講義の後に演習課題が与えられ、最終日にはレポート課題が課されます。受講者は、この演習課題の実施を通じて、欠陥記録等の履歴データに基づいて自身の問題点を定量的に分析し、改善方法を定め、その実施結果から改善効果を確認することができます。
TSPは、PSPを修得した技術者から構成される自律的なチーム作りと、そのようなチームによる高品質ソフトウェア開発を誘導する枠組みです。ここで自律的なチームとは、顧客要求を満たすチームゴールの設定、それを達成できる開発戦略と計画の立案、その遂行の計測と追跡をチーム自ら実施できることを言いいます。TSPには、プロジェクトの重要なプロセスの一つとして立ち上げ(Launch)があります。立ち上げは、メンバ間でゴールや責任を共有して結束力を高めることにより、自律チーム作りを支援するプロセスです。下図に立ち上げプロセスの概要を示します[TSPiガイドブック:リーダー編]。この立ち上げにおいて、チームゴールを設定し、実施可能な開発計画や品質計画を作成できるのは、各メンバの生産性等に関する定量的なデータがPSPを通じて揃っているからに他なりません。
|