Spec-Driven Development: AI Assisted Coding Explained
| Istilah | Arti |
|---|---|
| spec-driven development | Cara membangun perangkat lunak dengan AI yang dimulai dari spesifikasi tertulis tentang perilaku dan batasan sistem, lalu spesifikasi itu memandu desain, kode, dan pengujian. |
| vibe coding | Gaya membuat kode dengan memberi prompt ke AI lalu mengoreksinya bolak-balik sampai hasilnya terasa pas, cepat untuk percobaan tetapi hasilnya sering tidak konsisten. |
| specification | Uraian tertulis tentang apa yang harus dilakukan sistem beserta batasannya, yang di video ini berfungsi seperti kontrak bagi AI sebelum kode ditulis. |
| requirements | Daftar kebutuhan proyek yang disusun dari spesifikasi dan menjadi acuan utama bagi agent saat menulis kode, menjalankan tes, membuat dokumentasi, dan melakukan verifikasi. |
| PRD | Singkatan dari product requirements document, yaitu dokumen kebutuhan produk yang dipakai pada tahap perencanaan dan desain dalam siklus pengembangan perangkat lunak tradisional. |
| SDLC | Singkatan dari software development lifecycle, yaitu tahapan pembuatan perangkat lunak dari perencanaan, implementasi, pengujian, deployment, hingga pemeliharaan, yang menurut video sering dilewati saat vibe coding. |
| AI coding agent | Asisten AI di browser atau komputer yang dapat menulis kode dan menjalankan tes berdasarkan instruksi, dan di video ini bekerja mengikuti spesifikasi serta requirements. |
| implementation | Tahap mewujudkan fitur menjadi kode yang berjalan, yang dalam spec-driven development baru dimulai setelah requirements dan desain disetujui. |
| test-driven development | Metode pengembangan yang dimulai dengan menulis tes tentang perilaku yang diinginkan sebelum menulis kode, dan di video ini disebut sebagai cikal bakal spec-driven development. |
| prompt | Instruksi teks yang diberikan kepada model AI, yang dalam spec-driven development berisi perilaku dan batasan sistem alih-alih perintah implementasi tertentu. |
| behavior | Cara sistem seharusnya bertindak dari sudut pandang pengguna, misalnya menerima login di endpoint tertentu, yang menjadi isi utama spesifikasi di video ini. |
| constraints | Batasan atau aturan yang wajib dipatuhi sistem, ditulis dalam spesifikasi agar AI tidak menebak sendiri cara terbaik membangun aplikasi. |
Video dari IBM Technology ini menjelaskan spec-driven development, cara membangun aplikasi dengan AI yang dimulai dari spesifikasi tertulis, bukan langsung dari kode. Pembicara menyebut bahwa bagian tersulit dalam membuat aplikasi kini bergeser dari menulis dan meninjau kode menjadi menyampaikan dengan jelas apa yang ingin dibangun kepada LLM. Ia membandingkan pendekatan ini dengan vibe coding, yaitu memberi prompt ke AI coding agent lalu bolak-balik mengedit prompt sampai hasilnya sesuai. Vibe coding cocok untuk percobaan cepat, tetapi hasilnya bisa berbeda di setiap percobaan, alasan keputusan model tidak jelas, dan tahapan SDLC yang biasa dipakai dalam rekayasa perangkat lunak ikut terlewati. Karena itu, pembicara menilai spec-driven development sebagai salah satu keterampilan terpenting bagi siapa pun yang ingin menjadi AI engineer atau memakai AI untuk membangun aplikasi.
Dalam spec-driven development, prompt tidak meminta implementasi tertentu, melainkan menjelaskan behavior dan constraints sistem. Spesifikasi itu menjadi semacam kontrak untuk menyusun requirements, yang kemudian menjadi acuan agent dalam menulis kode, menjalankan tes, membuat dokumentasi, dan verifikasi. Bila requirements disetujui, AI membuat dokumen desain berisi daftar tugas, dan baru setelah desain disetujui agent mulai mengimplementasikan. Pembicara menyebut pendekatan ini sebagai test-driven development dan behavior-driven development yang lebih kuat. Contohnya adalah halaman login. Dengan vibe coding, permintaan singkat bisa diimplementasikan dengan 30 cara berbeda. Dengan spesifikasi, fitur autentikasi pengguna dirinci sebagai endpoint POST di /login yang menerima variabel user dan pass, memiliki kode kegagalan bila username hilang, serta kasus uji yang memberi kode 200 untuk kredensial valid. Kesimpulannya, spesifikasi menjadi artefak utama yang mengarahkan implementasi dan pengujian sekaligus mengurangi ambiguitas bagi coding agent.
Kata kunci
- spec-driven development
- vibe coding
- SDLC
- requirements
- Membedakan vibe coding dari spec-driven development.
- Menjelaskan alur spec coding: spesifikasi sebagai kontrak, requirements, lalu implementasi oleh AI coding agent.
- Membandingkannya dengan siklus pengembangan tradisional (SDLC) dan test-driven development.
Tulis catatan pribadimu untuk modul ini. Catatan tersimpan di akunmu dan bisa dibuka dari perangkat mana pun.
