このところ、あるインターネット向け製品の稼働に向けた作業で苦労していたのですが、毎度のことながら、問題が発生したときの様子についていろいろと考えさせられます。 「バグのないソフトウェアなどない」とソフト開発技術者が胸を張って発言するのも問題ですが、ソフトウェアに問題は確かにつきものです。技術的なミスなどもありますが、私がいつも頭を悩ませるのが「想定外の問題」です。 技術的なミスは、開発の進め方の工夫や、念入りに試験を行うことなどでかなり減らすことはできると思いますが、想定していなかったことは試験でも当然項目から漏れますから、問題があるまま稼働を開始してしまいます。 単純な処理の繰り返しであれば、想定漏れもかなり防ぐことができるかも知れませんが、インターネット向けのシステムでは、この「想定」が大変難しいのです。なぜなら、どのような端末・ソフトウェア・ネットワーク機器が相手になるかがそもそも想
![ソフトウェアの問題と騒ぎ:プログラマー社長のブログ:オルタナティブ・ブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/3d9067259b8b59a616222befed3d2e6edc79ae85/height=288;version=1;width=512/https%3A%2F%2Fblogs.itmedia.co.jp%2Fmt-static%2Fsupport%2Fassets_c%2Fuserpics%2Fuserpic-122-100x100.png)