概要
- テストのために最適化されたチームはどのように作ることができるか?
- よいコミュニケーションの方法とは?
チームのあるべき姿とは
- 前提として、完璧なチームメンバを採用できることはほぼない。さらに、 たとえ現在のプロジェクトに良いチームを採用できたとしても、プロジェクトが変わるとスキルセットが合わない可能性がある。
- このように万能な個人だけで構成されるチームを作ることは困難だが、 各人の強みと弱みのバランスをとることで、 強いチームを構築できる。
マネージャとしてのチームメイトの選び方
- その人はテストチームのスキルを補完できるか?をチェックする
- 性格が合うか?もチェックする。他のプロジェクトメンバーや、そのプロジェクトの状況と当人の性格が適切かを検討する。例えば、納期へのプレッシャーが高い状況のプロジェクトでは、それに耐えられるメンバーを選ぶべき。このように、良いテストチームは、多様なプロジェクトに対応できる。 そして、 他のプロジェクトチームの人ともうまく付き合える。
- 締め切りに間に合わない程タスクがある
環境では、テストマネージャはタスクを
できる人を常にチーム内で探す。 さらに、次に何を進められるかをメンバーに確認すること。 - それぞれの個人には、チーム内における明確な役割を与えるべき。役割は、個人の性格に合ったものを割り当て、先天的なスキルを活かせるようにするのが良いでしょう。それに合わせてスキルアップも促しましょう。
- 選定後、チームメンバが新しく参画した場合、適切に監視し、サポートしましょう。
チームメンバの強みと弱みを分析し、教育する
分析方法
- 分析のためにスキルアセスメントシートを作ろう。シートには、仕事と職位に求められるスキルをリストアップする。加えて、5段階評価などの得点化の方法や指標を決める。
- そのシートを用いて、チームの各個人を評価する。評価結果から、各個人の強みと弱みを分析する。
教育手法
-
チームメイトの強みと弱みをもとに、特定の領域のスキルを改善するために、 メンバーごとに目標設定をする。その際、個人のスキルを評価するための特定の基準を定義する。
-
そのもとで、チームメイトのトレーニングする方法を考え計画を作成する
-
まずは、チームの成果と効率性に最大の悪影響を及ぼす弱みへの対処をすべき。
-
トレーニング手法
- トレーニングセッションを開催する
- e-leaming の教材を受講
- 本などで自己学習を行う
- あるスキルを学習したいと思う人を、そのスキルをもってタスを実際にやっている人と組ませる。
-
教育を行う注意点として、テストマネージャは長期間メンバーが働くことを想定して人を雇うべき。 テスト担当者に継続して学習する環境を構築することで、チームメンバーはモチベーションが高まる。
テストチームに求められるスキル
大別すると、テクニカルスキルと対人関係スキルがある。
JSTQBによると、テクニカルスキルが優れていても、対人関係スキルが低いテスト担当者は失敗しがちらしい。
テクニカルスキル
ソフトウェアシステムを使うスキル
テスト対象のシステムを使うスキル。
ドメインとビジネスに関する知識
子の知識によって、現場に即したテストデータやテストケースを作成できる。
知識の具体例は、ユーザはどのようにシステムを操作するか、どの部分の故障が重大な影響を及すか、 システムはどうふるまうべきなのか、など。
システム開発の知識(要件定義、設計、開発~運用などさまざまなフェーズでの活動)
この知識によって、人的ミスがどのようにバグにつながるかを予想できる。
さらに、どこに欠陥が潜んでいるか、欠陥の混入をどのように防ぐべきかを検討できる。
運用フェーズの経験があれば、ユーザーエクスペリエンス、使性要件についての知識がある。開発フェーズの経験があれば、プログラミングや設計に関する専門的知識が必要なテストツールの利用や、 単体テスト、 結合テストの実施内容の理解が可能になる。
ソフトウェアテストに関連するスキル
- 仕様の分析の能力
- リスク分析の能力
- テストケース設計の能力
- 入念にテストを実行し、 結果を記録する能力
テストマネジメントに関連するスキル
-
計画の作成
-
進捗状況の追跡
-
ステークホルダーへのレポート能力
-
プレッシャーのきつい状況でもうまく問題に対処できる能力。 具体的には、ストレスやイライラに振り回されず、スケジュールが不可能にしか見えない場合でも作業に集中できる能力。
- というのも、テストはスケジュールがひっ迫している場合があるためです。さらにステークホルダーがテストに無理な期待をかけている場合もあるからです。加えて、スケジュールや期待によるプレッシャーをチームメンバも感じていることを認識でするのがよい。
-
詳細なスキルリストは、JSTQBシラバスのpp.75-76に記載されている
対人関係スキル
- 建設的にクリティカルシンキングを行うカ
- 巻き込み力
- 交渉力
- 対立の起こりそうな状況を和らげる
- 組織をうまくまとめる
- 細かいことに配慮する
- 必要なコミュニケーションのために適切な手段を選択する
- 書面と口頭でのコミュニケーションスキル
スキルに関する注意点
- 環境とプロジェクト次第で重要なスキルは異なる。
例えば、 APIのテストなどテクニカルテストでは、テクニカルスキルの方が、ドメイン知識よりも重要となる。一方、 ブラックボックステストでは、ドメインの専門知識の方が、テクニカルスキルよりも重要となる。
テストチームのモチベーション
モチベーションのタイプ
1.やり遂げた仕事を評価してほしい
2. 管理者から認められたい
3. プロジェクトチームから尊敬されたい
4. 自分の責任と裁量を増やしたい
5. 仕事に対して適切な対価(金銭や昇進)がほしい
モチベーションの変動要因
- モチベーションが上がる要因は、自分の価値と必要性が認識されていると感じること。
- これにはメリットがあります。より周囲を気に掛けるようになるからです。 このような雰囲気が醸成されると、チームメンバー同士での学びあいや、仕事量の平準化が自発的に起きるようになることも期待できます。 さらに、テストマネージャにとってもメリットがあります。 より多の時間をチーム外の問題に割くことができるからです。
モチベーションの管理の注意点
-
テストマネージャは公平にミスも成功も評価し、その態度に一貫性があること。それがチームのモチベーション向上につながる。
-
チームが確実に貢献を周囲から認めてもらえるよう、貢献度合いの指標を持っておくべき。
-
貢献が認められずチームのモチベーションが下がるケース:
不可能な納期にもかかわらず、テストチームが努力をせざるを得ない場合がある。 しかも、結局品質保証が不十分なままリリースを迎えることもある。 その場合、 テス
トチームの努力が報われない、評価されない、ということになりうる。そうなると、 最終プロダクトは成功しても、チームのモチベーションは低下しうる。 -
評価は尊敬や承認のような感情的なものだけではなく、昇進の機会、 給与の上昇にもつながる。そういう機会をテストチームに提供するためにも、適切な評価をしてもらう工夫は必要である。
テストチームがプロジェクト内で評価を得るためのアクション
- 当然だが、評価を得るにはテスト担当者がプロジェクトに貢献する必要がある。貢献とは、品質を高めるためのコスト削減やリスク緩和である。
- さらに、プロジェクトメンバーとうまく付き合うためのアクションも必要
- テスト担当者が他のステークホルダとのコミュニケーションにおいて、 専門性と客観性を示し、かつ成果をもたらす必要がある。
- 他人の成果物についてフィードバックやレビューする際には、思いやりと客観性を持つようにする。
独立したチームによるテストという選択肢を考える
- 独立していない状態とは、 開発者自身が自分で作ったコードをテストしている状態。テストチームが開発者から独立しているほうが、プロダクトの質を高めることができる。
コミュニケーションの方法
テストチーム内のコミュニケーションの種類
- ドキュメントを作る
- ドキュメントを読む
- 情報の収集と伝達。すなわち、開発者、他のメンバー、マネジメント層とのやり取り
最適なコミュニケーションの手段
最適なコミュニケーションの手段は、伝える相手ごとに異なる
- 例えば、 重役向けのブリーフィング用途を考えた場合、開発チーム向けの欠陥のチケットレポートは不向きである。それは詳細すぎるからだ。一方、マネジメント層は個別の欠陥の情報よりも欠陥の傾向を知りたがる。
テストチームとステークホルダーの間のコミュニケーション
-
メッセージを受け止めてもらうために必要な土
壌を作る。そのために、情報を適切な詳細度合いと、簡単に理解できる方法 (図など)で表現する。 -
プレゼンは品質向上と品質プロセスを促進するための機会であると意識する。
-
メッセージは、緊急の時でも品質と内容の両方を担保する
参考資料
テスト技術者資格制度 Advanced Level シラバス日本語版 テストマネージャ
Version 2012.J04