助っ人の活用 (または「スペシャリストとの作業方法」)

組織全体で個々のスキルセットを共有するための優れた方法です。しかし、固有の課題もあります。

Dan Radigan Dan Radigan
トピック一覧

最も効果的なアジャイルチームは、重複しない多様なスキルセットを持つ 5 ~ 7 人の少数精鋭チームです。このような構成でこそ、さまざまな能力を活かした緊密な信頼関係を築き、業務遂行を加速できます。ただし、プロジェクトに必要なスキルセットがチームに不足していることもあります。

そういうときはスペシャリストの出番です。

ジェネラリストとスペシャリスト

仕事仲間は通常、ジェネラリストとスペシャリストのいずれかに分けられます。この 2 つの違いは何でしょうか?

  • ジェネラリスト – 幅広い知識を持ち、さまざまな分野で作業できる人
  • スペシャリスト – 特定の分野において比類のない深い知識を持っている人

多くのアジャイル手法では、すべてのチームメンバーがジェネラリストになることを推奨しています。その理由については、アジャイルチームに関する記事をご覧ください。ただし、次の理由からスペシャリストの助けを借りることもときにはあります。

  • 特定のスキルセットは、チームに常に必要とされているわけではない
  • 企業において特定のスキルセットを持った人材は限られており、これらの社員はチーム全体で共有される
  • 一般的なチームがアクセスできない分野で作業するには特定の承認が必要

このような場合、一定期間スペシャリストをチームに加えることは合理的です。ただし、チームにスペシャリストが加わると、いくつかの課題が生じます。

スペシャリストに関する課題の認識

スペシャリストは一定期間のみチームに参加するため、たちまち「クリティカルパス」となり、チーム全体の進行を妨げることがあります。たとえば、チームが新しいコードを展開するためにデータベースに変更を加えるにはデータベース管理者に依頼する必要がある場合、データベース管理者がチームの進行の障害となります。スペシャリストからの情報を必要とするため作業を進行できなければ、その作業の流れは止まります。スペシャリストはチーム内で唯一のスキル保持者であるがゆえに、チームはスペシャリストが障害を解消するまで待つしかありません。

スペシャリストはコンテキスト切り替えを何度も行い、プロジェクトによって作業量が増減します。プロジェクト間における切り替えは大変です。スペシャリストがコアチームメンバーのようにプロジェクトについて詳しい知識を持つことはほとんどありません。その結果、スペシャリストは重要な詳細を見落とす恐れがあります。このリスクを低減するため、コアチームはスペシャリストに最新情報を提供することに余計なエネルギーを費やす必要があります。

スペシャリストとの作業のためのヒント

スペシャリストとの作業に伴うリスクを軽減するための 3 つのヒントをご覧ください。

1. スペシャリストに求めることを明確に定める

スペシャリストの助けを借りる必要があるとわかったら、時間をとって何が必要なのかを正確に把握しましょう。作業のタイプと必要な知識の深さをはっきりさせます。そうすることで、チームに適切なスペシャリストを迎え入れ、スペシャリストとチームが作業を成功させるのに十分な時間を確保できます。スペシャリストに必要な時間とスキルが現実に沿っていないと、チームもスペシャリストも失敗することになります。

2. スペシャリストの知識をコアチームに転移する

アジャイルチームにおいて重要なのは、スキルセットの重複です。スペシャリストはチームに参加している間に、自分が去ったときに専門知識が完全に失われることのない程度までコアチームにトレーニングを施します。そのためには次のような方法が効果的です。

  • ペアプログラミング – ペアプログラミングには、プロジェクトの特定分野において、リアルタイムで協業する 2 人以上のチームメンバーが必要です。メンバー同士で質問し、作業に取り組むことができます。
  • コードレビュー – コードレビューでは、コアチームメンバーが、スペシャリストの完了した作業をレビューし、すべての変更を把握します。コードレビューは方法 (How) ではなく理由 (Why) にフォーカスするため、トレーニングの場合、効率性はペアプログラミングより劣ります。
  • ブラウンバッグ – ブラウンバッグは、スペシャリストがグループにナレッジ共有する、非公式のセッションです。チーム全体が学習できる効率的な方法です。

目標はチームに自律性をもたせることです。ナレッジトランスファーにより、これまではスペシャリストが担当していた分野のコンテキストをコアチームに与え、将来的なスペシャリストへの依存を軽減します。

3. スペシャリストの継続的な必要性を最小化する

チームでのスペシャリストの活動が段階的に縮小するのに伴い、チームとスペシャリストの間でのサービス水準合意を設定することが重要です。チームがスペシャリストの力を借りる必要があるのはいつどのようなときかを決めます。スペシャリストの専門分野でよくある状況について概説する関連ガイドを作成しておくと、チームが自ら課題解決に取り組む際に役立ちます。

プロからのヒント:

アトラシアンでは、ジェネラリストのスキルセットの拡張に重点を置いています。たとえば、デザインを「スペシャリスト」の独擅場ではなくするために、開発者やプロダクト所有者がデザインスキルを獲得するための具体的な方法を生み出しました。詳細については、アジャイルデザインに関する記事をご覧ください。