最大の問題は、たぶん技術的なことではない
著者: マーク・ラムたった今も、誰かが給与システム開発プロジェクトを失敗に向かって突き進めています。誰かというのは、たぶん1人ではありません。
なぜそんなことになってしまうのでしょうか。JavaではなくRuby、SmalltalkではなくPythonを選んだからでしょうか。それとも、Oracleではなく、Postgresを使うことにしたからでしょうか。ひょっとして、Linuxを選ぶべきところで、Windowsを選んでしまったからでしょうか。プロジェクトを失敗に追い込んだ犯人としてテクノロジーをやり玉に挙げた経験は誰にでもあります。しかし、難しすぎてJavaでは実装をできなかった状況というのは、一体どういうものなのでしょうか。
プロジェクトを構築するのは人間ですから、プロジェクトの成否の鍵を握っているのも人間です。だとすれば、それらの人たちを成功に導くには何が必要かを考えた方がよいのではないでしょうか。
ひょっとすると、あなたから見て、正しいことをせずに、プロジェクトを少しずつ蝕んでいる人がいるかもしれません。そんなときに必要なのは、昔から定評のあるテクノロジーです。実際、そのテクノロジーは、人類の歴史でもっとも重要な技術上のイノベーションです。何だと思いますか。それは話し合いです。
単に、テクノロジーとしての話し合いの知識を持っているだけでは足りません。相手を人として尊重し、憶測だけ非難しないこと。これを身につければ、スマートなアーキテクトから脱皮して、実力のあるアーキテクトになれます。
たとえば、話し合いでは次のようなことに注意すると良いでしょう。
対決ではなく、話し合うというスタンスに
相手の言うことをよい方にとらえ、考えを聞くチャンスと思って話し合いに臨みましょう。そうすれば、相手からより多くのことが学べますし、相手が防衛的になって殻に閉じこもってしまう危険性も減るでしょう。
自分の姿勢を正してから、話し合う
あなたが怒っていたり、イライラしていたり、悩んでいたり、取り乱していると、相手は、あなたが黙っているのは自分を攻撃しようとしているからだと解釈しがちです。
共通の目標を持つチャンスとして位置づける
会議でしゃべり続けるデベロッパーに「黙れ」と言うよりも、他のメンバーも参加できるように協力してくれないかと頼むようにしてみましょう。内向的で、話に参加してくるまでに時間がかかるメンバーがいるということを説明し、話を始めるまで5分間待ってくれないかと頼むのです。
話し合いは、共通の目標を持つということだけでなく、他人のふり見て我がふり直す機会であり、また自分の感情をコントロールするための練習なんだととらえるようにしましょう。そうすれば、どのようなときでも何かが学べるものだということが心から理解できるはずです。