31 Januari 2005

Apa masalahnya?

Diterjemahkan dari "What's the Problem?" oleh Norm Carr dan Tim Meehan di muat di A List Apart What’s the Problem?: A List Apart



Satu masalah terbesar menyampaikan situs web, dan mungkin yang paling jarang dibicarakan dan ditulis, ialah bagaimana memutuskan, merinci, dan mengkomunikasikan, persisnya apa yang ingin kita bangun, dan kenapa. Apa masalah yang kita pecahkan? Siapa yang membutuhkannya? Buat apa situs ini, sebenarnya?

Pemahaman lemah tentang pengguna yang dimaksud atau visi klien kita, penggunaan tidak efektif dari sumberdaya yang terbatas, penekanan tak tepat pada prioritas rancangan yang salah, penekanan berlebihan pada teknologi yang kita senangi - semua menyumbangpada website yang gagal, terlambat, tidak tepat atau terlalu mahal. Pengalaman bisa mengajarkan kita bagaimana menghindari kesalahan, tetapi pelajaran terbesar dapat dipelajari oleh yang paling tidak berpengalaman: semakin cepat maksud dan tujuan dirumuskan dan dicatat dengan jelas, semakin mudah masalah-masalah dikenali dan diselesaikan, semkain mudah untuk mempertahankan fokuc, dan semakin baik hasilnya untuk semua.

Agak mengejutkan, pengembang web nampak enggan mengadaptasi metoda dan pendekatan dari disiplin ilmu lain yang bisa mengurangi msalah mereka. Khususnya pada tahap awal yang sangat penting, kita bisa mengambil manfaat dari meniru beberapa kebiasaan rekayasa software.

Memperkenalkan kasus penggunaan
Satu teknik yang sangat berguna untuk diertimbangkan adalah kasus penggunaan. Kasus penggunaan menyediakan cara yang sedehana dan cepat untuk memutuskan dan menjabarkan tujuan suatu proyek. Mereka dengan berhasil digunakan oleh banyak perekayasa software sebagai jalan menangkap tujuan tingkat tinggi (high level objective) dari suatu aplikasi pada masa tahap awal pengembangan. Tidak ada alasan bahwa pengembang web tidak bisa menarik manfaat dari pendekatan yang didorong oleh kasus penggunaan. Bahkan proyek yang awalnya kelihatan sedehana bisa berkembang menjadi raksasa tak terkendali bila maksud nya tidak di pertahankan dalam pikiran.

Jadi, apa itu kasus penggunaan?

Untuk mendefinisikan kasus penggunaan suatu proyek, kita perlu mempertimbangkan dua konsep, dan apa hubungannya:

* para aktor (pelaku)
* sasaran (goal)

Pelaku adalah semua orang dan segala barang yang akan menggunakan atau digunakan website kita. Tujuan adalah apa yang ingin dicapai oleh satu atau beberapa aktor. Untuk lengkapnya, tiap kasus penggunaan harus menjabarkan sasaran tertentu dan pelaku yang akan menjalankan tugas untuk mencapai tujuan itu.

Para aktor berada di luar situs kita - kita tidak menciptakan atau mengarahkan mereka - tetapi mereka menjalankan peran untuk mencapai tujuannya. Aktor yang paling jelas dalam kasus website mana saja adalah pengunjung ke situs bersangkutan. Mungkin tujuan mereka adalah membeli salah satu "thingamajigs" kita, mendownload software, atau sekedar menyerap konten yang menarik bagi mereka. Aktor tidak harus manusia; mungkin kita mengembangkansistem sidikasi untuk menghantarkan informasi ke banyak situs-berlangganan. Dalam kasus inim server konsumen remote adalah aktor.

Apapun visi kita, kasus pengguna akan menggambarkan tujuan yang dicapai oleh aktor yang melaksanakan tugas.

Menerapkan kasus penggunaan

Weblog memungkinkan pemiliknya untuk mengkomunikasikan pemikiran tentang suatu topik dan bagi orang lain untuk membacanya dan mungkin menanggapi. Aktor weblog yang jelas apenulis dan pengunjung ke web log. Penulis menjalankan peran menghasilkan isi (content) dan pengunjung memainkan peran membaca isi dan menanggapi. Tujuannya adalah menginformasikan dan menerima informasi.

Setelah sedikit brainstorming, kita bisa memutuskan bahwa beberapa tugas para aktor ini adalah membaca item, mencipta, emngedit, dan menghapus isi blog, menanggapi, mensidikasi, dan beberapa tugas administratif seperti mengendalikan akses, ijin, dan akun. Beberapa tugas sama untuk semua aktor dan beberapa khusus untuk satu aktor saja. Semua bisa dirangkum dalam kasus penggunaan yang menggambarkan gagasan awal kita: "publikasi weblog".

