アイキャッチ

開発で「○○するだけなのに、なんでこんなに時間がかかるの?」に対する説明を考えてみる

こんにちは。Webエンジニアをやっている、きあ(Chia)です。

先日とある方からこんな相談を受けました。

非エンジニアの人に「軽微な修正・追加になぜこれだけ時間がかかるのか」「何をしているのかわからない」という指摘をいただいた。

来たーーー!!!
エンジニアやってたら絶対一度は遭遇する問題だー!!
人によっては行く現場やチームで毎回頭を悩ませてそうなやつだー!

多分そのくらい「あるある」な話かな、と思うこの問題。
言われたエンジニアとしてはムッとするだろうし、非エンジニアの人からしたら「この人らサボってんじゃないの?」と言わないにしても、何をやってるかわからない分、モヤモヤとしますよね。

これに対しての説明方法って色々あると思います。
エンジニアはひとつの追加・修正をするのにどんなことをしているのか(設計やってコード書いてテスト書いて…)といった工程や、起こる問題についてつらつら列挙する人もいるかもしれません。
ただ技術がわからない人の中には、その工程がなぜ必要なのかを理解するのが難しい人もいますし(そこまでエンジニアがきちんと説明すれば良いのですが)、説明の仕方や人によっては煙に巻かれた、丸め込まれたような印象を持つ可能性もあります。そうなると、非エンジニアから見てエンジニアには不信感しかありません。

こういう時には、エンジニア・非エンジニアにもわかる「イメージ」で説明するのがいいのかな、と(個人的には)思います。

ということで、今回は「この問題に関して、私だったらこう表現する」という説明を書いてみようかと思います。

家の模型で考えてみる

たとえばベニヤ板で作った簡単な家の模型があるとします。これがプロダクトだとします。
(ダンボールでもプラスチック板でもなんでもいいですよ)

この家(イラストは犬小屋らしい)のまっさらな壁に非エンジニアの方が「こんな窓をつけたい」という依頼をエンジニアにしたとします。

画像1

既に窓は用意されているとして、壁は1枚のまっさらな板です。
窓を取り付けるのにやらなくてはいけないことを考えてみましょう。

画像2

1.窓のサイズにあった穴を板にあける
2.窓を取り付ける

うん、たったの2ステップ!簡単ですね。


…果たしてそうなのでしょうか。

壁は1枚の板でできているとは限らない

ここまでは外から見たときの工数の予想でした。

では実際、エンジニアが窓を取り付ける壁を見てみました。
すると、一見1枚の板に見えていた壁ですが、どうやら4枚の板を組み合わせてできていることがわかりました。

画像3

窓を取り付ける範囲はこの4枚の板すべてにまたがっています。
エンジニアはこの「4枚の板に穴を開けて、窓をつけた時に影響がないか」ということを調査・検討し、取り付け作業を進めていかなくてはいけないのです。
※この影響範囲(板の枚数)が増えれば増えるほど、取り付けはより困難になる傾向があります

つまり、外から見える形と内側で見える形が必ずしも同じとは限らないのです。

板だって「板」かはわからない

「外から見える形と内側で見える形が必ずしも同じとは限らない」と言いましたが、察しの良い方は気付いたかもしれません。
そうです。先程説明した4枚の板にもこれは当てはまります。

4枚のうちの1枚の板が細切れのパーツが組み合わさって板状になってることもありますし、もちろん1枚だけじゃなく全ての板がこうなってることもあるわけで。
(そうなってた時のことはあまり考えたくはない)

画像6

それならそれで最初に教えてよ

「一見シンプルそうに見えるものでも内部が複雑になっていることがある」ということはご理解いだたけたかと思います。(理解していただけたと思いたい)
ただタスクを依頼する側としては「そうなってるんだったら最初に説明してほしい」と思われるかと思います。

依頼をいただいた段階で説明できることももちろんあります。
ただ難しいケースのほうが多いように思います。

たまたま今回窓を取り付けたい壁に詳しい人がいた場合、「ここはこう複雑なので、このまま取り付けるとこのくらいの工数かかってしまいます」と説明することは可能なのですが、プロダクトの全てのパーツの詳細まで完全に覚えている人というのはほとんどいません。特に自分が作ったプロダクトじゃない場合は。

