FOFA ~Fix Once Fix All~ | Go The Distance

FOFA ~Fix Once Fix All~

FOFAって聞いたことありますか?私は最近知りました。

FOFAとは「Fix Once Fix All」の略で、バグを見付けたら同じようなバグがそこかしこにあると思え。そしてそれと同じようなまだ発見されていないバグを見付けて全部直せ、という原理原則のことだそうです。

このアプローチは非常に重要だと私も思います。FOFAができないで困るのは自分だからです。つーか、FOFAの姿勢が無いSEは総じて使えないと思います。戦う姿勢。コレ重要ではないでしょうか?

私は1年半ぐらい前の夏に、某小売店のシステムを担当していました。ホストマシンであるOS/930とWASをつなげるプログラム部分をパートナーさんと作成しており、本番環境で動かしてみたら激しくハマったわけです。

結局約1ヶ月間、某小売店のサーバールームで軟禁生活を強いられました。その時はもうFOFAしなくては、お客さんにも他社にも顔向けができない状況だったため、ほんと必死でした。後ろが決まってる上に、全体の進捗を最も阻害しているのが我々だったからです。

実際に「画面⇔Java⇔ホスト」とつないで見て初めてわかった画面のバグや、通信のバグ、普通にJavaのバグ、DBのコネクションを食いつぶすようなバグ(コレは焦ったw)、印刷モジュールのバグ(リリース10日前までバグってたw)、アプリで使っているあるJarの仕様でインフラにも問題があり、結局ネットワーク構成の見直しに至ったようなバグ…。これらを全て片付けなくてはならない状況に追い込まれていました。

その情シスからちょっと言った休憩スペースで、いつも缶コーヒー片手に( ´ー`)フゥー...と息をついていた自分が思い出されます。懐かしいなぁー。

お客さんから丸見えで軟禁状態で行うデバックというのは、ほんと神経使います。動物園のサルと同じですから…。

お客さんの会社の若い女性の方に「ほんとにあなた原因分かってるの?」みたいなことを言われた時のあの苛立ちを今でも覚えています。言いたくても言えない辛さ。胃が痛いぜw

今となっては、ほんとにいい経験をさせてもらいました。最も印象に残っており、最も自分が成長できたプロジェクトです。今でもその某小売店では私が作ったシステムが元気に稼動しており、その某小売店にいらっしゃるお客さまに使って頂いています。

TB先のエントリでも、「胃がキリキリ痛むようなインテグレーションをして最後に腹を括らなきゃいけないような時、FOFAでやらなきゃ痛い目にあうのは自分だ。」とありますが、ほんとにその通りです。

重要なのは、No Excuseの精神です。自戒を込めて、明日からまた頑張るぞー。