Diagram kasus penggunaan ini menggambarkan hubungan antara aktor dan tujuan:

pengunjung ---> "publikasi weblog" <--- penulis

Diagram kasus penggunaan memudahkan berpikir tentang hubungan, dependensi, antara kasus penggunaan dan aktor-aktor. Mungkin pengunjung dan penulis ingin bisa mencari isi/konten tertentu yang telah dipublikasikan di weblog:

pengunjung ---> "publikasi weblog" <--- penulis
\ ^ /
\ | /
\ | /
" search content "

Pengunjung dan penulis keduanya inging bisa mencari. Lebih jauh, tidak mungkin mencari isi yang belum dipublikasikan. Isi "search content" bergantung pada "publikasi weblog".

Kita telah memutuskan untuk menggunakan Google untuk fungsi pendarian kita. Google menajdi aktor dan kasus penggunaan "search content" tergantung pada Google. Tugas Google sebagai aktor adalah untuk memberi hasilpencarian.

pengunjung ---> "publikasi weblog" <--- penulis
\ ^ /
\ | /
\ | /
" search content "
Google


Sekarang kita sudah mengenali beberapa aktor yang terlibat dengan blog kita, tujuan yang ingin mereka capai dan ketergantungan diantaranya. Kita dapat menganggap ini sebagai arsitektur konseptual tingkat tinggi, yang akan berguna saat membuat keputusan tentang rancangan kemudian.

Semuanya bagus
Manfaat kunci dari kasus penggunaan adalah cara mereka mendorong cara terarah mempertimbangkan persyaratan proyek. Dari awal, kita merancang suatu produk dengan berkonsentrasi pada kebutuhan dan keinginan mereka yang akan menggunakannya.

Seperti pondasi apa saja, semakin baik kita mengerti kasus penggunaan, semakin mudah, semakin terfokus, dan semakin tepat pekerjaan selanjutnya. Kausu penggunaan adalah konteks yang memungkinkankita menggambarkan dimana dalam usia suatu proyek, elemen tertentu akan cocok, sehingga mendorong pembuatan keputusan yang lebih jelas sepanjang perekayasaan dan pembangunan.

Maksud menguraikan kasus penggunaan adalah untuk dengan pengertian tidak bermaksud menjabarkan peris apa sifat isi suatu situs dan bagaimana ia akan dibangun. Melainkan, kasus penggunaan mendefiniskan maksud dan tujuan: permasalahan yang ingin kita pecahkan. Menetapkan tujuan ini menjadi dasar untuk cakupan (scope) yang mengikuti.
Tambahan pula"

+ asal kita mempertimbangkan peran yang dimainkan para aktor dan tujuan mereka, model kasus penggunaan bisa muncul dengan cepat.

+ Diagram kasus penggunaan bisa menyederhanakan proyek yang kompleks menjadi gambar yang mduah dimengerti.

+ Kasus penggunaan menjamin bahwa cakupan kerja (scope) terkendali sejak awal. Pengenalan kasus penggunaan dan keterkaitannya memudahkan untuk membedakan antara tujuan inti yang harus dipenuhi dan pengembangan sekunder yang bisa ditunda. Penentuan cakupan kerja dengan cara ini memungkinkan perencanaan dan prioritas yang lebih baik.

+ Ia adalah gambaran proyek yang bersifat netral terhadap implementasi.

+ Ia bisa ditransportasikan. Tidak perlu peralatan khusus - kertas tempel, papan tulis, pensil dankertas, atau aplikasi grafis favorit kamu bisa digunakan untuk mendokumentasikan visi kamu.


Pengembangan yang didorong oleh kasus penggunaan adalah cara berfikir, disamping teknik. Dengan menekankan aktor dan apa yang ingin mereka capai, tim proyek bisa bergerak maju dengan percaya diri dan kejelasan yang lebih besar. Berdasar pemahaman yang kokoh sejak dini antara semuapihak yang terkait memungkinkan pembuatan keputusan yang lebih cepat kemudian, dan mendorong fokus terus menerus pada tujuan proyek yang sesungguhnya. Banyak yang telah ditulis tentang cara terbaik (best practices) untuk menggambarkan kasus penggunaan - dari Alistair Cockburn mungkin yang terbaik [1].

Untuk melihat penerapan kasus penggunaan, lihat guibot.com, yang memberi beberapa alternatif pandangan kasus penggunaan dari banyak halaman (internet).

[1] Writing Effective Use Cases. Alistair Cockburn. Addison-Wesley, 2001. ISBN 0-201-70225-8

____________
diterjemahkan dengan seijin penerbit

Tidak ada komentar: