アジャイル組織でプロダクト価値を高める!「合意形成」のポイント
この記事では、不確実性が多いプロダクト開発において、どのようにアジャイルチームの「合意形成」を行うかについて、経験とノウハウを共有します。
サクッと読みたい方はこちらのスライドもどうぞ。
対象読者
チーム開発をしているすべての方に向けて、例えば次のような課題を抱えてモチベーションが低下してしまったチームを想定しています。
- チーム内で意見がまとまらず、合意形成が難しい
- チーム内の発言が減り、心理的安全性が低下してきた
- 見積もりの精度が低く、スプリントが始まってから問題が発生してしまう
- メンバーの向かう方向がバラバラで、プロダクトゴールを見失っている
- チームの透明性が低く、意思疎通がうまくいっていない
背景
今回参加したプロジェクトでは、0→1開発の概念実証にあたって、アジャイル開発が想定されることから、スクラムチームが形成されました。
しかし、半年ほどでチームの混乱期に突入していくと様々な課題が浮上してきました。
合意形成が難しい状況
具体的には、次のような課題がありました。
-
目的や役割などの共通認識がない
スプリントゴールを決めているものの短期的なゴールしかなく、メンバーによって認識が異なっていました。 -
立場の強いメンバーの意見が通りやすい
優秀な若手メンバーもいるのですがどうしても強いメンバーの意見が通りやすい状況になっていました。 -
不確実性によりプロダクトゴール見失う
仮説検証を進めていくにあたって要求や価値観が変わり続けていき、最終的なゴールを見失っていきました。
これらの状況から、チームのモチベーションが低下したり、心理的安全性が低下してしまいました。
合意形成が取れているようで取れていない
その結果、スクラムを実践しているにも関わらず、形だけになってしまい、合意形成が取れているようで取れていない状況になっていました。
具体的な例を紹介します。リモートで開催したリファインメントにおいて、あるユーザーストーリーに対してエンジニアにわからないところや理解できないところがないかエンジニア4人に確認を取ったところ、最古参メンバーであるAさんが1人大丈夫です!と回答だけして終わってしまいました。
- Aさん「大丈夫です!(多分)」
- Bさん「…」
- Cさん「…」
- Dさん「…」
Aさんのみ発言しているが、他のメンバーは黙っている
しかし、後から実際にどう思っていたか聞いたところ、次のような意見を持っていました。
- Aさん「多分大丈夫だと思っていた。」
- Bさん「なんとなく不安だけどみんな大丈夫そうだから平気かと思っていた。」
- Cさん「同意できないけどAさんが大丈夫って言っているからいいや、と思っていた。」
- Dさん「質問あるけど新人なので止めると悪いから後で聞こうと思っていた。」
全員が何らかの意見を持っていたが雰囲気に流されていた
このような場面、身に覚えがある方も多いのではないでしょうか?
異議があるけど空気を読んで言い出しにくかったり、なんとなく不安だけどみんなが大丈夫そうだから言わなくていいやとなってしまいがちです。
残念ながらそういった不安は大体当たっており、いざ実装を初めて後から問題になってしまうことが多かったです。
スクラムの基礎に立ち返る
これは何が問題なのか、改めてスクラムガイドを読み返してみます[1]。経験主義のスクラムの三本柱として、次の3つが挙げられています。
- 透明性
- 検査
- 適応
この内、それぞれの意思が可視化出来ておらず透明性が失われていることから、積極的な議論ができず検査や適応まで崩れてしまうという状態になり、アジャイルな開発が崩れ始めていました。
今回は、この内の透明性に焦点を当て、意思を可視化して合意形成をスムーズにする方法について紹介していきます。
経験主義のスクラムの三本柱
チームのルールを作成
まずは透明性を高める取り組みとして、チームのルールである ワーキングアグリーメント(Working Agreement) を作成しました。
これは、チームの価値観を明文化したドキュメントです。次のようなルールを設定し、チーム全員で合意を取り、実践していきます。
- チームメンバーを含めたステークホルダー全員で合意した内容を書く
- スプリントボードと同様に、いつでも、誰でも見られる場所に置く
- 毎スプリント毎に定期的に見直しをして陳腐化を防ぐ
ワーキングアグリーメント
私達が設定した、具体的なルールは次の通りです。
-
スクラムイベントのゴールやアジェンダ
スクラムガイドに乗っている事項だけでなく、チームとしての解釈や追加で行っている部分も載せています。 -
メンバーの役割と行動規範
スクラムとしての役割以外も載せており、オーナーシップを持つ範囲を明確にしています。 -
開発・レビュー・リリースの手順
開発をスムーズにするため、レビューの基準やリリースを判断する基準などを別途明確にしています。 -
意思決定における投票手法
何かを決めるときの投票手法を明確にしています。この投票手法について、次項で深堀りします。
この取り組みにより、まずは暗黙知が共有され全員の価値観が揃うようになりました。
チームに投票を導入
メンバー全員の意思が見えないという課題を解決するため、可視化する方法として、 ファイブフィンガー (Fist to five) という投票手法を導入しました。
この投票手法は、参加したメンバー全員が一斉に0から5の6段階の投票をする手法です。
議論が終わった後、ファシリテーターの合図で一斉に手を上げ、指の数で投票します。 5本指 🖐️ が最高 ~ 0本指 ✊ が最低です。6段階と多めの選択肢とすることで、なんとなく不安といった経験からの勘を拾い上げることができます。
(指を上げるのが困難な場合は、数字の書いてある紙を用いるなどの方法でも投票ができます。)
他人の意見に影響されないよう、全員で同時に投票することが重要です。この投票手法を用いることで、数秒で全員の意思が可視化できます。
目的と基準を明確にし、 ワーキングアグリーメントに追加しました。また、点数と意味を次のように設定しました。
点数 | 意味 |
---|---|
5 | 完璧だと思う |
4 | 良いと思う |
3 | 不安があるが進めて良いと思う |
2 | この時点だとなんとなく不安 |
1 | この時点だと不安がある |
0 | この時点で議論を終わらせるのに反対 |
具体的な運用事例を紹介します。
先程のリファインメントの例で、Aさんが1人だけ大丈夫と言っていた場面で、ファイブフィンガーを導入したところ、次のような結果が出ました。
- Aさん「5点」(多分大丈夫だと思っていた。)
- Bさん「4点」(なんとなく不安だけどみんな大丈夫そうだから平気かと思っていた。)
- Cさん「1点」(同意できないけどAさんが大丈夫って言っているからいいやと思っていた。)
- Dさん「3点」(質問があるけど新人なので止めると悪いから後で聞こうと思っていた。)
Aさんは5点で評価したが、4点, 3点, 1点で評価するメンバーもいた
可視化したら、ファシリテーターは点数の低い(同意できない)メンバーから話を聞くことができます。Cさんが1を挙げていることから、Cさんにどのようなリスクがありそうか質問をします。
質問ありますか?と言われても自分からは発言しにくいですが、ファシリテーターから尋ねられることで、自然と話を始めやすくなるメリットがあります。
また、意見の多様性が増したり、投票する行為自体から意思決定におけるメンバーの主体性が向上します。
ファイブフィンガーを活用することで、メンバー全員の意思を一瞬で可視化できました。
この投票は、リファインメントの議題で行うだけでなく、毎日のデイリースクラムにおいてもスプリントゴールに対する進捗確認などにも活用しています。
リモートワークにも対応した投票手法
一方で、リモートワークでの勤務が多いことから、手をあげる方法には課題もありました。
そのため、オンライン・オフライン関わらず一斉に数字をSlackなどのチャットツールへ投票するという手法に変更することで、ファイブフィンガーを改良しました。
ルールとしては次のようにしました。
- ファシリテーターがSlackにスレッドを立ち上げる
- メンバーは、ファシリテーターの合図で同時に数字を投票する
ファシリテーターは5点で評価したが、3点で評価するメンバーがいた
このスクリーンショットの例では、ファシリテーターの私が5だと思っていたのに対し、あるメンバーが3をあげました。
そのため、3をあげたメンバーに懸念点を聞いたところ、リスクを事前に洗い出せました。
この手法ではカメラがオフでも投票できるメリットがあります。意外な副次的効果として、チャットツールに投票結果が残るため、不参加のメンバーやマネージャーなどが後から投票結果を見返すことができるというメリットもありました。
このように、チャットを用いた投票手法を用いることで、環境に依存せず意思決定の透明性を確保できました。
まとめ
チームの合意形成には透明性が必須です。
透明性を向上させる基礎づくりとしてチームのルールであるWorking Agreementを作成してチームの価値観を明確にしました。また、投票手法であるファイブフィンガーを活用することで意思決定の透明性を確保しました。
これらの取り組みにより個人の意思が可視化され、意思疎通を円滑化できました。また、発言しやすい雰囲気を作り上げられました。合意形成の透明性を確保することでプロダクトの価値を高めることができました。
ルールを決めるだけで簡単に運用できますのでぜひ導入してみてください!
Discussion