連載
» 2011年10月14日 00時00分 公開

仕事を楽しめ! エンジニアの不死身力(17):「潜在バグはある」という意識でトラブル解決に臨む (1/2)

あなたはエンジニアの仕事を楽しんでいますか? この連載では、仕事を「つらいもの」から「楽しいもの」に変えるためのヒントを考えていきます。

[竹内義晴,特定非営利活動法人しごとのみらい]

不死身力が試されるトラブル対応

 システム開発の仕事に携わっていれば、誰しも必ずシステムトラブルを経験します。

 トラブルは、クライアントの業務には支障がない軽微なレベルから社会的影響を与えるレベルまでさまざまありますが、どんなものでもエンジニアはトラブル解決のために全力で取り組みます。まさに「エンジニアの不死身力」が試されるシーンといえるでしょう。

 さて、皆さんはトラブル解決の際、どのような意識で臨みますか? 今回は、「トラブル解決の心得」について紹介します。

まだ気が付いていない不具合は必ずある

 「潜在バグ」という言葉があります。潜在バグとは、「稼働しているシステムにおいて、まだ表面化していない不具合」のことを指します。これは何もプログラムのバグに限ったことではなく、仕様書の矛盾を示す場合もあります。

 開発現場では、テストやレビューを行って徹底的にプログラムのバグをつぶします。しかし、実際は、本番環境でなければロジックが動く環境を作れず、テストがかなわない場合、月次や年次処理などロジックがレアな場合など、潜在バグに気付けない場合があります。いざ運用が始まってから、設計時には想定していなかったデータをユーザーが入力することにより、仕様書レベルでの矛盾が表面化することもあります。

 システムは人が作るものなので、「完ぺきなシステム」というものはあり得ません。スペースシャトルや飛行機といった絶対にミスがあってはいけないものですら、事故率をゼロにはできないのです(部品を大量に使えば使うほど、不具合の出る確率はどうしても高くなります)。

 ですから私は、「システムにバグがあってはならない」と考えず、むしろ「バグのないシステムはない=あらゆるコンピュータ・コンピュータのシステムには潜在バグがある」という考え方をしています。

 これは、「バグや仕様書の不具合があってもいい」と開き直っているわけでは決してありません。バグをなくすためにベストを尽くしますが、それでも見つけられないバグは現実にあります。

 この現実をきちんと認識することがポイントです。「バグなど現実にあってはならない」という意識と「バグはなくすべきものだが、完ぺきにつぶすことはできない」という意識では、物事の見方とトラブル対応に差が出てきます。

システムトラブルが起こった時、責めてはいけない

 潜在バグがある状態でシステムをリリースすると、遅かれ早かれシステムトラブルが発生します。つまり“潜在”バグが“顕在化”するわけです。

バグが見つかった時、よく「なぜ、テストで気付かなかったんだ!」と担当者を責め立てるシーンを見掛けます。この叱咤(しった)は、「バグなどゼロであるはずだ」という意識があるからこそ出た発言でしょう。しかし、これはあまり得策ではありません。

 トラブルが発生した時は、つい感情的になって相手や自分を責めがちです。しかし、担当者を責め立てても、メンバーの士気を落とすだけで、解決の役には立ちませんし、いくら「もし、ああしていたら」「もっと、こうしていれば」と考えても、すでに起こってしまったことは変えられません。

 ならば、「トラブルが発生した原因」(過去)に目を向けるよりも、「どうしたら解決するか」(未来)に目を向けた方が建設的です。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

編集部からのお知らせ

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。