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