継ぎ接ぎを続けるより、設計から作り直す。
機能を足し続けたシステムは、いつか土台が限界に近づきます。BeesBuild では、設計を全部そろえてから、ブロックごとに一斉に作り直します。作る時間が短いので、作り直しが現実の選択肢になります。
直し続けるか、作り直すか。
どちらが正しいかは、システムによって違います。比べる時の見方を並べました。
| 見方 | 直し続ける | BeesBuild で作り直す |
|---|---|---|
| 土台 | 古い前提の上に足していく | 今の前提で、設計から決め直す |
| 足すほど | 影響の範囲が読みにくくなる | データの持ち主ごとに、ブロックで分かれる |
| 試験と守り | 後から足す | 設計図に最初から入れる |
| 作る速さ | 1 か所ずつ順に直す | ブロックごとに同時に作る |
| 切り替え | 少しずつ置き換える | 旗で、新しい方へ少しずつ移す |
26 万行を、ゼロから作り直した。
Geniam Time は、26 万行あった既存のシステムを、改修ではなくゼロから作り直しました。コード・Web の試験・セキュリティの確認までを 1 日で終え、あとはエンジニアのレビューを経てリリースへ進む形です。
- 作り直す前
- 26万行
- 1 日で実装
- 約10万行作り手の言い方
- 始めて約 40 時間の main
- 約12.7万行
作り直しの進め方。
今ある土台のうち、会員とログインのように全員が使う物は残して乗せ、作る範囲を絞ります。決めることを先に全部答えてから、群れで一斉に作ります。
- 01 残す物を決める 今の土台のうち、乗せる物と作り直す物を分ける。
- 02 設計を全部そろえる 画面と問いで、決めることを先に全部答える。
- 03 一斉に作る ブロックごとのスレッドが、同時に作る。
- 04 エンジニアのレビュー 1〜2 週間ほどで確かめる(Geniam Time の場合)。
- 05 旗で切り替える 社内・試す人・全員と、少しずつ新しい方へ。