「合意」という幻想

マイクロソフトの萩原さんがmixiで書かれていた日記の中に「合意がなくても動作するシステム」という言葉があって、なんだかはっきり分からないけどこれはとっても面白いなぁと感心してしまった。この「合意がなくても動作するシステム」という言葉は別にその日記のテーマではなくて、流れの中で何気なく出てきた感じの言葉だったけれど、僕はこの言葉が気になって面白くって、だけど何故面白いと感じるのかは未だに判然としない宙に浮いた状態。宙に浮いたまま、つらつらと思うことを書いてみる。


受託開発では、開発の前に「仕様の合意」があるのが前提というか暗黙の了解になっていると思う。そりゃそうだよね、合意してなきゃどんな契約で何を作るか分かんないもん。フツーはそう思うはず。

でも、合意って、幻想だよね。少なくともある程度は。

客が「こんなことが出来るシステムが欲しい」と言う。開発サイドが「こんなシステムだったら開発できますよ」と提案する。客が「なるほど」といって仕様を「合意」する。

ホントに?ホントに合意した?

「合意」はほぼ間違いなく、幻想だと思う。双方とも絶対何か勘違いしている。すれ違っている。

このすれ違いは、本質的に発生するものだ。努力で完全に避けられるものではない。だから、「次こそはすれ違いのない完璧な合意を目指そう」というのは間違った戦略となりうる。

僕たちはすれ違いを、少なくともある程度は受け入れなくてはならない。だから、僕たちは必ずすれ違う、という事実については合意しておかなくてはならない。すれ違うということを前提にして物事に取り組まなくてはならない。

まさに、Embrace Change。「変化を抱擁せよ」だ。ただ、これを「変化」と呼ぶことが以前からちょっと疑問だった。変化というと、いったんははっきりと合意に至った仕様が後から変更になった、という感じがする。だけど、多くはその合意自体が幻想だった場合じゃないかと思う。合意したつもりになっていただけで、すれ違っていたんじゃないかと思う。Embrace Change という標語は、こういうすれ違いを受け入れよ、という意味を含んでいるんじゃないかと思う。


パッケージ開発では更に顕著だ。考えてみれば当たり前なんだけど、パッケージ開発では開発者とユーザーの間に合意はないんだよね。合意がなくても、魅力的な商品ならば売れる。合意がなくてもシステムは動く。

それどころか、開発者の意図と違う使い方をユーザーが発見する、というパターンもある。

 プラットフォームを提供する“大人”が想定した枠を超え、ユーザーが使い方を発明して広げていく――10代に人気の携帯コミュニティーでは、よく見られる光景だ。

中高生版Twitter? ケータイ「リアル」をのぞいて驚いた (1/2) - ITmedia NEWS

考えてみりゃ何でもそうだ。例えば階段に腰掛ける。つまり階段を椅子として使う。階段を作った人は、椅子として使われることを意図しただろうか。

道具というのは、常に発見されるものなのかもしれない。その道具が人工物であっても、使い道はやっぱり発見されるものなのかもしれない。予め合意してあるものではないのかもしれない。


ためしにマトリックスにしてみよう。「動作する」は「機能する」に言い換えてみた。

合意があって機能するシステム 合意がなくても機能するシステム
合意があっても機能しないシステム 合意がなくて機能しないシステム

こう書くと、なんだか「合意があるかないか」と「機能するかしないか」は直交しているような気もしてきた。まあ、直交は言い過ぎかな。じゃあ斜交だとして、交差角度は何度くらいだろう?


ま、いずれにせよ、あんまり「合意」にこだわっているとイノベーションってやつは起こせないんじゃないのかな。もちろん「合意」を無視しすぎたらひとりよがりになるけれど。

うーん、難しいね。