New Era Post Vibe Coding, Caught between Dream and Reality
Konsep lama: Human (Analyst) => Specification => Human (Developer) => Source Code => Artifact
Konsep baru: Human => Specification => Source Code => Artifact
Berikut adalah contoh penerapan SDD pada source code:

Figure 1: Specs folder inside code namespace

Figure 2: API Specification Overview
Figure 3: API Specification Endpoints
Figure 4: Endpoint Return Code & Payload in Details

Figure 5: Endpoint Business Rule & Logic in Details
Dengan konsep ini, semua code berasal dari spec, tidak ada perubahan code manual. Jika ingin mengubah code, maka harus mengubah spec. Spec dan Code harus sama kondisinya. Spec reflect code, code reflect spec.
Conceptually Possible? Yes
Realistically Applicable? Not Yet
Why?
Saya sudah pensiun coding hampir 10 tahun. Saya sudah tidak mengenal lagi framework-framework terbaru, tahu, tapi tidak pernah benar-benar mencoba dan memakai. Namun saya aktif coding lagi untuk berbagai keperluan dengan menggunakan AI totally 100%. I don't even know where the hell is the starting point of this framework. Saya bahkan takut-takut juga untuk edit code bikinan AI tersebut karena saya totally tidak paham apa yg AI tuliskan, but IT WORKS. Saya bisa prompting dengan baik karena saya paham konsep coding, logic, dan analisis kebutuhan, meskipun tidak paham framework jaman now. So it is possible as a concept, dimana kita membuat prompt dengan sangat detail dan menghasilkan code yang sesuai expected result.
Lalu mengapa saat ini saya bilang belum "Realistically Applicable"?
Ada beberapa alasan:
- Developer masih harus melakukan prompting manual untuk mengeksekusi spec menjadi code.
- Tidak ada yg bisa memastikan state "spec = code" setiap waktu.
- Scaling problem, semakin besar aplikasinya, semakin banyak dan besar spec yang ditulis, sehingga semakin lama pula waktu yg dibutuhkan untuk prompt dan memastikan point no 2 tersebut.
- Prompt context limitation pada AI jika scope sudah terlalu besar.
Conclusion
SDD End Dream Goal adalah menghasilkan aplikasi dengan menggunakan Natural Language (bahasa manusia) tanpa perlu dibantu oleh manusia dengan hard-coding skills. Ke depan nanti, perlahan tapi pasti, akan lebih banyak code-prompter daripada code-programmer. Seperti saat ini kita lebih banyak menilai developer baru berdasarkan kemampuan analisis kebutuhan user daripada developer yang jago menuliskan algoritma kompresi atau quicksort.
Ya, developer tidak akan tergantikan oleh AI, namun Hard-coder lambat laun akan akan tergantikan oleh Soft-coder (smart prompter, analyst-level brain).
Namun untuk mencapai Dream Goal tersebut kita membutuhkan:
- Template SDD yang semi-structured. Terlalu kacau akan menurunkan kemampuan AI mendeteksi intent, terlalu terstruktur akan menafikan keunggulan AI untuk mendeteksi intent menggunakan natural language.
- Tidak ada manual code maupun editing lagi, code murni dari AI.
- Tools untuk memastikan "spec = code" setiap waktu.
- Performance AI yang lebih cepat seperti compiler mengubah source code menjadi artifact.
- Regulasi workflow yang jelas untuk menjalankan SDD, termasuk mitigasi risiko apabila spec tidak menghasilkan expected result.