もう何度も、しかも公私にわたって身にしみて思い知っているはずのことなのだけど、改めて「そうだな」と強く思ったのでここにも書いておいてみる。
システム開発の現場のちょっとしたテクニック?というか手法のひとつに、「プランニングポーカー」というものがある。ある機能だとかの単位で、その開発の負荷(どれくらい掛かりそうか・大変そうか)というものをチームメンバー内で認識を合わせ、見積もるための手法。
ルール...というかやり方は、だいたい以下の様なかんじ。
- 数字の書かれたカード(フィボナッチ数列(1 / 2 / 3 / 5 / 8 / 13 くらいまで)が書かれたものを使うことが多い、そのセットを全員に1セットずつ配る)を使う
- 対象の機能について自由に議論する
- 一通り議論が終わったら各自が「せーの」で一度に、思い思いの数字を出す
- 数字があらかた一致したら良し。バラバラならばもう一度議論を行い、再度カードを出し直す。
- 数字が一致しない場合は、その機能の開発についての認識がチーム内で食い違っている場合が多い
- 極端に数字が低い者は、なにか楽に実現できる方法・ノウハウを知っている可能性がある
- 極端に数字が高い者には、その人にしか見えていない罠・落とし穴が見えている場合がある
上に書いてないルール(ローカルルールかもしれないが)がひとつある。それは、「よくわからないことが多すぎて見当がつかない」といった場合には「∞(無限大)」というカードを出して良い、ということだ。これはつまり、極端な言い方をすると「まだこの機能の開発を行うに十分な材料が揃っていない」ということに等しい。
このエントリで書いておきたいことはまさに、このルールが示してくれているのだけど、「これからやるべきことによくわからないところがある」というだけで、その立ち向かおうとしているものの大きさは何倍にも感じられるし、実際にそのまま取り組んでも困難なことになることが多い。
何か意図があり、そのまま立ち向かうこと自体に意味がある場合なら別として、そうでない場合、チームであることのメリットをわざわざ捨て、掛けなくても済む時間と手間を掛けることになる。「よくわからないこと」に対して一緒に立ち向かってくれるチームメンバーがいることほど心強く、価値のあるものはない。
そのようなチームメンバーがいない、体制になっていない、等々の理由でそれができず、一人で「よくわからないこと」に立ち向かわなければならないこともあると思う。自分もそういう環境に置かれていたこともあった。
そういうときは、「よくわからないこと」を「立ち向かうべき課題」に引っくるめて考えないようにすることが良いように思う。これからやろうとしていることのうち、「わかっていること」と「わからないこと」を切り分けるだけでも、随分違うものだ。
そして、「わからないこと」を小さな問題に分解し、そのひとつひとつを潰していこう。少なくとも、「何がわからないのか」がわかったり、それに近づけたりするはずだ。
...仰々しいタイトルを付けて書き始めたわりに、結論はなんだか極めて普通な言葉になってしまった。。