Wednesday, April 12, 2006

UI screen design is not a prototype.

Di perusahaan tempat saya bekerja sekarang, hampir dalam setiap proyeknya selalu membuat prototipe. Prototipe biasanya berupa screen yang dibuat dengan HTML dan javascript. Seiring dengan berjalannya proses requirement gathering dan pembuatan dokumentasi requirement, prototipe tersebut diubah-ubah mengikuti kebutuhan. Prototipe tersebut kemudian di capture dan dimasukan dalam dokumen desain software.

Apa yang client lihat adalah screen capture dari prototipe dalam sebuah dokumen. Client tidak benar-benar bisa menyentuh atau menggunakan prototipe tersebut. Biasanya client tidak jeli (malas) untuk me-review dokumen. Apalagi membayangkan 'flow of process' dari fungsionalitas software dengan hanya melihat screen-capture dan penjelasan teks. Hal ini membuat client setuju untuk mendatangani dokumen tanpa pernah merasakan bagaimana nantinya dia akan menggunakan software tersebut.

Hasilnya setelah software selesai dibuat, bisa terjadi banyak kekurangan-kekurangan yang dirasakan oleh client pada software yang diberikan (deliver). Kita bisa saja berargumen bahwa memang seperti itulah software yang diberikan, telah tertera dalam dokumentasi dan telah ditandatangani. Tapi akibatnya adalah ketidakpuasan client terhadap software yang kita berikan, karena bisa jadi kekurangan yang ada pada software adalah common functionality seperti misalnya fungsi menghapus (delete) pada suatu item.

Hal tersebut bisa terjadi sebenarnya karena prototyping sebenarnya tidak dilakukan.
Kesalahnya adalah:
  • User tidak dibiarkan menggunakan sendiri 'prototype software'
  • Prototipe berubah wujud menjadi UI screen design, karena hanya menjadi screen-capture yang ada dalam dokumentasi.
  • Menggap tanda tangan adalah segalanya (sign-off is everything). Yaitu aggapan selama sudah dokumen sudah ditandatangani maka semuanya yang ada didokumentasi menjadi 'argueable' dan perubahan/tambahan terhadap feature akan menjadi change request.
Oleh karen aitu kita bisa meminimalisasi kesalah tersebut dengan membuat prototipe dan membiarkan user (client) menggunakan prototipe tersebut. Kita sebagai vendor sebaiknya hanya memberikan asistensi saat user mencoba protipe. Kesalahan atau kekurangan pada prototipe akan lebih mudah diterima oleh client dibanding, bugs yang ada pada software yang sudah diberikan atau dirilis.

Followers