最近よくこの話をすることが多かったので、ブログに書き残しておくことにしました。
エンジニアとして開発の仕事をしていると、こういうことがよくあります。
開発途中の時期、プランナーから「◯◯」を作りたいと言われる
↓
工数と残りのスケジュールを考えると厳しく、「工数的にキツいからできない」と伝える
↓
プランナーから「いや、これどうしても入れないとキツいんでやって欲しい」と言われる
↓
エンジニアが渋々承諾し、残業、休出などをしてなんとか作る
↓
ギリギリのスケジュールで作ったため、実装時の考慮やテストが甘くなる
↓
いざリリースしたらバグがいっぱい出る
多分開発をやったことのある方なら大体経験したことのある流れだと思います。
こういう時よくエンジニアにありがちなのが、
・本当はやらない方がいいと思ったんだけど、プランナーにやれって言われたから仕方なくやった
・やらない方がいいと言ったんだけど、プランナーにどうしてもやりたいって言われたから仕方なくやった
と言ってしまうこと。
悪い言い方をすると「人(この場合はプランナー)のせいにする」とういことです。
(もちろん実際にプランナーも悪いのですが)
ただこのやり取りには依頼を受けたエンジニア側にも問題はあると個人的には思っています。
本来こういう時にエンジニアが取るべき行動としては、
どうしてやらない方がいいと思っているのか?
ということをしっかり伝えることなのではないでしょうか?
・このスケジュールじゃギリギリでテストもちゃんと出来ないし、不具合につながる可能性がある
・今から変更するには影響範囲が大きくて新たなバグを生む可能性がある
とか色々理由はあると思います。
単純に工数が足りないということもあると思いますが、なぜやらない方がいいかというと結局プロダクトに悪影響が出るからです。
(ちなみに上では「不具合につながる可能性がある」と書きましたが、こういう状況の時はほぼ確実に不具合が起きます笑)
そしてプランナーの人はこれをしっかりとした内容で、高い温度感で伝えられたらどう考えるか?
・ああ、そんなリスクがあるならやらなくてもいいです。別の方法を考えます
・そしたらここを削ってこういうやり方ならどうですか?
と別のもっとより良い発想が出てくるかもしれません。
逆にこれがしっかり伝わっていなくいと、「いや、どうしてもやりたいからキツくてもやって欲しい」となると思います。
最悪の場合、ただエンジニアが「面倒くさいからやりたくないと言っている」と捉えられることもあるかもしれません。
そしてエンジニアが「なぜやらない方がいいか」を説明するのと同じように、プランナー側も
なぜやりたいのか、やった方がいいのか
を伝えないといけません。
・この機能を作ることによってこれだけ便利になって、ユーザが楽しく遊べるから
・これがないと不便で、この機能が全然触られない可能性があるから
とこちらも色々理由があってやりたいと思っているはずです。
それがしっかりと伝わればエンジニアも
・そうか、それならちょっとスケジュールキツいけど作った方がいいな
・確かにこれを作らないのはヤバい。何とかして作ろう
となるかもしれません。
あるいは
・全部は作れないけど、ここまで作るのはどうですか?
・これは無理だけど、こっちの方法ならどうですか?
と提案をしてくれる人もいるかもしれません。
もちろんお互いにしっかり伝わった上でも、「リスクを考えるとやらない方がいい」と言う判断になることや、「そのくらいのリスクがあっても、必要なものなのでやりたい」となる場合はあると思います。
ただそれは双方が考えてることをしっかりと伝え合い、
理解して納得した上での決定
なので、お互いにスッキリした状態で気持ち良く仕事ができ、且つより良い状態のものにつながる可能性が高まるはずです。
逆にお互い伝わってない状態というのは、やることの意図、リスクとかを誰もしっかり理解しない上で進めていることにいるので、とても危険です。
それに上で書いたように、しっかりと理解していれば「じゃあこれならどうでしょう」と別のより安全でいい方法を考えることもできます。
何も伝わっていない状態ではその可能性を潰してしまうことにもなるので、非常にもったいないです。
あとはこういったやり取りをする際に、
お互い歩み寄ってしっかり相手の話を聞くこと
も大事ですね。
いくらしっかり伝えようとしても、相手が聞く耳を持たなかったり、理解する姿勢がなければ成り立たないので。
人間どうしても自分の意見、職種の意見を正と考えてしまうところがあるので、これは意識しておかないと意外とできないものです。
そしてこの姿勢でコミュニケーションを積み重ねていけば、双方の理解も深まるし、相手への信頼やリスペクトも生まれてくると思います。
それと言い方にも気をつけましょう。
ぶっきらぼうに「無理です、できません」とか「いや、やりたいんですけど」みたいに言ったらみんな人間なので、どうしてもカッとなってしまいます笑
冷静に、しっかりと考えていることを伝える意識が大事ですね。
今回はエンジニアとプランナーを例に話していますが、他の職種間でもよく起こりうることです。
これはなかなか難しい問題で、
伝える気がないわけではないのにただ説明が苦手で上手く伝わってない
キツい状況で冷静さを欠いて説明が雑になってしまった
ということもあるでしょう。
それでも、意識してしっかりと伝えようと考えているだけでも違いが出てくるはずです。
で、今回なにを一番伝えたかったかというと、しっかり人とコミュニケーションを取って、
腹落ちして納得した上で仕事をしましょう
ということです。
(今回の例で言うと、エンジニアとプランナー双方納得して開発する、ということですね)
ただ理由も話さずに「やってください!」「無理です!」みたいなやり取りをして、納得せずに「なんでこんなことやらなきゃならないんだ」と思って仕事をしていても、絶対にいい成果は出ません。
もし説明がなかったり、話しても納得していない時は「このリスクを負ってまでやりたい理由はなに?」「こんなに必要なものなのにやらない方がいい理由はなに?」とかしっかり相手の考えを聞き出しましょう。
各人がこういうコミュニケーションをしっかり取れているか否かで、
チームとしての結束が徐々に強まって行くか、
逆に溝が深まっていってしまうか、
いずれ大きな差が生まれて来ると、僕は思っています。