Wireframing dan Prototyping yang Melewati Tahap Engineering

Turn this article into takeaways for your work.

Each assistant summarizes the article only for you and suggests best practices for your work.

Pertama kali itu terjadi padaku, aku hampir berhenti.

Aku sudah menghabiskan tiga minggu untuk alur pengaturan. File Figma yang indah. Setiap layar. State hover pada avatar upload karena aku peduli. Eng membangunnya. Kondisi kosong adalah kotak abu-abu menyedihkan dengan kata "Empty" dalam Arial 12px. Toast error adalah bilah merah bawaan browser. Loading adalah spinner generik yang muncul seketika, bahkan di dev lokal di mana request membutuhkan 40ms. Pesan validasi? Tooltip <input> HTML native yang berkata "please match the requested format."

Aku menghubungi engineer-nya. Dia berkata, dengan tenang, "kamu tidak menspesifikasinya." Aku marah. Aku kembali ke Figma. Dia benar. Aku tidak melakukannya.

Percakapan itu adalah seluruh alasan panduan ini ada. Engineering bukan musuhnya. Celah spesifikasi adalah musuhnya. Dan celah spesifikasi adalah masalah UX, bukan masalah eng.

Mengapa ini penting sekarang

Hitung biaya satu pengerjaan ulang. Satu fitur. Satu sprint. Kondisi kosong salah, penanganan error tidak ada, eng harus merefaktor komponen karena variannya tidak ada sejak awal. Dari empat pekerjaan terakhirku, rata-rata biaya satu pengerjaan ulang seperti ini adalah sekitar 40 jam desainer dan 60 jam eng. Itu 100 jam orang, biaya gabungan sekitar $12.000 hingga $15.000 tergantung timmu. Satu pengerjaan ulang per kuartal dan kamu sudah membakar $50 ribu per tahun untuk pekerjaan ulang yang bisa dicegah dengan dokumen handoff yang lebih baik.

Itu hanya angka uangnya. Biaya kepercayaan lebih buruk. Setelah pengerjaan ulang kedua, eng berhenti mempercayai spesifikasi kamu dan mulai membangun apa yang mereka pikir kamu maksud. Setelah yang ketiga, PM-mu berhenti percaya pada timeline-mu karena "desain selalu butuh satu putaran lagi." Handoff bukan sekadar serah terima. Ini adalah kontrak. Perlakukan seperti itu dan sebagian besar masalah ini lenyap.

Low-fi vs high-fi: kapan masing-masing layak digunakan

Kesalahan terbesar yang aku lihat desainer junior lakukan adalah melompat ke high-fi terlalu cepat. Mockup sempurna piksel sebelum alurnya dikunci. Eng melihatnya, bersemangat, mulai membangun. Lalu riset datang kembali dan alurnya berubah. Sekarang eng sudah mengirimkan setengah dari hal yang salah dalam kode produksi dan seseorang harus menjelaskan kepada PM mengapa sprint terlambat.

Low-fi untuk logika alur dan persetujuan pemangku kepentingan. Sketsa di kertas, Balsamiq, frame Figma kasar dengan persegi panjang placeholder. Pertanyaan yang dijawab adalah "apakah ini bahkan ide yang tepat?" Jangan memoles piksel layar yang mungkin kamu buang besok. Hasilnya adalah prototipe yang bisa diklik yang membuktikan jalur dari A ke B masuk akal, ditambah diagram alur. Itu saja.

High-fi untuk pembangunan. Piksel sempurna, teks nyata (tidak ada lorem ipsum, pernah, karena eng akan menyalin-tempelnya dan kamu akan menemukan "Lorem ipsum dolor" di halaman login yang sudah live, tanya aku bagaimana aku tahu), bentuk data nyata, semua state. Hanya setelah alur dikunci. Jika kamu mendapati diri memperbaiki detail tata letak pada layar yang alurnya masih diperdebatkan, berhenti. Kembali ke low-fi. Kunci alur dulu.

Tes jujur: jika pemangku kepentingan masih bertanya "tunggu, mengapa pengguna pergi ke sini?" kamu belum siap untuk high-fi. Tidak peduli seberapa cantik persegi panjangnya.

Celah spesifikasi yang akan ditanyakan eng (dan yang tidak kamu desain)

Inilah bagian yang tidak ada yang ajarkan di sekolah desain. Setiap layar memiliki sekitar delapan state. Kamu mungkin mendesain dua di antaranya. Ini adalah daftar yang akan dilempar eng kepadamu begitu mereka duduk untuk membangun:

