Alur Pembangunan (The Build Loop)
Berikut alur yang akan kamu jalankan berulang-ulang. Sengaja dibuat kecil.
- Potong fitur menjadi langkah-langkah vertikal yang kecil. Setiap langkah harus berupa sesuatu yang bisa kamu bangun, jalankan, dan lihat berfungsi dalam beberapa menit.
- Pilih satu langkah. Cukup satu. Abaikan yang lain untuk saat ini.
- Buat untuk langkah itu saja. Jelaskan secara spesifik apa yang berubah dan apa yang tetap sama.
- Tinjau perubahannya. Baca apa yang ditulis AI. Kamu tidak perlu memahami setiap baris, tapi baca sekilas untuk mencari hal yang jelas-jelas salah.
- Jalankan aplikasinya. Benar-benar klik tombolnya, muat halamannya, panggil endpoint-nya. Pastikan langkah itu berfungsi.
- . Simpan titik pemulihan (checkpoint) di version control dengan pesan singkat.
- Ulangi dari langkah 2 dengan langkah berikutnya — sampai fitur selesai.
Digambarkan sebagai siklus, alurnya terlihat seperti ini — kamu terus berputar melewatinya, satu langkah kecil per putaran, sampai fitur selesai:
┌──────────────────────────────────────────┐
│ │
▼ │
┌─────────┐ ┌─────────┐ ┌──────────┐ │
│ SLICE │───▶│ PICK │───▶│ PROMPT │ │
│ feature │ │ one step│ │ for step │ │
└─────────┘ └─────────┘ └────┬─────┘ │
(once, up │ │
front) ▼ │
┌──────────┐ │
│ REVIEW │ │
│ the diff │ │
└────┬─────┘ │
▼ │
┌──────────┐ │
│ RUN │ │
│ the app │ │
└────┬─────┘ │
works? │ │
broken ◀────────────────┤ │
undo & re-prompt │ yes │
▼ │
┌──────────┐ │
│ COMMIT │───────┘
│checkpoint│ next step
└──────────┘
Intinya adalah kamu tidak pernah jauh dari aplikasi yang berfungsi. Jika langkah 4 menghasilkan sesuatu yang rusak, kamu hanya punya satu perubahan kecil untuk dibatalkan, bukan tumpukan kekacauan.
Orang yang melompati langkah 4 sampai 6 merasa lebih cepat selama sekitar dua puluh menit. Lalu mereka menabrak bug yang tidak bisa mereka lacak, karena versi terakhir aplikasi mereka yang known-good (diketahui berfungsi baik) ada seratus perubahan yang lalu. Alur ini terasa lambat justru karena tidak pernah membiarkanmu menumpuk utang semacam itu.