性善説、性悪説とチームのルール作り
1. スクラムチームのルールを作ろうとした話
スクラムチームは、「自己組織化されている」ことを求められます。
(詳しくは Core Scrumを参照してください!)
自己組織化されているということは、マネージャーやステークホルダーから上意下達の決定が下されるのではなく、スクラムチームが自ら考えて決定を下すこと!
そんな決定をするための、「決定のルール」を悪戦苦闘しながら作ったお話です。
PART1 性悪説に基づいたルール作り
「決定のルールを作ろう!」という議題で会議を開きました。
最初の2回の会議は、なかなか進みませんでした。
「最初に決定のルールの案を考えてきて、それをベースに考えた方が速いかな?」と思い、こんな感じで案を考えて提示しました。
有志で会議を開いて、そこで決まったことをスクラムチーム全体の決定と扱うことができる
- 会議を開催する旨はSlackで全員に通知する
- 会議は任意参加とする
- 改善の会議を開く前に議題(=決定したいこと)を発表する
- 会議では議題のみ決定し、それ以外の決定は無効にする
しかし、思いの外ツッコミがたくさん来て、なかなか前に進みません。
- 有志が少数しかいなくても決定できるの?
- 参加したい人全員が参加できない場合はどうするの?
- わざとみんなが参加できなそうな時間帯に開催して、そこで少数で決定されたらどうするの?
などなど、細部にこだわればいくらでも粗があります。
そして、ファシリの僕は、「これらの粗全てを解決するようなルールを作るには、一体何回MTGを開けばいいのだろう...」と頭を抱えました。
PART2 性悪説で考える必要がないなら、性善説で考えよう
2回開催しても会議がなかなか進まないので、それまで準備を1人でやっていたところを、会議の目的に共感してくれた先輩に手伝って頂きました。
その方は、「もう少し性善説で考えてもいいんじゃないか?」と言ってくれました。
- 有志が少数しかいなくても決定できるの?
- どうしても参加したい人が参加できない日程に開催されたら納得感は得られないけどどうするの?
- わざとみんなが参加できなそうな時間帯に開催されたらどうするの?
このような発生するかわからない事態について、悩む必要はあるのだろうか?
何千、何万という数のユーザーに対してではなく、二十数名のスクラムチームを対象にしているのだから、もう少し緩く考えてもいいんじゃないか。
みんな(多分)いい人だから、少数でもいい決定をしてくれるだろうし、どうしても参加したい人がいたらその人が参加できる日程に開催してくれるはずだし、わざとみんなが参加できない時間帯に会議を開催することなんてきっとない。
もしそういうことをする人がいたら、そのときにまたルールを修正すればいい。
こいう考えを会議で共有した上で、改めて緩めのルールを提案したら、微調整はしたもののどんどん議論は進み、スピーディに全員の合意を得ることができました!
なぜ性悪説に基づいて考えてしまうか
私がいる部署は、自分も含めほとんどがエンジニアか、元エンジニアのスクラムマスター・プロダクトオーナーなどの技術系の人です。
エンジニアは、システムを設計する際に、ある程度あらゆる事態を想定して設計しなければいけません。
- 悪意のあるユーザーが変な動きをしたらどうしよう?
- エンジニアが間違えて〇〇をしたらどうしよう?
- DBに変な値を入れられたらどうしよう?
こう言った事態を防ぐために、ユーザーの動きを制限したり、テストを書いたり、DBに値を入れる前にバリデーションをかけたりする訳です。
エンジニアは職業柄、性悪説で考える癖がつきやすいのではないでしょうか?
そうしないと、堅牢なシステムが作れないのだから。
まとめ
性悪説と性善説を使い分けよう。
スピードと細部のディテールはトレードオフになる。
システムを作るときなど、細部にこだわる場合は性悪説が必要。
しかし、そうでない場合は性善説でスピーディな意思決定をしよう!