プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

時には名誉ある撤退を

リリース三ヶ月前の技術的挑戦はワクワクするが、リリース一週間前のそれはただのストレスである。解決できなかったからといって必須なものは後回しにすべきではないし、昨日はそれで解決できるか不明でストレスがやばかった。まあ今は山場を超えたので精神が安定しつつあるんだけど。

一週間前 - mizchi's blog

うんうん、分かる。ちゃんとテストしてるつもりでも、リリース直前に限って重大なバグが出てくるんだよね。

結局さ、人間追い詰められないと「そろそろテストするか」って気にならないわけですよ。事前に確認しておけば楽になるって分かってても、基本的にこの業界の人って忙しいわけで、間際になってテストしてみたら「あれ?」ってことになる。いつもすいません、はい ^^;

じゃあどうすればいいかというと、これがまたケースバイケースという身も蓋もない言い方しか出来ないんだな。理想はある程度(少なくとも一ヶ月ぐらいは)コードをフリーズしてひたすらテストできればいいんだけど、しょっちゅうデプロイするようなウェブサイト系のプロダクトだと論外だったりする。プロダクトごとにベストプラクティスを探っていくしかない。

ただ一つ言えるとすると、人間の能力には限界があるってことは理解しておいた方がいいと思う。明日納期だから、どうしたって解決しないといけない問題があって、何とかパッチを作ったとしよう。無事リリースできて、良かったね。でもこういうコードはろくにテストもレビューもされてなくて、あらたな重大バグを生む可能性が極めて高い。さらにパッチを出す。顧客の心象はどうだろうね。

ソフトウェアって、結局作った人への信頼しかないと思うんだ。仕事だって信頼されている人のところに多くの仕事が集まるよね。納期が大事じゃないとは言わないけど、長い目で見て、時には名誉ある撤退をすることも必要じゃないのかな。