Kemunculan berbagai alat AI coding seperti GitHub Copilot, Cursor, Claude, ChatGPT, hingga berbagai IDE berbasis AI telah mengubah cara tim teknologi membangun produk. Banyak perusahaan berharap produktivitas pengembang meningkat drastis karena sebagian besar pekerjaan teknis kini dapat dibantu oleh kecerdasan buatan.
Namun kenyataannya tidak selalu demikian.
Alih-alih menghasilkan perangkat lunak yang lebih rapi dan cepat dikembangkan, banyak tim justru menghadapi masalah baru. Kode memang bisa dibuat dalam hitungan menit, tetapi kualitasnya sering kali tidak sesuai ekspektasi.
Tim engineering akhirnya menghabiskan banyak waktu untuk:
Memperbaiki kode yang tidak konsisten
Menyesuaikan arsitektur sistem
Mengatasi bug yang muncul akibat konteks yang hilang
Mengurangi technical debt yang terus bertambah
Fenomena ini melahirkan istilah yang semakin populer di dunia teknologi, yaitu Vibe Coding.
Vibe Coding adalah pendekatan pengembangan perangkat lunak yang mengandalkan percakapan berulang dengan AI tanpa spesifikasi yang jelas.
Dalam praktiknya, seseorang cukup memberikan instruksi sederhana seperti:
“Buatkan halaman dashboard untuk pengguna.”
Kemudian AI menghasilkan kode.
Jika hasilnya belum sesuai, pengguna akan memberikan instruksi tambahan:
“Tambahkan grafik.”
“Perbaiki tampilannya.”
“Buat lebih responsif.”
Proses ini terus berulang sampai hasilnya terlihat cukup baik.
Sekilas pendekatan ini terasa cepat dan praktis.
Namun masalah mulai muncul ketika proyek berkembang menjadi lebih kompleks.
Beberapa tantangan utama dari Vibe Coding antara lain:
Masalah
Dampak
Konteks tidak konsisten
AI menghasilkan solusi berbeda untuk masalah serupa
Tidak ada dokumentasi jelas
Sulit dipelihara oleh tim lain
Sulit diskalakan
Cocok untuk prototipe tetapi berisiko pada produk besar
Technical debt meningkat
Membutuhkan refactoring berulang
Ketergantungan pada percakapan
Informasi penting sering hilang
Pada akhirnya, tim tidak lagi mengalami hambatan dalam menulis kode. Hambatan berpindah ke kemampuan mendefinisikan kebutuhan secara jelas.
Sebelum era AI, menulis kode merupakan aktivitas yang paling memakan waktu.
Saat ini AI mampu menghasilkan ribuan baris kode dalam hitungan menit.
Akibatnya, proses yang paling menentukan bukan lagi coding, melainkan kemampuan mendeskripsikan apa yang ingin dibangun.
Jika instruksi yang diberikan tidak jelas, maka AI tetap akan menghasilkan sesuatu. Namun hasil tersebut belum tentu sesuai dengan kebutuhan bisnis.
Inilah alasan mengapa banyak organisasi mulai beralih ke pendekatan Spec Driven Development.
Spec Driven Development (Sdd) adalah metodologi pengembangan perangkat lunak yang menjadikan spesifikasi sebagai artefak utama dalam proses pembangunan produk.
Dalam pendekatan ini, tim tidak langsung meminta AI membuat fitur.
Sebaliknya, mereka terlebih dahulu menyusun spesifikasi yang lengkap dan terstruktur.
Spesifikasi tersebut kemudian digunakan sebagai sumber informasi utama untuk menghasilkan:
Kode program
Dokumentasi
Unit test
Integration test
Dokumentasi teknis
Dengan kata lain, AI tidak lagi bekerja berdasarkan tebakan atau percakapan spontan, melainkan berdasarkan dokumen yang jelas dan terukur.
Perkembangan Large Language Models (LLM) membuat AI semakin mampu memahami instruksi kompleks.
Namun kemampuan tersebut hanya optimal jika konteks yang diberikan cukup lengkap.
Bayangkan AI sebagai seorang insinyur baru yang bergabung dengan perusahaan Anda.
Jika Anda hanya berkata:
“Buat sistem pembayaran.”
Maka hasilnya bisa sangat beragam.
Namun jika Anda memberikan:
Tujuan bisnis
Flow pengguna
Wireframe
Design system
Arsitektur aplikasi
Acceptance criteria
Maka kemungkinan AI menghasilkan solusi yang benar akan jauh lebih tinggi.
Di sinilah kekuatan utama Spec Driven Development.
Tidak semua spesifikasi memiliki kualitas yang sama.
Spesifikasi yang efektif biasanya memiliki beberapa elemen berikut.
Satu spesifikasi sebaiknya hanya fokus pada satu fitur.
Dokumen harus menjelaskan:
Masalah yang ingin diselesaikan
Pengguna yang menjadi target
Hasil yang diharapkan
AI membutuhkan konteks sebanyak mungkin agar tidak berhalusinasi.
Konteks dapat berupa:
Dokumentasi sistem
Design system
Komponen yang sudah ada
Tiket Jira
Requirement sebelumnya
Alih-alih menulis:
Sistem harus mudah digunakan.
Lebih baik menulis:
Pengguna dapat menyelesaikan proses checkout dalam maksimal tiga langkah.
Kriteria yang terukur membantu AI menghasilkan solusi yang lebih akurat.
Seorang Product Manager harus mampu menjelaskan fitur dalam satu paragraf yang jelas dan tidak ambigu.
Jika deskripsi masih membingungkan, kemungkinan besar spesifikasi belum siap digunakan.
Banyak kegagalan implementasi terjadi bukan karena AI tidak mampu menulis kode, tetapi karena informasi yang diberikan tidak lengkap.
Karena itu PM perlu mengumpulkan:
Requirement bisnis
Desain UI
Dokumentasi teknis
Constraint sistem
Sebelum proses pengembangan dimulai.
Engineering, desain, dan bisnis harus memiliki pemahaman yang sama sebelum spesifikasi dibuat.
Jika tidak, revisi besar akan muncul setelah implementasi berjalan.
Aspek
Vibe Coding
Spec Driven Development
Dokumentasi
Minim
Lengkap
Konsistensi
Rendah
Tinggi
Technical Debt
Tinggi
Lebih rendah
Skalabilitas
Terbatas
Sangat baik
Cocok untuk Tim Besar
Tidak ideal
Sangat cocok
Kualitas Output AI
Tidak stabil
Lebih dapat diprediksi
Pemeliharaan Sistem
Sulit
Lebih mudah
AI tidak akan menggantikan Product Manager maupun Software Engineer dalam waktu dekat.
Yang berubah adalah bentuk pekerjaan mereka.
Jika sebelumnya kemampuan utama engineer adalah menulis kode, maka kini kemampuan mendefinisikan masalah dan menyusun spesifikasi menjadi jauh lebih penting.
Organisasi yang mampu membangun budaya dokumentasi yang baik akan memperoleh keuntungan besar karena AI dapat bekerja berdasarkan fondasi tersebut.
Sebaliknya, organisasi yang hanya mengandalkan prompt spontan kemungkinan akan menghadapi technical debt yang semakin sulit dikendalikan.
Tidak. Startup maupun tim kecil dapat menerapkan SDD untuk meningkatkan kualitas pengembangan produk.
Tidak. Vibe Coding sangat berguna untuk prototipe cepat, eksperimen, atau proof of concept.
Pemahaman teknis dasar sangat membantu, tetapi yang paling penting adalah kemampuan menjelaskan kebutuhan bisnis secara jelas.
Ya. AI dapat membantu menyusun spesifikasi, acceptance criteria, hingga edge case selama diberikan konteks yang cukup.
Karena keputusan teknis dibuat secara bertahap tanpa struktur dokumentasi yang jelas.
Beberapa tim menggunakan kombinasi Jira, Confluence, GitHub, Cursor, Claude, ChatGPT, hingga platform seperti Kiro yang memang dirancang untuk pendekatan berbasis spesifikasi.
Perkembangan AI telah mengubah cara perangkat lunak dibangun. Tantangan terbesar bukan lagi kemampuan menghasilkan kode, melainkan kemampuan mendefinisikan apa yang harus dibuat.
Di sinilah Spec Driven Development menjadi pendekatan yang semakin relevan. Dengan spesifikasi yang jelas, konteks yang lengkap, dan alignment yang kuat antar stakeholder, AI dapat berfungsi sebagai pengganda produktivitas yang sesungguhnya, bukan sekadar alat penulis kode otomatis.
Masa depan pengembangan software bukan hanya tentang prompt yang lebih baik. Masa depan ada pada kemampuan menerjemahkan IDE menjadi spesifikasi yang jelas, terstruktur, dan dapat dieksekusi oleh AI maupun manusia.