障害が起きた時の本当の原因

今日知り合いの会社で、WEBの更新の際にある担当者のミスでお客さんがログインできなくなるという障害が発生したらしい。
障害といってもHTMLの1箇所修正することですぐに復旧したので大したものではない。
でもこういったミスはこの会社では頻繁に起きているようだ。

今回 直接の原因がその担当者の編集ミスだと判明すると、社内では軽く「まったくあいつは何やってんだか」「テストくらいしろよ」的な雰囲気になった。

でも待ってほしい。
その考え方は非常に浅はかで未熟なシロート的な考え方だと思う。
いちおう君たちもプロなんだから、もっと深く考えてほしい。

「誰がミスしたの?」「何でテストしてないの?」とか小学生みたいなこと言ってないで、ミスが頻発しているんだから、個々人の問題というよりこの開発プロセスやら環境やらの方にこそ問題があるんじゃないかと疑うべきだろう。
実際、この会社ではまともなテスト環境がない、ソースのバージョン管理していない、バグトラッキングシステム?ナンデスカソレのナイナイずくし。
信じられない。

ためしに「ジョエルテスト」をしてみた。

 x 1. ソース管理システムを使っているか?
 x 2. 1オペレーションでビルドを行えるか?
 x 3. 毎日ビルドを行うか?
 x 4. 障害票データベースを持っているか?
 x 5. 新しいコードを書くまえにバグを修正するか?
 x 6. 更新可能なスケジュール表を持っているか?
 x 7. 仕様書を持っているか?
 o 8. プログラマは静かな労働環境にあるか?
 x 9. 買える範囲で一番良い開発ツールを使っているか?
 x10. テスト担当者はいるか?
 x11. プログラマを採用するときにコードを書かせるか?
 x12. 「廊下での使い勝手テスト」を行っているか? 

1点だ。

ジョエルテストの全項目が必須だとは思わないが、「1,2,3,4」くらいは必須中の必須だろう。
彼らはまず上の「1,2,3,4」くらいなんとかすべきだ。