最も効果的なアジャイルチームは、重複しない多様なスキルセットを持つ 5 ~ 7 人の少数精鋭です。このような構成でこそ、さまざまな能力を活かした緊密な信頼関係を築き、業務遂行を加速できます。ただし、プロジェクトに必要なスキルセットがチームに不足していることもあります。
そのようなときはアジャイルスペシャリストの出番です。
ジェネラリストとスペシャリスト
仕事仲間は通常、ジェネラリストとスペシャリストのいずれかに分けられます。この 2 つの違いはどこにあるのでしょうか?
- ジェネラリスト – 多くの分野で役立つ幅広い知識を持つ人
- スペシャリスト – 特定分野の深い専門知識を持つ人
多くのアジャイル手法では、すべてのチームメンバーがジェネラリストになることを推奨しています(その理由については、アジャイルチームに関する記事をご覧ください)。ただし、ときには、次の理由でスペシャリストの助けを借りることもあります。
- 特定のスキルセットがフルタイムでは必要とされていない
- 特定のスキルセットを持つ社内の人材が限られており、複数のチームで共有されている
- 一般チームが対応できない分野での作業に特別な許可が必要である
このような場合、一定期間スペシャリストをチームに加えることは合理的です。ただし、チームにスペシャリストが加わると、いくつかの課題が生じます。
スペシャリストに関する課題の認識
スペシャリストは一定期間のみチームに参加するため、たちまち「クリティカルパス」となり、チーム全体の進行を妨げることがあります。例えば、チームが新しいコードを展開するためにデータベースに変更を加えるにはデータベース管理者に依頼する必要がある場合、データベース管理者がチームの進行の障害となります。スペシャリストからの情報を必要とするため作業を進行できなければ、その作業の流れは止まります。スペシャリストはチーム内で唯一のスキル保持者であるがゆえに、チームはスペシャリストが障害を解消するまで待つしかありません。
スペシャリストはコンテキスト切り替えを何度も行い、プロジェクトによって作業量が増減します。プロジェクト間での切り替えは大変です。スペシャリストがコアチームメンバーのようにプロジェクトについて詳しい知識を持つことはほとんどありません。その結果、スペシャリストは重要な詳細を見落とす恐れがあります。このリスクを低減するため、コアチームはスペシャリストに最新情報を提供することに余計なエネルギーを費やす必要があります。
スペシャリストとの作業のためのヒント
スペシャリストとの作業に伴うリスクを軽減するための 3 つのヒントをご覧ください。
1. スペシャリストに求めることを明確に定める
スペシャリストの助けを借りる必要があるとわかったら、時間をとって何が必要なのかを正確に把握しましょう。作業のタイプと必要な知識の深さをはっきりさせます。そうすることで、チームに適切なスペシャリストを迎え入れ、スペシャリストとチームが作業を成功させるのに十分な時間を確保できます。スペシャリストに必要な時間とスキルが現実に沿っていないと、チームもスペシャリストも失敗することになります。
2. スペシャリストの知識をコアチームに転移する
アジャイルチームにおいて重要なことは、スキルセットの重複です。スペシャリストはチームに参加している間に、自分が去ったときに専門知識が完全に失われることのない程度までコアチームにトレーニングを施します。そのためには次のような方法が効果的です。
- ペア プログラミング – ペア プログラミングでは、2 人以上のチーム メンバーがリアル タイムに協力してプロジェクトの特定の領域に取り組みます。お互いに質問し合いながら作業を行います。
- コード レビュー - コード レビューでは、コア チーム メンバーがスペシャリストによって行われた作業をレビューし、すべての変更を把握します。コード レビューでは「なぜ」「どのようにして」に重点を置くので、ペア プログラミングよりもトレーニング効果は低くなります。
- ブラウンバッグ – ブラウンバッグとは、スペシャリストが集団に知識を伝えるセッションです。チーム全体の教育を効率的に行うことができます。
ゴールはチームに自律性をもたせることです。知識移転により、これまではスペシャリストが担当していた分野のコンテキストをコアチームに与え、将来のスペシャリストへの依存を軽減します。
3. スペシャリストの継続的な必要性を最小化する
チームでのスペシャリストの活動が段階的に縮小するのに伴い、チームとスペシャリストの間でのサービス水準合意を設定することが重要です。チームがスペシャリストの力を借りる必要があるのはいつどのようなときかを決めます。スペシャリストの専門分野でよくある状況について概説する関連ガイドを作成しておくと、チームが自ら課題解決に取り組む際に役立ちます。
Atlassian では、ジェネラリストのスキル セットの拡張に重点を置いています。デザインを「スペシャリスト」の独擅場ではなくするために、たとえば開発者およびプロダクト所有者がデザイン スキルを構築するための具体的な方法を作成しました。詳細については、アジャイル デザインに関する記事をご覧ください。