なんならそのプロダクトを作った本人ですら、どんな処理・構造になってたかということを忘れてしまっていることもあります。
エンジニアも人間、記憶容量に限界があるのでこれは仕方ない話なのです…。

なので、基本的に依頼をいただいてから調査をする形になります。
この調査がまた時間がかかりますし、調査して大丈夫だろうって思ったものの、着手した後に板が複雑になってることが判明することもあります。
(着手した後に気付くのは調査不足なのでエンジニア側が悪いのですが、割と発生することだったりします…その時は本当にすみません…)

話をややこしくすることもある第三者

模型の話に戻して、窓が例えば自前で用意されてるものなら良いのですが、外部の業者から窓を購入することもあります。
この時、窓を売る業者が「取り付けは簡単2ステップ!穴開けてはめるだけなので5分もあればできますよ!」と話しちゃったりするのですが、そうすると非エンジニアの人は「5分でできるんだ!」って思ってしまいます。

画像5

そしてその「5分でできる」の認識のまま取り付けをエンジニアに依頼して、「なんで取り付けるだけなのにこんなに時間がかかるの?」と言ってしまうのです。

それに対してエンジニアは
取り付けの場所に問題がないか調査してるんだけど? 穴開けて、取り付けて今ある4枚あるいはそれ以上のパーツ全てに影響ないか考えてやってるんだぞ?「だけ」ってなんだ? 「だけ」って???
とイラっとしてしまうのです。

画像6

お気づきかもしれませんが業者の「5分でできる」と言うのは、壁が本当に1枚の板になっていて、他に何もついていない時の話をしています。

実際の工数は外部の方はわかりません。
これまで説明したとおり、調査しないとわかりません。
そしてそれがわかるのはそのプロダクトを担当しているエンジニアだということは忘れないでいてほしいです。
(もちろん1枚になっていてサクッと終わらせられることもありますよ)

いかに信頼関係を築けるか

なるべく非エンジニアの方にも伝わる表現を、と思ったものの、内容的にはかなりエンジニアに寄った「エンジニアのこと理解して!」的な内容になってしまったのを反省しています。

結局のところ、こういう問題が起きるのってエンジニアと非エンジニアのコミュニケーション不足なのだろうと、書いてて改めて感じました。
特に外部の業者の話を内部のエンジニアより信じてしまうというのは、明らかに信頼関係を築けてない証拠なんだと思います。

エンジニアがしっかり工数を理由も添えて、非エンジニアにわかるように説明できてない
非エンジニアが外部の意見を信用して、実際に手を動かす内部のエンジニアに確認を取らない

エンジニアの「このくらいならわかるだろう」
非エンジニアの「このくらいでできるのだろう」
そういった思い込みがズレを生み出してるんでしょうね。

スピードが求められるビジネスの現場で難しいかもしれませんが、もう少しじっくり時間をかけてコミュニケーション、認識合わせはしたほうがいいのかもしれません。

あと言い方ですね。
説明したとおり、エンジニアは実際の取り付けの他に様々なことを考えながら動いています。
それを「○○するだけ」と言われると非常に自分達の仕事を軽く見られているように感じ、ヘソを曲げる人は少なくないと思います。
「何をしてるかわからない」と言うのに「○○するだけ」という言い方は「わかってるように」見えるのでやめたほうがいいです。
せめて「なにか難しいことがあるんですか?」とか聞いていただけると嬉しいです。可能な限りわかりやすくお伝えできるよう努力します。

そしてエンジニアの人はプライドを持って仕事に臨んでると思いますが、間違っても「俺たちがいなければ何もできないくせに」とか思わないこと。

あなたがしている説明は本当に「説明」になっていますか?
どうせ相手が技術のことわからないからと、難しい言葉や膨大な内容で相手を圧倒してませんか? それは説明ではなく脅しです。

非エンジニアとエンジニア、仕事の内容は違うとはいえ、同じプロダクトを作っているのなら手を取り合いたいところですよね。
相手に対して怒りや不満を抱く前に、自分達の接し方は問題なかったか、相手に不安を与えてないかということを見返しながら歩み寄りたいですね。

…と、結局うまい説明ができた気がしないので普段のコミュニケーション気をつけようという結論に逃げるのでした。

おしまい。


この記事が気に入ったらサポートをしてみませんか?