Delapan state yang dibutuhkan setiap layar

  1. Default / terisi. Jalur bahagia. Kamu mendesain yang ini.
  2. Kosong. Nol item, nol hasil, pengguna pertama kali. Apa yang dilihat pengguna ketika tidak ada yang dilihat? "Belum ada item" bukan desain. Tunjukkan ilustrasi, teks CTA, tindakan sekunder.
  3. Memuat. Skeleton, spinner, optimistic UI. Dan aturan timing: berapa lama sebelum spinner muncul? (200ms adalah ambang standar; tidak tampilkan apa pun di bawah itu.)
  4. Error. Kegagalan API, validasi, izin ditolak, jaringan offline. Masing-masing berbeda. Error 500 tidak terlihat seperti 403, yang tidak terlihat seperti "kata sandi kamu terlalu pendek."
  5. Sebagian / terdegradasi. Setengah data dimuat, beberapa gambar rusak, widget pihak ketiga tidak berfungsi. Sistem nyata sering mengalami ini.
  6. Varian izin. Admin, anggota, penampil, tamu. Apa yang disembunyikan vs dinonaktifkan vs ditampilkan dengan tooltip?
  7. Data tepi. Nama panjang yang meluber, angka 0 / null / negatif, 47 item dalam daftar yang dirancang untuk 5, ID pajak dengan 32 karakter.
  8. Mobile / breakpoint. Jika desain adalah desktop-first, apa yang terjadi pada 768px dan 375px? "Responsif" bukan spesifikasi.

Aku menyimpan daftar ini di sebelah monitor. Sebelum handoff apa pun, aku memeriksa setiap layar terhadap delapan state. Jika satu state adalah "sama seperti default," aku menuliskannya. Jika "di luar scope untuk sprint ini," aku juga menuliskannya. Tujuannya bukan mendesain semua delapan selalu. Tujuannya adalah memutuskan semua delapan, dengan sengaja, dan memasukkan keputusan itu ke dalam file.

Celah delapan state adalah kegagalan paling umum yang aku lihat. Perbaiki satu hal ini dan kamu sudah menghilangkan mungkin 60% dari momen "kamu tidak menspesifikasinya."

Disiplin Auto-Layout di Figma

Auto-Layout bukan opsional. Jika file-mu tidak dibangun di atasnya, eng tidak bisa melihat mana yang komponen dan mana yang frame, tidak bisa membedakan padding dari margin, tidak bisa memprediksi apa yang terjadi ketika teks lebih panjang. Mereka menebak. Mereka menebak salah. Lalu itu menjadi salahmu.

Empat aturan yang sudah menghemat banyak jam:

  1. Komponen, bukan frame yang dipisahkan. Setiap elemen yang dapat digunakan ulang adalah komponen dengan nama yang bisa dibaca eng. Sebuah tombol adalah Button/Primary/Default, bukan Rectangle 47. Jika eng tidak bisa melihat nama komponen di inspector, mereka menebak.
  2. Token spacing nyata, bukan margin yang dikira-kira. 4, 8, 12, 16, 24, 32. Itu saja. Jika kamu mendapati diri mengetik padding: 13px kamu melakukan kesalahan. Pilih satu dan lanjutkan.
  3. Constraint diatur agar pengubahan ukuran benar-benar berfungsi. Uji setiap komponen pada ukuran terbesar dan terkecil yang bisa dimilikinya. Jika kartu rusak ketika judulnya memiliki 80 karakter, eng akan menemukan bug itu di produksi.
  4. Varian untuk state. Default, hover, aktif, dinonaktifkan, memuat, error. Semuanya dalam satu komponen, dapat diubah melalui properti. Eng menghubungkan varian ke state machine dan file menjadi mendokumentasikan dirinya sendiri.

Tes bau yang berguna: buka file-mu, klik elemen mana pun, dan lihat panel kanan. Jika kamu tidak bisa langsung mengetahui apa komponennya, varian apa yang digunakan, dan token spacing apa yang digunakannya, eng pun tidak bisa. Perbaiki sebelum handoff.

Design token: kontrak dengan eng

Token adalah hal paling berdampak yang bisa dikirimkan seorang desainer UX. Warna, skala tipografi, spacing, radius, bayangan, durasi gerak: semuanya diberi nama, semuanya didefinisikan sekali, semuanya direferensikan dengan nama di setiap komponen.

