「それってできて普通じゃん」って言わないで。コストと難易度を一回想像して。プログラマとコミュニケーションするときの最低限のトリセツ
当たり前というのは「簡単」の同義語でないことは、前も以下の記事で話しました。
当たり前のことというのは「慣れ親しんでいるので驚きがない」という意味を持つだけです。
多分そのそのニュートラルな感じを実態にも適用しようとして簡単だったりコストが低いと思いがちなんでしょう。アウトプットとして価値が高いものは大変でコストがかかり、価値が高くないものは簡単で低コストだと。
ですが、みなさんがすごいと思うものなんてなかなか作れません。特に外部に対してすごいものは内部のマニュアル通りやれば作れるかもしれませんが、内部の人がすごいと思うものなんて、なかなか作れません。それができたら技術革新です。
この弊害を如実に表した言葉は次の言葉です。
「なんでこの機能ないの? あって普通じゃん」
これを内部の人に言われるとマジでキレそうになります。特にシステムのことを知ってる風を装った営業や要件定義する人に言われるときついです。
「あんたプログラムのこと何もわかってないじゃん。あって当然な機能かもしれないけど、それを作るのには工数がかかるし、簡単じゃない可能性全然あるんだからね」
と心のうちで叫びちらします。
そしてそう言った人を下に見て、信用しなくなります。
「どうせお前らわかってないんだろ。偉そうに喋ってるけど、偉いのは指示してるお前らじゃなくて、作ってる俺らだからな。俺ら辞めたらお前らどうなるかわかってんのか?」
こういうふうになったら信頼関係なくなって優秀なプログラマ(またはエンジニア)がやめるんでしょうね。
練れたコミュニケーションができる人は、お互いが「事前にコストが高いために当たり前の機能ができない」ということを合意をとった上でコミュニケーションできるんですが、往々にして上記のようなコミュニケーションが起こります。
大変恐縮なんですが、プログラマに関わるノンプログラマの方々は、こういうコニュニケーション齟齬が起きる可能性があるということだけ知っておいてもらえると嬉しいです。
実際意思決定をしているひとだったりとか企画を考えてる人がいないとプログラマは動けないんですが、こういうコミュニケーション齟齬が起きると、プログラマが相手を下に見る可能性があるので。
プログラマはいいようにおだてて、価値あると思わせて泳がしておけば勝手に調子に乗って働くので。実際は指揮している人のほうがすごいのはわかってるので。