100% 完全に動作するシステムはない
誤解がないように説明しなければならないが「原則として、100%完全に動作するシステムは存在しない」と筆者は考えている。
なかなかエンドユーザーには理解しにくいかもしれないが、ほとんどのシステムには何らかのバグや制限事項があるものだ。完全に動作できるプログラムなど有り得ない。
不完全なシステムに対して、どのようにバグを修正するのか、またはどのように運用でカバーしていくのかが重要である。
納品した(もしくは納品された)システムの動作に「何らかの不備や違和感」を感じるケースもあるかもしれないが、それらをどのように許容し、向き合っていくのかを考えなければならない。
これはあくまでも筆者の個人的な意見であるが、日本人は『完璧主義』というか『不備や不具合を一切認めない傾向』があるように感じている。しかしながら、実際のプログラムにおいてはバグのないシステムなど存在しないのだ。
人間が完璧でない以上、システムも完璧であるはずはない。 予期せぬ動作をすることもあれば、システムがダウンすることだってある。
プログラムは更新される
ネットワークカメラシステムにおいても、当然ながらバグは存在している。ネットワークカメラ本体やレコーダーのファームウェアは定期的に更新されている。
ユーザーは必要に応じて修正されたプログラムをインストールし、更新しなければならない。
例えば、サイバーセキュリティ対策である。ネットワークカメラも、ネットワーク機器の1つであるため、やはりサイバー攻撃を受けるリスクは存在している。
もし、製品の脆弱性が発見され、その修正パッチがリリースされた場合、ユーザーはファームウェアの更新作業を実施する必要がある。
とはいえ、実際にファームウェアを更新するかどうかはユーザー自身の判断である。もし、ネットワークカメラをインターネットに接続せずに、社内ネットワークだけで運用する場合は、ファームウェアを更新しないという選択肢も考えられるだろう。
ファームウェアを更新するかどうかはユーザーの運用次第なのである。
ユーザーにとっては『バグがあるなんて不良品だ!』と思われるかもしれないが、『そもそも完璧なシステムは存在しない』という前提はご理解頂きたい。
あくまでも個人の考え方であるが、筆者の場合、新しくリリースされた直後のシステムや新製品をすぐに導入することは、あまりおススメしない。新しいシステムにバグは付き物である。
商品のリリースから1年くらい経過すると、いろいろなバグが見つかり、修正されたプログラムもリリースされる。ある程度、導入ユーザーが増えてから導入することを推奨している。
あまりにもレガシーなシステムを使い続けるのもどうかと思うが、新製品に飛びつくのも安定性に欠ける可能性がある。いわゆる『バグ出し期間』が必要なのだ。
人々に愛されたバグ
さて、ここで全く関係がない話をしたい。それが、ゲーム機におけるバグである。最近は、ゲーム機そのものがインターネットに接続されるようになり、製品上の問題点があっても修正プログラムがリリースされるようになっているが、以前のファミコンやゲームボーイには、往々にしてバグが存在し、修正されることはなかった。
しかしながら、それらのバグは『裏技』として認識され、逆に『面白い要素』として取り入れられることとなる。
一例としては、初代ポケモンである。初代ポケモンには本当に面白いバグが多かった。なぜか道具の7番目でセレクトを押下して戦うと、レベル100にすることができるのである。
また、ドラクエ4では、カジノで『838861』枚のコインを購入しようとすると、なぜか4ゴールドで購入できてしまうのである。
これらのバグは『ソフトの欠陥』として認識されることなく、『裏技』として人々から愛されることとなる。
個人の嗜好で購入する商品と、法人として組織全体で購入する商品を同列で評価してはならないが、『バグ』はすべてが悪ではなく、『うまく付き合っていくべきもの』として認識していただければ幸いだ。
そして、製品を提供するベンダー側も、ユーザーが困らないように、致命的なバグが見つかった場合は出来るだけ早く修正プログラムをリリースするように努めて欲しい。
まとめ
・あらゆるシステムにおいて、完全に動作する(バグのない)プログラムは存在しない。
・新製品のリリース直後はバグが多い可能性があるため、一定期間が経過したシステムの導入を推奨したい。
・ある程度のバグや不具合は発生する可能性があることを前提にして、どのような運用を行っていくのかを考えていくことが重要である。
※筆者のこの記事についても、誤字や脱字が存在しているかもしれない。もし、読者の方でお気づきの場合はコメントいただければ都度、修正していきたい。