Kontraknya sederhana. Ketika sebuah token berubah (misalnya, merek diperbarui dari #0066FF ke #0052CC), eng mengubah satu variabel, bukan 40 komponen. Hal yang sama berlaku untuk skala tipografi, radius, setiap bayangan.

Pipa kerjanya sudah benar-benar baik. Figma Variables sebagai sumber kebenaran. Tokens Studio (atau ekspor Variables native) untuk mendorong ke JSON. JSON diimpor ke konfigurasi Tailwind, variabel CSS, atau build Style Dictionary. Eng tidak pernah mengetik nilai hex secara manual. Kamu tidak pernah memilih ulang warna dari ingatan.

Jika kamu belum menggunakan token, ini adalah investasi dengan ROI tertinggi yang bisa kamu lakukan kuartal ini. Migrasi pertama membutuhkan waktu seminggu. Setiap handoff setelah itu semakin murah.

Dokumen handoff: Loom ditambah anotasi

Dokumen handoff adalah kontrak. Handoff verbal bukan. "Aku akan langsung bicara dengan eng" adalah jalan pintas paling mahal dalam desain. Percakapan di lorong sangat baik untuk klarifikasi. Sangat buruk untuk spesifikasi, karena dalam tiga minggu ketika QA menemukan celah, tidak ada yang ingat apa yang kamu katakan.

Inilah tampilan dokumen handoff, dalam tiga bagian.

Bagian 1: Loom 5 menit yang menelusuri alur. Buka Figma, bagikan layar, tekan rekam. Telusuri alur dengan kecepatan developer yang belum pernah melihatnya. Sebutkan: titik masuk, setiap layar, perilaku yang tidak jelas ("perhatikan toast meluncur masuk, bukan memudar, 200ms ease-out"), dan setiap logika pergantian state ("ini dikosongkan ketika pengguna tidak punya invoice, tapi jika mereka punya invoice dan menghapus semuanya, kita tampilkan varian 'semua dihapus', bukan kondisi kosong pertama kali"). Aku menjaga struktur 3 menit: 30 detik konteks, 2 menit penelusuran alur, 30 detik hal-hal yang perlu diperhatikan, 30 detik pertanyaan-ke-eng.

Bagian 2: Frame Figma beranotasi. Callout bernomor di setiap layar. Bukan catatan tempel merah. Anotasi bernomor nyata yang dibaca seperti kontrak. "1: Avatar. Mengklik membuka modal uploader. Modal tertutup dengan Esc, klik overlay, dan setelah upload berhasil." Setiap interaksi. Setiap timing animasi. Setiap kasus tepi yang ditemukan dalam penelusuran delapan state.

Bagian 3: Kriteria penerimaan dalam bahasa eng. Inilah bagian yang dilewati desainer dan seharusnya tidak. Kriteria penerimaan terlihat seperti:

Ketika pengguna mengklik "Simpan" dengan email tidak valid, maka dalam 200ms muncul error inline di bawah field dengan teks "Masukkan alamat email yang valid," field mendapat border merah (token: border-error), dan fokus tetap pada field tersebut.

Itu tiga fakta perilaku (timing, teks, state fokus) yang bisa diverifikasi QA dan dibangun eng. Tulis lima hingga sepuluh dari ini per layar untuk interaksi apa pun yang tidak sepele. Ya, lambat. Memang sengaja lambat. Bagian yang lambat itulah tempat celah spesifikasi mati.

Satu aturan terakhir: tautkan ke satu frame Figma sebagai sumber kebenaran. Bukan 12 file. Bukan "lihat eksplorasi v3 dan v5 tapi bukan v4." Satu frame. Satu URL. Jika kamu harus menunjuk ke beberapa file, eng akan memilih yang salah dan kamu pantas mendapatkannya.

Mode kegagalan "Aku akan langsung bicara dengan eng"

Aku kenal desainer yang bangga dengan hubungan eng yang erat dan memperlakukan handoff tertulis sebagai overhead. Aku mengerti. Dulu aku seperti itu. Hubungannya nyata dan layak untuk diinvestasikan. Tapi hubungan bukan pengganti dokumen.

Tiga masalah dengan handoff verbal:

  1. Tidak ada catatan. Enam minggu kemudian ketika QA menemukan celah, kamu dan eng masing-masing akan setengah ingat percakapan secara berbeda. Siapa yang punya lebih banyak modal politik yang menang. Bukan begitu cara tim desain seharusnya bekerja.
  2. Tidak ada pemahaman bersama. Eng meninggalkan panggilan dengan interpretasi mereka. Kamu meninggalkan dengan milikmu. Tumpang tindih mungkin 70%. Celah 30% itulah tempat bug berada.
  3. Tidak ada cara untuk memverifikasi pasca-pengiriman. Ketika kamu duduk untuk melakukan QA build, tidak ada yang bisa diperiksa. Kamu melakukan QA berdasarkan perasaan.

Aturan yang sekarang aku jalani: jika tidak tertulis, itu tidak terjadi. Loom tertulis (ini adalah rekaman). Anotasi tertulis. Kriteria penerimaan tertulis. Percakapan lorong "hei, bisakah kamu juga lakukan X" ditindaklanjuti secara tertulis dalam satu jam, atau X tidak akan dibangun.

Ulasan pasca-pengiriman

Handoff belum selesai ketika eng merge. Selesai ketika kamu telah melakukan QA build yang live terhadap Figma, bersama-sama, dan mencatat celahnya.

Cara aku menjalankannya: pertemuan 30 menit di lingkungan sandbox atau staging. Desainer dan eng berbagi layar. Telusuri setiap layar dan setiap state. Untuk masing-masing, tiga kemungkinan hasil:

  • Sesuai. Lanjutkan.
  • Celah, perbaiki sprint ini. Catat, buat bug, eng berkomitmen untuk perbaikan. Biasanya 1-2 dari ini per fitur.
  • Celah, terima dan perbarui Figma. Kadang versi eng sebenarnya lebih baik, atau celahnya terlalu kecil untuk dijadikan sprint. Perbarui Figma agar sesuai kenyataan. Jangan biarkan file berbohong tentang apa yang ada di produksi.

Dosa besar adalah perbaikan diam-diam. Jangan memperbarui rilis berikutnya secara pasif-agresif tanpa memberi tahu eng. Jangan pura-pura celah tidak ada. Catat, putuskan bersama, lanjutkan. Setelah beberapa siklus ini, eng mulai mempercayai bahwa QA bersifat kolaboratif, bukan berlawanan. Mereka akan mulai menandai kekhawatiran mereka lebih awal dalam pembangunan.

Target yang wajar: maksimal 3 celah yang dicatat per fitur yang dikirimkan, berkurang seiring waktu seiring disiplin delapan state semakin kuat.

Mengukur keberhasilan

Tiga sinyal memberi tahu kamu bahwa disiplin handoff berfungsi.

  1. Nol momen "kamu tidak menspesifikasinya" per sprint. Ini adalah indikator tertinggal. Jika kamu masih mengalaminya, penelusuran delapan state belum dilakukan.
  2. Eng mengutip nama frame Figma dalam PR. "Mengimplementasikan Settings/Profile/Avatar-Upload v2." Ketika eng menulis pesan commit dan deskripsi PR yang mereferensikan frame-mu berdasarkan nama, file-mu telah menjadi sumber kebenaran. Itulah tujuannya.
  3. Ulasan pasca-pengiriman mencatat maksimal 3 celah per fitur. Dan celahnya bergerak menuju poles visual kecil, bukan state yang hilang atau perilaku yang salah.

Jika ketiga hal itu benar, kamu sudah menyelesaikan masalah handoff. Peranmu bergeser dari mempertahankan desain ke memperluas itu. Yang pada akhirnya adalah pekerjaan yang seharusnya dilakukan UX.

File Figma bukan seni. Itu adalah kontrak. Tulis segalanya. Telusuri delapan state. Rekam Loom-nya. Buat anotasi frame. Tulis kriteria penerimaan dalam bahasa eng. Jalankan ulasan pasca-pengiriman. Lakukan ini lima kali berturut-turut dan tingkat pengerjaan ulangmu mendekati nol, dan kamu berhenti takut pada Jumat handoff.

Camellia

Pelajari Lebih Lanjut

About the author

Camellia

Camellia

Principal Product Marketing Strategist

Camellia is Principal Product Marketing Strategist at Rework, helping B2B buyers pick the right software with confidence. With 6+ years in product marketing and 150+ SaaS tools evaluated across CRM, project management, and sales engagement, Camellia turns competitive intelligence into clear, honest comparisons. Readers get vendor evaluations they can trust to cut through marketing noise and decide faster.