分類 | 概要 | パターン名 |
---|---|---|
中核 | 他のパターンを用いるうえでの基礎となるパターン |
|
品質のアジャイルなあり方 | アジャイルプロセスにおける品質保証のあり方や役割のパターン |
|
品質の特定 | 重要な品質を特定するためのパターン |
|
品質の可視化 | 重要な品質を可視化しチームメンバーに気付かせるパターン |
|
品質エキスパートをシャドーイング
- パターン:品質エキスパートをシャドーイング(原題Shadow the Quality Expert, 原著 Joseph W. Yoder, Rebecca Wirfs-Brock, Hironori Washizaki)[5]
「言われただけだと忘れてしまう。教えてもらえれば覚えている。関わらせてくれたら学ぶことができる。」 ――Benjamin Franklin(政治家、文筆家)
組織の成長にあわせて、アジャイルチームとともに、品質の専門知識も成長、発展させることが重要です。多くの場合、組織にはQAのニーズを完全に満たすためのリソースや人材が不足しています。品質エキスパートは、技術および製品に関する深い知識を持っています。「バス係数」[注1]を高めるためにも、その専門知識を広めることが望ましいでしょう。
チーム全体の考え方として、専門知識を属人化したりすることなく、チーム全体に知識を広め、組織内で「T型」[注2]のスキルを高めたいと思うでしょう。T型の人材には深くて幅広いスキルと知識があるからです[Brown]。
注1 バス係数
バス係数(またはトラック係数)とは、チームメンバーが何人までバスに轢かれて死んだら、チーム全体の進行を止めてしまうに至るかを表す数値のことである。業務や知識の属人性が高いチームほどバス係数は小さく、属人性が少ないほどバス係数は高くなる。バス係数は、属人性の測定値である[CH]。
-
参考:Bus factor
注2 T型
T型の人材は、専門分野の深い知識をもつ縦棒のI型の人材(スペシャリスト)に広い知識の横棒「-」をプラスした人材のこと。
組織はどのようにして品質の専門知識を高め、チームを横断して品質に関する知識とアイデアを広めることができるのでしょう?
***
企業はQAチームを再編成したり、縮小したりすることができます。企業は急速に成長し、その結果、より多くのQA担当者が必要になることがあります。これにより、QA担当者は広く浅く展開され、やるべき作業が多くなりすぎ、ソフトウェアがリリースされる直前または直後まで、重要な品質が見過ごされたりします。課題は、組織内で行ってきた品質作業を理解し、その経験をどのように活用して成長を助けるかです。
QA担当者には、過去に行った以上のことを要求される場合があります(手動テストだけでなく、探索的テストとパフォーマンステストも担当してくださいと言われます)。
QA担当者の専門性は高度に専門化することができます。私はUXテストを行い、あなたは自動テストを行い、私は手動テストを行いますが、作業量は偏ります。時には、作業を均等にする必要があります(すべての開発者が本番のコードを書くことで常に忙しくしているわけではありません)。
チームがフルタイムのQA担当者を入手できない場合があります。質の高い人材が不足している場合は、少なくとも重要なシステム品質に対処する方法をチームが把握できるように、その情報をチームに共有するにはどうすればよいでしょうか?
QA作業は、時にはオフショアを活用します。そのため、コミュニケーションや理解の共有が難しくなります。
チーム全体が品質を理解することが重要です。必ずしもエキスパートである必要はないですが、少なくともよりよく理解することが重要です。どのようにすればアジャイルチームを成長させ、質の高い専門知識を広めることができるでしょうか? 最終的には誰もが品質を理解する必要があります。
***
品質エキスパートがタスクを実行している間に、さまざまな人にフォローまたはシャドーイングさせましょう。品質エキスパートは、重要な品質タスク中で何が起こり、何を考慮する必要があるかを解決する際に、見習いをシャドーイングに積極的に参加させることで、指導者として働きます。
シャドーイングとは、見習いが師匠を観察して技術を盗むことや、看護学生が病院で働く看護士に密着し、仕事の現場をつぶさに観察する仕事のやり方です(参考:Job shadow)。
品質エキスパートをシャドーイングし、タスクの理解を深めると、QAチームの弱点を無くすことができます。開発者や他のチームメンバーは、品質エキスパートのタスクとQAとしての考え方の一部をシャドーイングして学ぶことができます。経験を共有することには副次的なメリットもあります。品質エキスパートも、開発者とチームメンバーの視点から学ぶことがあるでしょう。
専門知識が広まると、チーム全体がシステムの品質について考えたり、品質関連のテストを実施したりする能力が向上します。重要なタスクの品質保証について高度なスキルと知識を持っている人と一緒に時間を費やすことで、品質意識を高めるのに役立ちます。最終的に「品質」を意識したマインドセットがチーム全体に広がります。
初期の段階では、シャドーになった人は品質エキスパートの後を追い、観察したりメモを取ったりします。シャドーは品質エキスパートに質問をし、密接なコミュニケーションをとることが重要です。品質エキスパートは、自分が仕事をしているときに何を考えているのかを説明できます。シャドーがより自信を付け、新しいスキルを習得すると、品質タスクの実行により深く関与できるようになります。効果的なシャドーイングの最良のシナリオは、品質エキスパートが日常のタスクにシャドーを積極的に関与させるのに十分な時間があり、忍耐力もある場合です。
専門知識のある人はより効果的に考え、専門家以外の人よりも問題をよく解決します。Bransford、BrownおよびCocking [BBC]は「研究によると、記憶や知能などの単なる一般的な能力や一般的な問題解決策の使い方にエキスパートと初心者の違いはないとしている。しかし、エキスパートは、自分が気付くものや、自分の環境で情報を整理、表現、解釈する方法に影響を与える広範な知識を身につけている。それが、問題を記憶、推論、解決する能力に影響を与えている。」と指摘しています。
品質に限らず、いわゆるエキスパートは、専門分野の問題を解決するとき、より高いレベルの目標と戦略の観点で考える傾向があります。エキスパートは、手順に従うのではなく、現在の状況を考慮して何をすべきかをすばやく判断し、変化する状況に基づいて戦術を調整します。
エキスパートは、初心者の気付かない情報の特徴やパターンに気づくことができるため、効果的なシャドーイングは、頭に入っている知識、それをより抽象化したモノ、より大きなコンセプト、そしてより大きなイメージに関して考えていることをはっきりと言葉で表現できるエキスパートと、十分に学ぶ能力のあるシャドー(初心者ではない者)をペアにすることが必要になります。
品質エキスパートをシャドーイング対象とするときは、その品質エキスパートが何らかのタスクを実行する際に、自分が考えていることを説明できる能力があり、意欲的であるかどうかを検討してください。また、シャドーになる人には質問をしたり、品質エキスパートの考え方を理解したりするための十分なスキルと知識があることも重要です。
品質エキスパートをシャドーイングするには、さまざまなアプローチがあります。たとえば、トレーニングワークショップでスキルを身につけたあと、品質エキスパートと品質関連のタスクを実践することから始めたりします。その他のシャドーイングのアプローチと状況は、コンテキストとニーズに基づいて品質エキスパートが決定します。
品質エキスパートのシャドーイングは、ニーズに応じてパートタイムまたはタスク毎にすることができます。シャドーイングに適した時期は、新しいメンバーがQAチームに加わり、品質エキスパートから重要な実務や価値観、品質に関する懸念事項についての考え方を学ぶ必要がある場合です。シャドーイングのもう1つの適切なタイミングは、品質エキスパート以外の誰かのスキルを向上させ、重要な品質関連タスクを実行する能力を身につけてほしいときです。
QAが広く浅く展開されている場合や、厳しい時間的制約がある場合は、効果的にシャドーイングするのは困難です。シャドーイングはできるかもしれませんが、QAの仕事に影響が出るでしょう。シャドーイングには時間がかかります。すぐに結果を出すことへのプレッシャーが大きすぎる場合や、シャドーやエキスパート、管理者が中途半端にしか参加しない場合、シャドーイングは失敗する可能性があります。
シャドーイングは、プロダクト品質チャンピオンのトレーニングにも利用できます。品質エキスパートとのシャドーイングは、QAリーダーとペアリングと似ていますが、品質関連タスクで開発者をサポートするのではなく、深い専門知識を構築してもらうという長期目標を持ったものとなります。もし、QA担当者が忙しすぎる場合は、メンター[MR]を招いてスキルの構築を支援して貰うとよいでしょう。