21.3 Eksplorasi Desain dengan AI: Membandingkan Opsi Sebelum Memutuskan
Setelah memahami kondisi yang ada, langkah berikutnya adalah merumuskan apa yang perlu dibuat atau diubah, dan AI bisa membantu mengeksplorasi opsi desain.
Bayangkan Anda sedang merancang sistem pembayaran baru. Tim produk ingin pelanggan bisa membayar dengan kartu kredit, dompet digital, dan transfer bank. Pertanyaan desain yang muncul: apakah semua metode pembayaran ini ditangani oleh satu modul atau dipisah? Apakah kita perlu service khusus untuk setiap metode, atau cukup satu service dengan konfigurasi? Apakah kita butuh database terpisah untuk transaksi dari masing-masing metode?
Dalam situasi seperti ini, arsitek biasanya mengandalkan pengalaman dan intuisi. Arsitek yang sudah pernah membangun sistem pembayaran tiga kali mungkin langsung tahu pola mana yang cocok. Tapi masalahnya, setiap konteks berbeda. Skala berbeda. Tim berbeda. Persyaratan compliance berbeda. Keputusan yang benar di proyek sebelumnya belum tentu benar di proyek saat ini.
Di sinilah AI bisa menjadi alat eksplorasi yang kuat. Bukan untuk mengambil keputusan, tetapi untuk menghasilkan alternatif yang bisa Anda bandingkan.
Caranya sederhana. Anda memberi brief ke AI tentang situasi yang dihadapi: metode pembayaran apa saja, perkiraan volume transaksi, persyaratan keamanan, dan batasan tim. Lalu Anda minta AI menyusun dua atau tiga opsi desain. Setiap opsi harus disertai alasan, trade-off, dan implikasi terhadap hal-hal seperti performa, maintainability, dan waktu pengembangan.
Berikut contoh brief yang bisa Anda berikan ke AI.
Saya merancang sistem pembayaran dengan 3 metode: kartu kredit, dompet digital, transfer bank. Perkiraan volume 1000 transaksi/hari. Butuh kepatuhan PCI-DSS. Tim terdiri dari 4 backend engineer. Berikan 2-3 opsi desain arsitektur, sertai trade-off untuk performa, maintainability, dan waktu development.
Berikut diagram alur yang merangkum proses eksplorasi desain dengan AI.
Misalnya, opsi pertama adalah satu service monolitik untuk semua metode pembayaran. Keuntungannya: kode lebih sederhana, deployment lebih mudah, dan perubahan bisnis bisa dilakukan di satu tempat. Kerugiannya: jika satu metode bermasalah, semua metode terdampak, dan tim kesulitan mengukur performa per metode.
Opsi kedua adalah service terpisah untuk setiap metode. Keuntungannya: isolasi kegagalan, scaling independen, dan tim bisa mengembangkan setiap metode secara terpisah. Kerugiannya: kompleksitas operasional naik, perlu lebih banyak infrastruktur, dan koordinasi antar tim lebih berat.
Opsi ketiga bisa menjadi hibrida: satu service inti untuk logika bersama, dengan plugin untuk setiap metode. Keuntungannya: keseimbangan antara kesederhanaan dan fleksibilitas. Kerugiannya: perlu desain antarmuka plugin yang matang sejak awal.
Setelah AI menyusun opsi-opsi ini, tugas Anda sebagai arsitek adalah memvalidasi, mempertanyakan, dan membandingkannya dengan konteks nyata. AI bisa memberi daftar trade-off, tetapi hanya Anda yang tahu bahwa tim Anda saat ini hanya punya tiga engineer, atau bahwa sistem harus live dalam dua bulan, atau bahwa compliance mensyaratkan audit trail yang ketat.
Dengan pola ini, keputusan desain tidak lagi berdasarkan "rasanya ini yang benar" atau "dulu saya pakai pola ini dan berhasil". Keputusan menjadi berbasis evidence. Anda punya opsi yang terdokumentasi, trade-off yang tercatat, dan alasan mengapa satu opsi dipilih dibanding yang lain.
Praktik ini juga membantu Anda sebagai arsitek untuk tidak melewatkan alternatif yang mungkin tidak terpikirkan. Kadang AI menawarkan opsi yang tidak biasa, seperti menggunakan event-driven architecture untuk pembayaran, atau memisahkan logic validasi dari logic eksekusi. Anda bisa mengevaluasi apakah ide itu relevan atau tidak, tetapi setidaknya Anda tidak menutup diri pada kemungkinan baru.
Yang perlu diingat: AI tidak menggantikan judgment Anda. AI adalah generator opsi dan penyusun trade-off. Keputusan tetap di tangan Anda, karena Anda yang memahami konteks bisnis, kemampuan tim, dan prioritas organisasi.
Setelah eksplorasi desain selesai dan satu opsi dipilih, tibalah saatnya mewujudkan opsi itu menjadi kode. Tapi tidak semua kode perlu ditulis oleh AI, dan tidak semua bagian aman untuk diserahkan. Subbab berikutnya akan membahas kapan AI boleh menulis kode dan kapan Anda harus mengambil alih.