技術選定やシステム設計などに関して意思決定をする際に、自分のカバー範囲や知っている情報だけだと全てを決めきれないことがある。もちろん仕入れられる情報は仕入れた上で意思決定しようとするのだけど、関係する他チームや関係者の方針やこれから決定される事項によって、自分たちの意思決定をどうすべきかが変わってくるような場合。
たとえば、エンジニアリングチームで何らかの機能に関する設計をする際に、その機能が具体的にどのようなユースケースで使われるのかを判断材料にしたいことがある。そして、ユースケースを考えるのがエンジニアリングチームではなく、ビジネスチームの責務だったとする。
そういう状況でたまに起きるあまり良くないパターンとして、エンジニアリングチームとビジネスチームがお互いに依存しあってしまい、デッドロックのような状況に陥ってどちらも身動きが取れなくなることがある。
エンジニアリングチームの視点では「ビジネスチームがユースケースを考えてくれないと設計ができない」となってしまい、反対にビジネスチームがの視点では「エンジニアリングチームが機能を設計してイメージを提示してくれないとユースケースが考えられない」となってしまうような状況。
なかなかこんなに綺麗にデッドロックが発生するようなことは少ないけど、部分的にこういうことが起きる状況はそこそこあると思う。
それは避けたい。
情報に非対称性があったり、責務や優先順位が違う人たちを巻き込みながら何かを意思決定する際は、以下のように進めるのがいいと思う。
- 自分が持っている情報だけで大部分を決められる領域を見つける
- その領域について決められる内容を決めようとする
- 決まった内容を関係者に伝える
- もしくは最後決めるためにこの情報が欲しい/ここだけを決めて欲しいと伝える
まず、自分で決めようとすることが重要。
決めることで不確実性や変数を減らすことができる。それを決定事項として関係者に伝える、関係者にとっても検討事項がシンプルになり意思決定がしやすくなる。
ついつい、関係者が何かを決めてくれたり、情報を提供してくれたりするのを「待つ」モードになってしまいがちだけど、それだとスムーズに意思決定を進めることは難しい。
関係しているすべての人が、上に書いた「まず、自分で決めようとする」動きができたら、それがうまい具合に関係者間で循環して、ものすごいスピードで意思決定が進むんじゃないかな。
そんな意識を持って、僕自身も自分で決めに行くための動きをどんどんしていこうと思った。
先日収録した「人見知りプロダクト開発ラジオ」でも、「チーム外との人とのコミュニケーション」というテーマでそういう話を取り上げたのだけど、自分も最近システム設計や意思決定を進める仕事に主にやっていたりもするので、自分自身が気を付ける目的も込めて書きました。