Aplikasi Cepat Dibangun, Tapi Arsitekturnya Makin Kusut?
Ini yang sering terjadi di banyak tim. Laju pengembangan meningkat, tapi kejelasan arsitektur justru perlahan memudar. Padahal, ini sudah bisa diduga sejak awal, ketika pertumbuhan tim tidak diimbangi dengan tinjauan struktural yang rutin.
Kecepatan Belum Pernah Setinggi Ini
AI coding assistant benar-benar mengubah ritme kerja tim engineering. Pekerjaan yang dulu butuh beberapa hari, sekarang bisa beres dalam hitungan jam. Ini bukan sekadar soal produktivitas individu, cara tim engineering bekerja secara keseluruhan pun ikut berubah.
Tapi ada satu hal yang perlu dicermati: kecepatan eksekusi dan kualitas arsitektur itu dua hal yang berbeda. Velocity tinggi memang menunjukkan kapasitas pengembangan yang kuat, tapi bukan jaminan bahwa sistem yang dibangun dirancang untuk tahan lama dan bisa berkembang ke depannya.
Disinilah peran engineering leader tetap krusial. AI mengubah cara kode ditulis, tapi tanggung jawab untuk memastikan keputusan arsitektur by-design, konsisten, dan selaras dengan arah sistem jangka panjang, itu tidak bisa didelegasikan ke mesin, seberapa cepat pun output bergerak.

