余白

https://blog.lacolaco.net/ に移転しました

役割を定義すること・補集合の担い手について

先日 Front-End Lounge #2の基調講演として喋らせてもらった中で触れた基本的な原理について、汎用性が高く単体で参照したくなることが予想されるのでこの記事で簡潔にまとめることとする。

(この基調講演の内容についてはまた別途ブログ記事の形で再編する予定である)

曖昧な空間の中に明確な範囲を定めても全体の曖昧さは減じない

頭の中にベン図を思い浮かべてほしい。 よくあるベン図では外側に全体集合があり内側に部分集合が描かれるが、普通のベン図と違うのは全体集合の輪郭が曖昧であることだ。つまり無限に広がる空間である。

全体集合の輪郭があいまいなベン図

部分集合の境界をどのように定めたとしても、それが部分である限り、補集合の輪郭は常に曖昧でありつづける。 当たり前ではあるが、この原理は集団における役割についても同様に考えることができる。

ある集団において発生する責任範囲が曖昧である(無限である)とき、その責任を果たそうとするならば、責任範囲を明確に定めない補集合的な存在が必要条件になる。

責任範囲が有限であるならばその範囲内でMECEになるよう分担すればよい。しかし、無限の責任範囲の中で明確な役割を定義することは補集合の総量をいくらか減らすことには貢献しつつも、補集合のすべてを無くすことはできない。

この原理を踏まえると、例えばCTOなどの役割において典型的に見られる「会社や組織によって責任範囲が違う」ということも、その本質が組織における補集合の技術的範囲をカバーする役割であるからと考えれば当然のことである。CTO以外の役割がどのように定義されているのかが組織によって違うのだから、補集合の形状も当然違うのである。仮にCTOが明確に責任範囲を定めるとすれば、それによって生まれる補集合はまた別の誰かが担うか、あるいは誰からも拾われず責任を果たせないことになる。

このような現象はCXOなど組織の上位だけで起きることではなく、どんな集団でも発生しうる。その一例が基調講演で触れたフロントエンドとバックエンドの分業の例である。 ところで、勘違いされないように念の為明言しておくと、バックエンドにはバックエンドの曖昧さが当然ある。アプリケーションの開発という曖昧な責任範囲の中である程度境界づけられているが、フロントエンドとバックエンドは互いに曖昧さを抱えており、その種類が分離されていると見るのが妥当である。この話の要諦は、分業単位が互いに責任範囲を明確に限定したときにはその外側に補集合が生まれるということである。したがって少なくともどちらか一方は曖昧な責任範囲である必要がある。そして現実には多くの場合双方がある程度曖昧である。

以上述べたように、集団の中で役割を定義しようという際には、まずその集団の責任範囲が有限であるか無限であるかを前提とし、有限であるならば隙間が生まれないように分割できるが、無限であるならば明確な役割定義によって生まれる補集合を誰が担うのかを先んじて定めることが必要であるだろう。