• パソコン(に限らずコンピュータ一般)で動作するアプリケーションで、不具合やバグの発生しないものは、ほぼ皆無と言っていい。
  • 実行時エラーといった低レベルのものから、仕様ミス、はたまた動作は問題ないのだがユーザーの要求するものではなかったり、いろんなレベルでのバグが発生する。
  • このようにプログラムを作るわれわれの稼業というのは、同時にバグを作りだす生業と言ってもいい。
  • そこでバグと付き合う一番の方法はバグを出すことを恐れることではなく、出たら出たで、恐れずに堂々と立ち会っていけばいいだけなのだ。
  • すなわち、どのような現象が発生しているかの把握。それには、バグを引き起こしていたのが、どういう操作で発生したのか?そして内部的にはプログラムの何処であり、どういう経緯でエラーに至ったのか。
  • 意外に思うかも知れないが、コンピュータの世界では基本的に仕事は順を追って実行されるので、追跡していけば人に説明できるような事が大半を占める。そもそも処理を書き込むのはわれわれ人間であるから、説明不能な事象は起こるわけがないのだ。説明できないと言ってる場合は、その人がその現象を説明できるだけの知識や思考を持ち合わせていないか、早くおうちに帰りたいかのどちらかである。
  • ユーザーに対して大切なのは、良くないことが起こっているときに、起こっていることをありのままに説明できる余裕を自分が持っているかどうかなのだ。相手が知らなくて困らないこと、言わなくても良いことは言わない方がいいこともある。ただし言うべき時にしっかりと言うべきことが言えなければ、知識も技術も何の意味も持たない。
  • 出来ないことや、どうしても早期解決できそうにないバグを抱えている場合に有効なのが、そのことを早くユーザーに知らせることである。それもそうだ。ユーザーはバグがあることに対して怒るのではない。結局そのアプリが使い物にならなくなるような致命的なバグをギリギリまで隠している人たちに対して怒るのだ。
  • しかし、実際に開発に携わっていると、バグが発覚するたびに繰り返されるフレーズは「私は言われたとおりにやりました」「仕様どおりです」。
  • 正当化して責任を逃れようとすることは、別に構わない。うまく責任を免れて、早く家に帰ることが出来れば、彼の彼女の人徳のなす業であるから。まぁどくだみ的には、鬱陶しいから帰ったまま二度と来ないでくれと、心の中で思っているのだが何か?
  • システムが動いていないときに優先的に見るべきことは、そのシステムが動いていないことそのものであり、考えるべきことは、システムをいち早く動かすための方策である。自分を正当化するための言い訳は家に帰って、カップラーメンすすりながらじっくりやっちゃってください。
  • それにシステムを動かすためのノウハウを一つでも多く学べば、それによって助かる人が少しづつでも多くなるではないか。
  • こんな小学生でもわかること、いい年しても行動に移せない人が、この業界には多すぎる。