Pergeseran yang Terjadi |
||
AI Menulis Lebih CepatKode produksi dihasilkan dalam hitungan menit |
Velocity MelonjakOutput meningkat drastis di semua tim |
Struktur TertinggalArsitektur tidak ikut berakselerasi |
Data yang Tidak Bisa Diabaikan
Studi oleh peneliti dari Carnegie Mellon University yang dipublikasikan pada 2026 menelaah lebih dari 800 open-source codebase aktif dari berbagai industri. Polanya konsisten di mana-mana, bukan sekadar kasus yang kebetulan. Kompleksitas memang tidak meledak sekaligus, tapi peningkatannya cukup merata untuk jadi peringatan serius bagi tim yang mengadopsi AI coding assistant tanpa pengawasan arsitektur yang jelas.
|
806 Codebase DitelitiStudi berskala besar di 2026 ini cukup luas untuk mencerminkan kondisi nyata di lingkungan produksi berbagai industri. |
+41.6% Kode Makin KompleksBegitulah yang terjadi di 806 codebase setelah tim mulai pakai AI coding tools, dan angka ini terus naik, bukan turun. |
2 Bulan Velocity Mulai MelandaiKeuntungan kecepatan itu ternyata tidak bertahan lama. Dalam dua bulan, lajunya melambat, sementara kompleksitas yang sudah menumpuk tidak hilang. |
|
Sumber: He et al. "Speed at the Cost of Quality: How Cursor AI Increases Short-Term Velocity and Long-Term Complexity in Open-Source Projects". 3rd International Conference on Mining Software Repositories (MSR '26), 2026. |
||
Mengapa Ini Terjadi
AI menghasilkan kode yang berfungsi. Itu fakta, dan perlu diakui dengan jujur. Tapi fungsionalitas lokal dan koherensi arsitektur adalah dua hal yang sangat berbeda. Model AI dirancang untuk menyelesaikan tugas yang spesifik dan sempit, tanpa benar-benar "tahu" soal batas modul, pola ketergantungan, atau ke mana arah desain yang sedang dibangun tim.
Model tidak tahu bahwa service A sudah terlalu banyak bergantung pada service B. Tidak menyadari bahwa pola yang muncul di tiga tempat berbeda itu sebetulnya kandidat abstraksi. Dan tentu saja, tidak bisa memperkirakan bahwa keputusan kecil hari ini akan jadi hambatan besar beberapa bulan ke depan.
Nah, yang terjadi kemudian adalah penumpukan keputusan yang masing-masing terlihat masuk akal, tapi secara kolektif mendorong sistem ke kondisi yang makin susah dipahami, diubah, dan dikembangkan. Ini bukan salah AI, ini sudah bisa diduga sejak awal. Namanya menerapkan optimasi lokal pada sistem yang punya kendala global.
AI mengoptimalkan apa yang ada di depannya, bukan arsitektur yang mengelilinginya. Tanpa pengawasan struktural, tekanan entropi ini menumpuk diam-diam di setiap commit.
Di minggu-minggu awal pakai AI, angkanya memang bagus. Fitur jalan lebih cepat, backlog menipis, velocity tim naik. Ini bukan ilusi, percepatan itu nyata dan bisa dirasakan langsung.
Studi yang relevan menunjukkan bahwa keuntungan velocity rata-rata sudah terkikis dalam dua bulan pertama, tapi kompleksitas yang ikut masuk bersifat permanen. Bukan berarti AI harus ditolak. Tapi kecepatan jangka pendek dan kesehatan arsitektur jangka panjang itu dua hal berbeda yang sama-sama butuh perhatian.
|
|
|||
Minggu 1–4Velocity meroket. Kode cepat dihasilkan, tim merasa percaya diri dan produktif. |
Bulan 2Mulai terasa. Kecepatan pelan-pelan melemah. Kompleksitas struktural |
Bulan 3+Velocity balik ke baseline, bahkan bisa lebih rendah. Kompleksitas terus menumpuk dan mulai memperberat setiap iterasi. |
Jangka PanjangSetiap perubahan butuh lebih banyak waktu, lebih banyak koordinasi, dan risikonya pun lebih besar dari sebelum AI dipakai. |
|
Biaya yang Tersembunyi |
|||
Risiko Nyata: Yang Tidak Terlihat
Bug vs. Architectural Drift
Bug punya sinyal yang jelas. Unit test gagal, monitoring berbunyi, pengguna melapor. Tim bisa langsung identifikasi masalahnya, cari sumbernya, dan perbaiki dalam siklus yang cukup terstruktur.
Architectural drift bekerja secara berbeda. Ia menumpuk lewat keputusan-keputusan kecil yang masing-masing terasa wajar, satu abstraksi yang bocor di sini, satu coupling tak terencana di sana, satu lapisan yang dilewati karena "lebih praktis". Tidak ada batas yang terlampaui. Tidak ada metrik yang mendadak berubah. Drift terjadi diam-diam.
Bagaimana Drift Bertumbuh
Setiap keputusan individual susah dikritik kalau dilihat sendiri-sendiri. Tapi secara kolektif, mereka perlahan mengikis kemampuan tim untuk memahami sistemnya sendiri dengan baik.
Konsekuensinya biasanya baru terasa jauh setelah penyebabnya terjadi. Tiba-tiba ada perubahan kecil yang butuh waktu tidak masuk akal, dan tidak ada yang tahu persis kenapa. Padahal, pada titik itu kompleksitas sudah terlanjur tertanam dalam, dan memperbaikinya bukan lagi sekadar tugas rutin, melainkan proyek tersendiri.
Architectural drift adalah bentuk utang teknis yang paling susah dikelola: ia tidak memberi sinyal sampai biaya perbaikannya sudah jauh lebih besar dari biaya pencegahannya.
Software Architecture Review: Pemeriksaan Struktural yang Terencana
Lacak Drift Sebelum TerlambatReview arsitektur yang terstruktur membantu tim melihat coupling yang tidak disengaja, abstraksi yang bocor, dan pola yang sudah bergeser jauh dari desain awal. Justru di sinilah nilainya, sebelum kompleksitas itu jadi hambatan yang susah diurai. |
Kecepatan yang Bisa Bertahan LamaAda perbedaan besar antara tim yang bergerak cepat karena arsitekturnya solid, dan tim yang terasa cepat tapi sebenarnya sedang menumpuk utang struktural. Yang pertama bisa dipertahankan. Yang kedua? Ada batasnya, dan batasnya sering tidak terlihat sampai sudah terlewati. |
Bangun Kepercayaan Diri TimSistem yang sehat secara arsitektur membuat tim bisa mengambil keputusan lokal tanpa was-was soal efek samping yang tak terduga. Bukan soal seberapa cepat, tapi soal seberapa yakin tim bisa bernalar tentang sistemnya sendiri. |
Architecture review bukan intervensi darurat, bukan pula penghambat momentum. Ini lebih seperti momen refleksi, kesempatan untuk mengecek apakah struktur yang ada masih mencerminkan pemahaman tim tentang domain dan kebutuhan sistem saat ini. Arsitektur yang baik bukan tujuan akhir. Ia adalah kemampuan untuk terus berevolusi by-design.
Proses Architecture Review
Setiap review dimulai dari hal yang paling jujur: melihat langsung codebase yang sedang berjalan. Bukan dokumen lama, bukan diagram arsitektur yang sudah basi. Hasilnya? Penilaian yang berbasis bukti nyata, bukan asumsi. Dari situ barulah disusun rekomendasi yang bertahap dan realistis, disesuaikan dengan kapasitas serta prioritas tim.
Discovery
|
Assessment
|
Report
|
Roadmap
|
Siapa yang Paling Membutuhkan Ini
Engineering Leaders
Bertanggung jawab atas kualitas sistem jangka panjang bukan hal mudah. Sprint velocity dan test coverage hanya memberi gambaran permukaan. Architecture review hadir untuk memberikan perspektif struktural yang sulit didapat kalau kita hanya melihat dari dalam tim sendiri.
Product Managers
Estimasi yang terus meleset, atau perubahan kecil yang butuh waktu jauh lebih lama dari yang seharusnya, ini bukan selalu soal kemampuan tim. Padahal, akar masalahnya sering kali ada di tumpukan keputusan arsitektur yang belum pernah ditinjau ulang secara menyeluruh.
Tim dengan AI Adoption
AI coding assistant memang mempercepat produksi kode secara signifikan. Tapi kecepatan tidak otomatis berarti koherensi. Tim yang mengadopsi tooling ini tanpa evaluasi berkala perlu tahu: bagaimana pola-pola baru itu berinteraksi dengan arsitektur yang sudah ada?
Tim yang Sedang Scaling
Saat tim tumbuh cepat, baik dari sisi jumlah orang maupun volume codebase, keputusan-keputusan lokal yang terasa masuk akal pada saat itu bisa menumpuk jadi inkonsistensi sistemik. Masalahnya baru kelihatan jauh kemudian, saat sudah makin sulit dibenahi.
Sistem Anda Dibangun untuk Tumbuh atau untuk Melambat?
Kompleksitas arsitektur jarang datang sekaligus. Ia menumpuk perlahan, dari keputusan-keputusan yang masing-masing masuk akal, tapi tidak pernah dikoordinasikan secara menyeluruh. Pertanyaan yang lebih penting bukan lagi "apakah drift sedang terjadi?", hampir pasti iya. Yang perlu dijawab adalah: apakah tim Anda punya cukup visibilitas untuk mendeteksinya sebelum terlambat?
Mulai dari Memahami KonteksnyaSetiap sistem punya ceritanya sendiri. Memahami komposisi tim, stack teknologi, dan sejauh mana AI sudah dipakai adalah titik awal yang jujur, sebelum bisa tahu di mana tekanan struktural paling mungkin muncul. |
Bangun Gambaran yang Lebih AkuratAsumsi soal kondisi arsitektur sering kali tidak mencerminkan kenyataan di lapangan. Padahal, keputusan yang baik butuh dasar yang solid. Review yang terstruktur bukan untuk menimbulkan kekhawatiran, justru sebaliknya, untuk menguranginya. |
Fokus pada Intervensi yang Tepat SasaranTidak semua drift perlu ditangani dengan cara yang sama. Dengan peta risiko yang jelas, tim bisa mengalokasikan energi perbaikan secara lebih proporsional, tanpa harus mengorbankan ritme pengembangan yang sudah berjalan. |