開発現場の危機管理を考える
危機管理と言っても特にその方面の専門家では無いので、自分の周囲5mまでの範囲を対象に考えてみる。ただし、ソフトウェア開発の現場で頻発する「仕様変更」のようなものは、今回は対象外。開発現場の周囲の状況について考えてみたい。
ずっと同じところで働いていると、予期せぬことが時々起こる。例えば、下記は今までに社内で経験した一例。
- 台風が直撃したので、会社では昼過ぎに退去命令が出て全員帰宅。幸い被害は無かったので、翌日には通常常業に戻り、工程の遅れは半日分で済んだ。
- 朝、チームのメンバが交通事故に遭いそのまま2ヶ月入院。その時はやや個人プレイ状態だったので進捗状況が分からず、見舞いを兼ねて病院まで行き、仕事の引継ぎを行った。
- 社内でボヤ騒ぎが有った(電気機器の老朽化が原因だったらしい)。幸い、直ぐに消し止められたので大きな被害は無かった。
事故はいくら注意していても避けられるとは限らないし、天災などはそもそも逃げようがない。だからこそ、事前にある程度の想定を行っておき、イザという状況が発生した時に動揺すること無く、よりスムーズに対処できるようにしておくことが必要なのだが、そのようなことを言うとどういう訳か「縁起でもない」「起こるわけが無い」「その時になって考えれば良い」「発生確率が低いことを考えても仕方ない」という思考停止状態に陥ってしまうのは残念なことだと思う。
エンジニアリングとして、ある程度の前提条件を元に計算をしておかなければ、合理的なリソース内でモノを作れないという理屈はよく分かるけれど、だからと言って「その前提以外の状況を考えなくて良い」ことにはならないと思う。前提条件を作るからこそ、その前提が破られた時の状況について思いを巡らせておくのが技術者の仕事ではないかとも思っている。
なお、ソフトウェア開発の現場で怖い状況の一つは「データやソースコードの消失」だ。社内ではSubversionに資料やコードを入れているけれど、例えば、今回の地震のような津波が発生して会社の建物を襲ったら、サーバやバックアップを含めて全てのデータが消え失せてしまうことが考えられる。機材はお金を出せば元通りに復旧できるけれど、データの類はそのような訳には行かないので、やっぱり遠隔地へのデータのバックアップが必要ではないかと感じている。(もちろん、「そんなこともやっていないのか?」という人もいるだろうけど、お金も個人情報も関係しないソースコードの管理をそこまで念入りに行なっている組織はどのくらい有るのだろう?)
また、個人のパソコンに入れているデータは、基本的に全てTimeMachineやDropboxの管理下に置いているのでバックアップとしては問題ないけれど、心配性の身としては「Mac本体とTimeMachineのHDDを両方同時に失う」事態が最も怖い。TimeMachineのデータをさらにバックアップしてくれる仕組みが無いものかと思っていたら、最近はAmazon S3へバックアップしてくれるNASが有るらしい。(大したデータでは無いはずだけど)失った時の精神的ダメージが大きそうなので、保険替わりとして半分本気で導入を考えていたりする。
バックアップ/リカバリでは、オンラインストレージ「Amazon S3」へ定期的にデータをバックアップ可能
http://itpro.nikkeibp.co.jp/db/article/10005186/
関連