正しくても正しくない
エンジニア気質なのかどうかはわかりませんが、色々な人と一緒に開発を行っていると、たまにどこまでも完璧を求めようとする人に遭遇することがあります。鬼のようにテストケースを考え、ものすごい低い確率でしか起きない事にも対応しようとしてしまう性格の人です。システムを開発して物を提供する側としては、このように考えてくれる人はありがたいときもあり、困るときもあります。
開発者として考えれば、やはりバグは潰せていればいるだけ気持ちも楽になります。特に大人数相手にするようなシステムの場合はなおさらで、精神的にも非常に楽になります。たくさんのテストケースをクリアしているというのは、それだけ自信にもつながるでしょう。
すべての場合において、そのように開発が行えればよいのですが、往々にしてテストを一部省略してリリースを行わなくてはならない場合も、世の中には数多くあります。何時迄にこの件に対処できてなくてはならない、そんな時に限って他の不具合も発見してしまったことは、結構な人が体験しているのかなとも思えます。
少しでも完璧を目指そうとするならば、この場合はリリースを延期するのが正しいですが、全てのケースにおいてそれが正しいわけでもありません。問題となる不具合をまず解決することが大事なので、それ以外の不具合は後々対応とすることも珍しくありません。すべてをきっちりと済ませたい性格の人には、なかなか納得しにくい場面です。
こういったリリースにまつわる場面も含め、世の中の出来事にはそれに対する優先度がほぼほぼついて回ります。仕事の消化の仕方も近いもので、それぞれに優先度を割り振って順々に取り掛かっていくのではないでしょうか。それは限られた時間の中で、どこまでを実施するかを判断するための目安でもあります。そして厄介なのは、その優先度は人によって割り振り方が大きく異なることもよくある、というところではないでしょうか。
バグを潰すことよりも、バグがあるとわかっている状態でのリリースが優先されることもあります。反対にバグを潰すことを優先することもあります。その優先度の付け方は、関わる人達の中で決めるべきことなのですが、ここを一人の担当者で決めてしまおうとしてしまう人も見かけます。バグを無くすことは確かに素晴らしい事です。ですが、利用する側がまずこの点だけでも解消して使えるようにしたいと思っていたならば、バグを無くすことに注力しすぎるのは害悪と言ってもよいでしょう。
すべての状況にて通じる優先度の付け方は存在しません。銀の弾丸に近い万能薬は、どこにも存在しないのです。そのために、私たちは場面場面において考え方を変え、結果をより良い方向へ進める必要があるのです。これはどのような話題でも、同じなのではないでしょうか。
絶対的にこれだけが正しい、と言えるものは世の中にそれほど多くありません。正しいと思っている事があったとしても、場面やそこに関連する要素が変われば正しくなくなる事が殆どです。数学や化学のような明確な答えが存在するものとは違い、人が絡む以上は非常に曖昧となります。そのような環境でやり続けるためには、対応方法を数多く知ることが非常に大切なのだと思います。
お前がそう思うんならそうなんだろうお前ん中ではな、どこかのセリフではありませんが、自分が考えることが他の人にとっても正しいとは限りません。これは絶対正しい、と感じてしまっている時こそが、最も注意していかなくてはいけない時なのかも知れません。
コメント
山無駄
担当技術者という意味では、バグ0を目標にする気概は大切な資質ですね。
しかし、リーダやマネージャになるには、それに加えて優先度を決めるスキル
が必要になります。しかしそれはトレードオフではなくバグ0を達成できる
技術を持ったうえで優先度を決めるスキルも持つ、という事だと思います。