KEIS BLOGは株式会社ケイズ・ソフトウェアが運営しています。

KEIS BLOG

エンジニア解体新書 10之巻


エンジニアになりたいみなさん、こんにちわ。

既にエンジニアのみなさん、気恥ずかしいのでお引取りを。
10回めの執筆となりました、「むみも(偽名)」です。

今回はバグについて少し書きたいと思います。

エンジニアにとってバグは切っても切れ離せない存在というか、
切り離したいのに足に絡みついてくる存在です。

当然発生しない方がいいに決まっていますが、
僕がいままで経験した現場でバグ0を達成できているところはひとつもありませんでした。
おそらくどのエンジニアもそうだと思います。

しかし、なぜこんなにも多くのエンジニアが長年立ち向かっているのにバグは根絶できないのでしょう?

nakazawa1

エンジニアによって答えは異なるでしょうが、僕は「普段行っているコミュニケーション自体に隙間があり、エンジニアリングとはその隙間を明るみに出す作業だから」だと思います。

例えばですが、友達に「それやっといて」と言われたとき、具体的には何をどうするのでしょう?
本を片付けるのかもしれないし、ケーキを冷蔵庫にしまっておくのかもしれない、
はたまた友達が貯めこんでおいた仕事を代わりにやってあげなけれないけないかもしれません。

ですが、現実世界でそういった場面に出くわした場合、人は今までの経験から推測を行い、
その場で最も適した、あるいは相手の意にそぐう可能性が高い行動を考え、行動します。

この時、とるべき行動を決定づける要素は友達の発言だけではなく、こちらの経験や推測などインプットされた情報以外が関わってきます。

しかしながらコンピューターには過去の経験、未来予想などを行うことができません。
やりたいことを余さず漏らさず伝えてあげる必要があります。

僕の経験上ですが、この余さず漏らさずという部分がバグの温床になるのだと考えています。
つまり、日頃の行動において僕たちは本来伝えなければならないことの数割しか伝えられておらず、
伝わっていない部分は相手の推測に甘えてしまっているため、コンピューターへの指示(仕様)を書くときにも必要な情報を適格に与えきれていないのではないかと。

コンピューターはとても力持ちで、素早く、どんなことでもできますが、

基本的には人間の言うことしか聞けません。
だからこそエンジニアは日頃から、自分の使う言葉が相手に対してどう伝わるか、
“誤解のさせようがない伝え方”ができているかどうかチェックする必要があると思っています。

日常生活においては誤解はする方もさせる方もそれなりに原因があります。
しかしIT業においては「誤解はさせるほうが悪」だと考えています。

実際に悪だというのではなく、相手の理解を期待していると大事故を起こす業界だからです。

バグはコンピューターが起こすのではなく、あくまでも人が起こすものです。
そしてその要因は、コンピューターの前に座っているときだけではなく、
むしろ日常生活の中にこそ潜んでいます。

エンジニアは、それを重々理解した上で日頃の行動に気をつけていくべきだと思います。

【関連記事】
エンジニア解体新書
エンジニア解体新書 2之巻
エンジニア解体新書 3之巻
エンジニア解体新書 4之巻
エンジニア解体新書 5之巻
エンジニア解体新書 6之巻
エンジニア解体新書 7之巻
エンジニア解体新書 8之巻
エンジニア解体新書 9之巻