FF/RC/GM/RTMの意味を再確認する
FF/RC/GM/RTMはソフトウェアプロジェクトのマイルストーンで使われる用語であり、特にウォーターフォール型のプロジェクトにおいては頻繁に飛び交う用語である。会社やプロジェクトの進捗によって解釈の程度は異なってくると思われるが、それぞれの意味は以下である。
FF (Feature Freeze)
新規機能の実装が終わっているべき状態。Feature(機能)の実装がFreeze(凍結)されるタイミングのことである。この段階からQAテストが開始されることが多い。
テストが始まると、再テストの実施を極力行わないようにするため、ソースコードのコミットが厳格になる場合もある。FFまでにできる極力コードを入れ込むことが効率面から吉である。
ただしFeature Freezeと言っておきながら、実際にはテストの実施順序を調整してもらいつつ、まだ終わっていない機能の実装を若干後ろめたい気持ちで行うことが正しいエンジニアの姿である。
RC (Release Candidate)
製品として正式に公開されるソフトウェアの候補となるバージョン。この時までにMajor bug(出荷停止級の不具合)は0になっているべきタイミングである。Minor bugについてはざっと眺められる程度で次のリリースに回されることになる。
このためRCが近づくと「Majorを潰せ~」という号令がいたるところから聞こえてくる。
ただしRCはあくまでCandidate=候補なわけである。候補はいくつあっても良く、Major bugが見つかるたびにRC1, RC2,..,RC5というようにマイルストーンが伸びていく残念なケースも散見される。
GM (Golden Master)
リリース前ソフトウェアの最終バージョンのこと。このソフトウェアが複製され製品として世に送り出される。
信頼できるオリジナルファイルのことをマスターファイルと呼んだりするが、それにゴールドをつけて正に最終版みたいな大げさな表現だと感じるのは自分の他にもいるはずである。
これで最終バージョンだよね?とみんなで納得するための会合GM判定会議なるものが開かれたりもする。
RTM (Release To Market)
完成して世の中に出るタイミング。ネットワークのアップデートやアプリのリリースであるならば最後のMはMarket(=市場)であるが、ソフトウェアが完成してさあ工場で機器に組み込むぞ!という場合はRelease To Manufacturingと製造に変わる。
RTMまで終わるとひと段落で、さあ飲みに行こうかというノリに場合によってはなるが、市場バグが見つかった場合には関連チームは可哀想な思いをすることもある。