Melatih system thinking TPM: membaca arsitektur dari level context sampai component lewat studi arsitektur NusaPay, memahami trade-off klasik (consistency vs availability, sync vs async, build vs buy), mengenali constraints, dan daftar pertanyaan tajam untuk architecture review

Setelah di episode 3 kita belajar menguji feasibility ide settlement T+0 lewat spike, risk register, dan feasibility memo, kini kita bekali diri dengan kemampuan yang membuat semua diskusi itu mungkin: membaca dan memahami arsitektur sistem.
Mengapa TPM wajib bisa ini? Karena hampir semua trade-off produk penting tersembunyi di arsitektur: kenapa fitur X lambat dikirim, kenapa fitur Y mahal dioperasikan, kenapa vendor Z mengunci roadmap. TPM yang tidak bisa membaca arsitektur akan selalu mendengar penjelasan tanpa bisa menantangnya. System thinking adalah bahasa ibu peran ini.
Cara paling pragmatis memahami sistem apa pun adalah pendekatan C4: lihat dari empat tingkat zoom. Untuk TPM, dua tingkat pertama sudah sangat memadai:
Beginilah container diagram NusaPay yang akan sering kita pakai:
Latihan membacanya: telusuri satu transaksi QRIS dari kiri ke kanan. Request merchant masuk lewat gateway, payment service memilih channel adapter, hasilnya diterbitkan sebagai event ke event bus, settlement service mengumpulkan event untuk pencatatan ledger, lalu mengirim file ke bank partner. Sekali kalian bisa menceritakan alur ini dengan kalimat sendiri, separuh system thinking kalian sudah terbentuk.
Pertanyaan yang langsung muncul dari diagram — dan inilah jenis pertanyaan TPM:
Arsitektur adalah seni memilih antara hal baik yang saling bertabrakan. Empat trade-off yang paling sering muncul dalam pekerjaan TPM:
Ketika dua node database tidak bisa berkomunikasi, sistem harus memilih: menolak request (menjaga konsistensi) atau tetap menerima (menjaga availability). Di NusaPay: saldo merchant untuk limit payout — lebih baik tolak payout sesaat daripada payout melebihi saldo. Keputusan seperti ini adalah keputusan produk yang kebetulan lahir di ruang arsitektur, dan TPM harus ikut memutuskan.
Panggilan sinkron (request menunggu jawaban) sederhana tetapi rapuh dan lambat di rantai panjang; asinkron lewat queue cepat dan tahan gangguan tetapi sulit dilacak dan akhirnya konsisten. Aturan praktis untuk produk: operasi yang user menunggu hasilnya di layar (cek status pembayaran) cocok sinkron; operasi yang user hanya butuh tahu nanti (notifikasi, settlement) cocok asinkron.
| Kriteria | Build | Buy/SaaS | Partner |
|---|---|---|---|
| Biaya awal | Tinggi | Rendah-sedang | Rendah |
| Kontrol roadmap | Penuh | Terbatas | Minim |
| Kecepatan go-live | Lambat | Cepat | Cepat |
| Margin jangka panjang | Terbaik | Terpotong | Tipis |
Contoh NusaPay: channel QRIS dibangun sendiri (inti bisnis), KYC dibeli dari vendor (komoditas), settlement T+0 dieksplorasi via partnership bank (regulasi). Kerangka sederhananya: bangun yang membedakan Anda, beli yang komoditas, bermitra saat regulasi menjadi penghalang utama.
Jangan terjebak dogma. Monolith cepat dikembangkan di tim kecil dan mudah di-debug; services memberi isolasi kegagalan dan skala tim. Pertanyaan TPM yang tepat bukan "kapan pindah microservices?" melainkan "batasan mana yang membuat tim kami lambat sekarang?" — kadang jawabannya malah sebaliknya: terlalu banyak service untuk ukuran tim.
Setiap arsitektur adalah produk dari constraint-nya. Saat review arsitektur, cari tahu batasan tak terlihat ini:
Constraint bukan alasan pesimisme — ia bahan baku strategi. Bet event-driven NusaPay di episode 2 lahir persis dari constraint batch harian yang membatasi produk T+0.
Tip
Saat engineer berkata "itu tidak bisa dilakukan", tanyakan versi presisinya: "tidak bisa, atau bisa dengan biaya X dan waktu Y yang tidak worth it?". Nyaris semua "tidak bisa" sebenarnya adalah trade-off yang belum dihitung.
Bawa daftar ini ke setiap sesi review desain:
Pertanyaan keenam adalah pertanyaan strategi yang terselubung: desain yang baik membuka pintu, desain buruk memasang gembok.
Latihan episode ini: tulis architecture brief untuk fitur settlement T+0 opsi A (batch siang) — satu halaman berisi: diagram sederhana alur baru, dua trade-off utama yang dipilih beserta alasannya, constraint yang berlaku, dan metrik kesehatan pasca-rilis. Simpan di folder 05-quality workspace kalian; dokumen ini akan kita pakai ulang di episode 13 saat membahas SLO.
Inti yang harus dibawa pulang:
Di episode 5 selanjutnya kita menerjemahkan semua pemahaman ini ke artefak harian TPM: Requirements & Spesifikasi Teknis — struktur PRD teknis, non-functional requirements yang terukur, acceptance criteria yang testable, dan jebakan-jebakan penulisan requirement yang bikin tim salah bangun. Sampai jumpa!