Membedah proses solution design secara end-to-end: dari requirement gathering, penyusunan desain tiga level (konseptual, logis, fisik), validasi lewat review dan PoC, hingga delivery — plus prinsip desain yang menjaga solusi tetap sehat dan template Solution Design Document pertama kalian

Setelah di episode 1 kita memahami peran dan scope seorang Solution Architect — menerjemahkan kebutuhan bisnis menjadi solusi end-to-end — kini saatnya membahas bagaimana pekerjaan itu dieksekusi. Proses adalah kerangka yang membuat hasil kalian konsisten: tanpa proses, dua proyek yang ditangani SA yang sama bisa menghasilkan kualitas desain yang berbeda jauh tergantung mood dan tekanan deadline.
Mengapa proses ini penting di dunia nyata? Karena kegagalan solusi hampir selalu bisa dilacak ke langkah proses yang dilompati: requirement tidak dikonfirmasi, alternatif tidak dibandingkan, desain tidak divalidasi, atau handoff tidak lengkap. Proses yang baik tidak menjamin sukses, tetapi membuat kegagalan terdeteksi lebih awal, saat biaya perbaikannya masih murah.
Proses solution design modern dapat diringkas menjadi empat fase yang saling menyambung:
Perhatikan panah mundur dari validation ke requirement: desain yang gagal validasi harus kembali mengklarifikasi asumsinya. Dan panah putus-putus dari delivery menunjukkan bahwa pembelajaran operasional selalu mengalir balik menjadi input requirement berikutnya. Proses ini iteratif, bukan waterfall satu arah.
Di fase ini SA bekerja bersama product owner dan stakeholder untuk memetakan:
Kita akan mendalami teknik requirement mapping di episode 3. Aturan emas fase ini: jangan mulai mendesain sebelum requirement terkonfirmasi tertulis — mayoritas proyek gagal bukan karena desain jelek, tetapi karena mendesain masalah yang salah.
Desain disusun bertingkat, dari abstrak ke konkret:
| Level | Pertanyaan yang Dijawab | Artefak |
|---|---|---|
| Konseptual | Komponen besar apa saja dan bagaimana data mengalir? | Diagram blok tingkat tinggi |
| Logis | Bagaimana tiap komponen berinteraksi? API/event apa yang dipakai? | Sequence diagram, data model |
| Fisik | Produk teknologi mana yang dipilih dan bagaimana dideploy? | Diagram deployment, IaC, estimasi biaya |
Kesalahan umum pemula: langsung melompat ke level fisik ("pakai Lambda, pakai DynamoDB") sebelum level konseptual matang. Akibatnya solusi terkunci pada vendor sejak awal dan trade-off penting tidak pernah dieksplorasi.
Sebelum desain diklaim selesai, uji dengan dua cara murah:
Important
Validasi bukan formalitas. Biaya memperbaiki kesalahan desain naik eksponensial seiring waktu: perbaikan saat desain butuh jam, saat development butuh hari, setelah production butuh minggu plus insiden nyata.
Desain yang disetujui diserahkan ke tim engineering sebagai paket lengkap: SDD, diagram final, ADR, estimasi, guardrails (standar coding, pipeline, kebijakan security), dan rencana milestone. Handoff yang baik berarti tim bisa mulai bekerja tanpa harus menebak niat architect. Episode 10 membahas struktur dokumennya.
Sepanjang empat fase itu, beberapa prinsip menjadi kompas saat mengambil keputusan:
Prinsip-prinsip ini bukan daftar hafalan — mereka akan muncul berulang kali dalam konteks konkret: saat memilih arsitektur (episode 4), mendesain integrasi (episode 6), atau menyiapkan DR (episode 15).
Saatnya latihan pertama. Buat file docs/sdd-template.md di folder lab kalian dengan kerangka berikut — inilah tulang punggung dokumen yang akan kita isi sepanjang series:
# Solution Design Document: [Nama Proyek]
## 1. Konteks & Tujuan Bisnis
Masalah, tujuan terukur, stakeholder utama.
## 2. Requirements
### Functional (daftar bernomor FR-01, FR-02, ...)
### Non-functional (NFR-01: target + cara diukur)
### Constraints (budget, deadline, regulasi, skill tim)
## 3. Arsitektur yang Diusulkan
Diagram konseptual -> logis -> fisik.
## 4. Keputusan Penting (ADR ringkas)
Keputusan | Alternatif | Alasan | Konsekuensi
## 5. Estimasi Biaya & Kapasitas
Asumsi traffic, breakdown bulanan, skenario pertumbuhan.
## 6. Risiko & Mitigasi
Risiko | Dampak | Mitigasi | Owner
## 7. Rencana Delivery
Milestone, PoC yang diperlukan, definisi selesai.Isi bagian 1 dan 2 dengan studi kasus pertama kalian — misalnya "sistem tiket event yang diproyeksikan 50.000 user serentak saat penjualan dibuka". Jangan isi bagian 3-7 dulu; itulah bahan episode-episode berikutnya.
Beberapa jebakan klasik dalam menjalankan proses ini:
Inti yang harus dibawa pulang:
Di episode 3 selanjutnya kita akan membahas requirements to solution — cara membedakan functional vs non-functional requirement, menulis NFR yang terukur, serta memetakan setiap requirement menjadi keputusan solusi lewat traceability matrix. Sampai jumpa di episode 3!