「バグ」という言葉はめちゃめちゃ危険〜今すぐできる、エンジニアと揉めない簡単な方法
公開日: 更新日:Share
システム開発のプロジェクトでは本当に色々なことが起きます。
特に、作っているものが全く思った通りにいっていないという状況も珍しくないはずです。
ここでは、そんな状況がさらに複雑になってしまうのを防ぐ方法をお伝えできればと思います。
まず結論としては、エンジニアさんに対しては
明らかにバグだと思ったとしても「この”仕様”について相談したい」
と声をかけてください。
それはなぜでしょうか?
順を追ってご説明させてください。
最後までお読みいただければ、きっと今以上にエンジニア(や部下)に慕われるあなたになれるはずです。
よくある状況
営業(マネージャー)さん「すみません、ここちょっとバグってました😃」
エンジニア(技術者)さん「これは仕様っすね🤨(スンッ....)」
...
......
............
めちゃくちゃあるあるですよね!
「いやだって実際バグってるじゃん!!!」と言いたくなる気持ちになりますよね。
それでもやっぱり危険
その場合でも、結論としては
「バグ」という言葉は絶対禁止
ぐらいに思っておくのが安全です。
なぜバグという言葉は禁止なの?
多くのエンジニア(技術者)にとって
「バグってる」と言われるのは「お前は仕事をしていない」に聞こえているから
です。
もちろん、そんなつもりではないですよね。
ちょっと違和感を指摘しただけです。
バグってるってそういうことですよね。
でも、エンジニア(技術者)さんは怒ってしまうかもしれません。
ではなぜそんなふうに聞こえてしまうのでしょうか。
それは
バグという言葉の定義が、営業(マネージャー)さんとエンジニア(技術者)さんで、大きく違う
からです。
定義のズレ
まず、営業(マネージャー)さんサイドでよく使われる定義としては
バグ=自分の思う通りに動いていない状態
です。
例えば「もうちょっとぬるっと動いて欲しいのに、なんか引っかかる」は、営業(マネージャー)さんにとってはほとんどの場合バグです。
一方、エンジニア(技術者)さんサイドからみたバグの定義は、大抵の場合
「もともとこう作ると約束していたこと」が、その通りになっていない状態
です。
これはどう違うのでしょうか?
説明
前提として、エンジニア(技術者)さんの中では
- やらなければならないと決まっていて、お客様などに保証していること
- できればやったほうがいいとわかっているが、お客様とお約束はしていないこと
- 言われてみればそうだな、ということ
- あなたはそうかもしれないが、私はそうは思わない、ということ
は明確に分かれています。
そうです、ここは本当に、はっきりと分かれているのです。
そして、エンジニア(技術者)さんからみて、
バグとは、
- やらなければならないと決まっていて、お客様などに保証していること
がその通りになっていない状態「のみ」
を指します。
それに対して、営業(マネージャー)さんとしては
- やらなければならないと決まっていて、お客様などに保証していること
- できればやったほうがいいとわかっているが、お客様とお約束はしていないこと
- 言われてみればそうだな、ということ
まで察してやってくれて初めて完成。
4は話し合いで。
という感覚があります。
お客様のご満足度が売上に直結するのだから当然です。
でもエンジニアさんからすれば「なら最初からそう決めておこうよ」という感覚なのです。
このズレが、営業(マネージャー)vsエンジニア(技術者)のバトルを生むのです⚔
そもそもなぜ分けているのか?
それは、システム開発とは、比喩ではなく実務として工数が無限大だからです。
- あらゆる人が想定する
- あらゆる使い方や
- またはちょっとした間違い操作も含めて
- 全てのパターンにおいて
- 「いい感じに動く」ようにする
というのは物理的にも、期間的にも、予算的にも、そもそも予測できるのかという観点でも、不可能です。
開発におそらく何兆もかかっているiPhoneですら「いい感じに動かない」ことはよくあるわけですから。
なのでどうしても優先順位をつける必要があるのです。
例えば営業さんならどういう状況?
ここで想像してみてください。
仮に営業さんが、エンジニア(技術者)さんに
「なんか色々言い訳してるけど、結局案件取れてないってことですよね?」
と言われたらどう感じるでしょうか?
いやいやちょっと待ってくれ💢と
色々自分では動かせない事情があるんだ💢と
こちらは全力でやっているんだ💢と
そういう気分になるのでは無いでしょうか?
さらに
「いやいや、そういうお客さんも世の中に一人ぐらいはいるでしょう。予想できなかったんですか?」
と言われたらどうでしょうか。
「いやもうこの人と仕事したく無いわ!」
人によってはそう感じてしまうかもしれません。
どこかにはいらっしゃるのかもしれないが、いらっしゃならいかもしれない、独特な思考のお客様方の全ての行動パターンを織り込んだ営業活動をすることは、当然不可能ですよね。
エンジニアさんも同じように実現可能性の高さに応じて優先順位をつけているのです。
結果、上に書いた通り、エンジニアさんにとっては
バグ = 「もともとこう作ると約束していたこと」が、その通りになっていない状態
ですから、カジュアルにでも「バグってます」と言われると「やるといったのにやってないじゃん」と言われているように聞こえてしまうというわけです。
エンジニア(技術者)さんにとってバグとはそれぐらい強い言葉なのです。
エンジニア(技術者)さんの本音
ここであえてエンジニア(技術者)さんの本音を書くと、こんな感じが多いと思います。
- まず、そんな話は聞いてない💢(または却下済み)
- そして「あなたの中の正解」など、エスパーじゃなければわからない💢
- 察したとして、それが正しいやるべきことかもわからない💢
- 正しかったとしても、それする時間があったら他を進めないとやばいでしょ💢
- 全体が押して私が怒られるのは納得がいかない💢
- どうしても必要なら私ではなくマネージャーに言って工数を確保してくれ💢
これを一言で言うと「それは仕様です」になるわけです。
だからやっぱり危険
ですので、エンジニア(技術者)さんたちと喧嘩をすることなくプロジェクトを進めたい場合には
「バグ」という言葉は絶対禁止
ぐらいに思っておくのを強くお勧めいたします。
ではどうすればいいのか?
明らかにバグだと思ったとしても「この”仕様”について相談したい」と声をかけてください。
営業(マネージャー)さんご自身がバグと仕様についてエンジニア(技術者)さんレベルで語れるようになるまで、どんな状況でも、「バグ」ではなく「仕様」という言葉を選んでください、ということです。
バグ=お前がやるべき仕事を、お前がサボったか無能だから、やっていない
仕様=全然今でもいい感じなんですけど、できればちょっと改善したいんですよね
ぐらいの差になってしまいますので😂
エンジニア(技術者)さんご自身が「これはバグだな」と思ったものは、
ご自分から「あぁ、これはバグですね、すぐ直します」と引き取っていただけることが期待できます。
なぜなら、エンジニア(技術者)さんにとってバグとは、事実としてバグですから。
大抵のエンジニア(技術者)さんは、事実に対しては非常に誠実です。
バグと仕様を明確に分けているだけ
で、
バグを否定・隠蔽しようとしているわけではない
のです。
誠実さの定義が違うだけなのです。
結論
というわけで
明らかにバグだと思ったとしても「この”仕様”について相談したい」と優しく声をかけてあげてください☺️
長々と無礼な物言いをし大変失礼いたしました。エンジニアさんたちの景色がちょっとでも伝われば嬉しいです。
ぜひエンジニアさんのお気持ちによりそって気持ちよく働いていただける、素晴らしいシステム開発になることを応援しております!
もし「実際に営業と開発の意見をすり合わせて欲しい」などご要望でしたら、ぜひ下記フォームでお声がけください💪
リモートでのサクッとご対応も承っております。