全ステークホールダがソフトウエアを計画通りにアジャイル実行できる基本プロセスが必要です。

エンジニアが個人作業をマネジするための基本プロセスをPSPプロセス、開発プロジェクトチームや管理者が”開発をマネジする”ための基本プロセスをTSPプロセスと呼びます(注1)。

この基本プロセスは”ソフトウエア開発マネジメント”にフォーカスする一方で、デザイン思考、SCRUMやXPなどのアジャイル手法(注3)、OOA/OOD、Story Mapping、シナリオベース開発、SA/SD、テストファーストなど開発プロセスやエンジニアリング手法やテスト手法のどれを採用して基本プロセスに組み入れることができます。

要求を満たす高品質ソフトウエアを生成できるエンジニアを育成します。

このようなエンジニアは次の4つの基本原理とプロセスを実行します:

- 測定プロセス:プロセス活動と成果物の測定記録と分析を実施する
- 計画立案プロセス:要求から得られた基本機能構造(概念設計)の開発計画立案を行う
- 開発プロセス:要求分析からテストまでのエンジニアリングを実行する
- 品質プロセス:品質計画を作成し追跡する。不具合検知と根本原因を解決する、等
- 改善プロセス:プロセスや品質の改善策を同定しプロセスに反映する、等

これらの5つのプロセスは実際は互いに入り組みながら実行されます。その中でも、要求からシンプルで最適な概念設計を探る方法、実績値と大きくは乖離しない値を生成する見積もり手法、および、一貫して高品質を達成する原理を修得できることは重要です。

誰もがこれらの基礎スキルを身に付けることができます。このエンジニアを”自律エンジニア”あるいは”PSPエンジニア”と呼び、リモートからでも開発の仕事に参加できます。

このPSPトレーニングクラスのフィードバックとクラスデータの抜粋です(注4):

- 必要機能の見落としが無くなった
- 規模と工数の見積もり精度が90%に近いことを示した
- 設計やコードの規律あるレビューによりテスト欠陥密度を約1/5以下に低下できた
- 計画立案~単体テスト間の生産性はトレーニングを通して概ね変わらなかった

上級管理者が開発プロジェクトの立ち上げに積極的に係わり、PSPエンジニアがプロジェクト計画立案の作業を分担して行ってチーム構築を行うことで、ソフトウエア開発マネジメントの信頼を高めます。

1. 上級管理者がエンジニアにビジネスニーズや開発目標やチャレンジを最初の立ち上げミーティングで説明し、質疑応答を通して、エンジニアの理解と期待を確実にする
2. PSPエンジニアのチームがワークショップを開き、達成可能なプロジェクト計画を作成し、開発依頼者へ提案し、調整や交渉を経て承認を得る
3. PSPエンジニアが自ら協力関係をチーム内に構築する:

- 要求やシステムを理解しているエンジニアのリーダシップの下で、チームが最適な基本機能とその構造(概念設計) を特定する作業を行う
- 計画立案が得意なエンジニアのリーダシップの下で、チームメンバーが分担してチームの計画立案を行い、作業フェーズでは、測定、予測、モニターを行い、異常を特定し解決する
- 設計やテストに精通したエンジニアのリーダシップの下で、設計に強いエンジニアが他のエンジニアへの支援を提供、「不良設計やコード」をテスト前に解決する、等々

上級管理者や管理者やチームリーダが自律チームの動機づけを通してチームマネジメントを確実に行います。

- チーム構築時に、開発プロジェクトがどのように重要か、エンジニアにどのような支援と成長を期待しているかを説明して、その対策と支援をチーム計画に明示するよう指示する
- 定期的/非定期的にマネジメントレビューを行う/実行する
- (チームリーダ)チームミーティングなどで、プロジェクト目標の達成状況を評価し、不足部分についてはチームメンバーへの支援や解決策を計画する、等々。

上記を組織内に定着させるために、PSPインストラクターやTSPコーチを育成します。

PSPインストラクターはエンジニアや上級管理者向けにPSPトレーニングやセミナーを提供します。TSPコーチはTSPチームにコーチングを提供します。これにより、プロジェクトが増えても、PSPエンジニアをタイムリーに育成し、TSPチームへのコーチングも十分に提供可能になります。

以下は、エンジニアやチームや管理者等からのフィードバック例(注2)です:

• チーム内での協力が良く、期待以上にプロジェクトに貢献できた
• 上級管理者やお客様の要望を聴く機会があり、要求への素早い対応ができた
• テストコストを最大80%削減し、また、生産性を25%以上向上させた。
• 実コストと実スケジュールを見積もり値の±5%以内に収めた
• TSPチームのAgilityがSCRUMや他のAgile手法より高い(注5)
• 自律チーム構築がソフトウエアビジネスに必要であることを理解できた
• 現行に対してTSP導入による初期の生産性が約25%向上した


TSPコースの受講順序

図-1は、自律チームとTSPプロジェクトを実現するまでに選択可能なコース例です。( )内の数はコース日数を表します。始めに、上級管理者や管理者の皆さまに「E1上級管理者のためのTSP戦略セミナー」を受講いただき、PSP/TSP導入の効果や戦略をご確認いただくことができます。

更に、組織にとって重要な「PSPインストラクタートレーニング」と「TSPコーチトレーニング」をご提供いたします。これで、組織あるいは開発パートナーが社内のPSPインストラクターとTSPコーチを育成して、多くのPSPエンジニアと自律チームを実現することが可能になります。但し、初回のトレーニングを外部の認定インストラクターやコーチから受けることで、TSP導入の期間短縮と、トレーニングやコーチングのKnow-Howを効果的に修得できます。詳しくは、「TSPコースご紹介」ページをご覧ください。

図1―PSP/TSPコースの受講順序

 

戻る□

(注1) PSP/TSP (パーソナルソフトウエアプロセス/チームソフトウエアプロセス)は、Software CMMの提唱者 Watts S. Humphrey博士がリードして開発・検証を行い2001年に発表しました。これをボーイング社やマイクロソフト社など多くの企業が実証し、この功績に対して、2009年に米国大統領からHumphrey氏にthe National Medal of Technologyを授与されました(Carnegie Mellon Software Engineering Institute’s Watts Humphrey Awarded Prestigious National Medal of Technology (cmu.edu))。 CMM、PSP、TSPは米国カーネギーメロン大学のサービスマークです。

(注2)CMU/SEI主催TSP Symposium報告(2006年〜2014年)、日本でのTSPユーザのチームも同等の成果を得ています。また、大学院学生が実施するTSPプロジェクトも同様です。

(注3) アジャイル手法はソフトウエアデリバリーへの反復的アプローチです。プロジェクト開始から段階的にソフトウエアを構築して配信します。https://www.sei.cmu.edu/our-work/agile

(注4) クラスデータとは、1クラスの受講者のデータの平均、最大/最小、四分位などの統計データです。特定のエンジニアのデータではありません。

(注5) Caper Jones, Software Engineering Best Practices: Lessons from Successful Projects in the Top Companies, 2009/05, McGraw-Hill Education


Copyright ©2022-2024 Next Process Institute Ltd.