Apakah yang dimaksud dengan manajemen kebutuhan (Requirements Management)?

sumber gambar: intland

Sebuah sistem yang akan dibangun mempunyai satu tahap krusial awal pembangunan sebuah sistem, yaitu rekayasa kebutuhan. Dalam rekayasa kebutuhan dibagi menjadi beberapa tahap untuk melihat kebutuhan setiap proses yang ada di dalam sistem. Ketika merekayasa sebuah kebutuhan, banyak terjadi perubahan yang cukup signifikan pada kebutuhan-kebutuhan yang telah dielisitasi.

Salah satu musuh utama dari rekayasa kebutuhan adalah perubahan kebutuhan yang tidak dimanajemen dengan baik sehingga menghasilkan masalah-masalah lain yang mendukung pembangunan sistem tersebut. Sehingga dibutuhkan suatu konsep dimana perubahan kebutuhan akan didokumentasikan dan diatur sedemikian rupa sehingga tidak mengganggu jalannya proses rekayasa kebutuhan. Proses itu dinamakan “Manajemen Kebutuhan”.

Requirements management (disebut manajemen kebutuhan) adalah sebuah proses untuk mendokumentasikan, menganalisa, melacak, dan mengatur prioritas sebuah kebutuhan yang kemudian dikomunikasikan dengan stakeholder. Manajemen kebutuhan mempunyai tujuan untuk memastikan bahwa dokumen kebutuhan yang ada telah sesuai dengan ekspektasi client, internal dan external stakeholder.

Manajemen kebutuhan meliputi komunikasi antara project team dengan stakeholder dan penyesuaian jika terjadi perubahan spesifikasi kebutuhan. Untuk mencegah terjadinya sebuah kebutuhan menimpa kebutuhan yang lain maka sebuah komunikasi yang terus menerus dan penggunaan tools untuk manajemen kebutuhan perlu dilakukan.

###Kebutuhan dan Manajemen Kebutuhan


Salah satu alasan kenapa sebuah tim pengembang membutuhkan manajemen kebutuhan adalah karena mereka menginginkan proyek yang dikerjakan berjalan dengan sukses. Bisa dikatakan bahwa menghindari kegagalan dalah suatu proyek merupakan motivasi untuk memanajemen kebutuhan. Selain itu, manajemen kebutuhan dapat meningkatkan kemungkinan dalam pengerjaan sebuah proyek menjadi sukses serta akan memunculkan kelebihan-kelebihan yang menjadi key factor dalam mendukung suksesnya suatu proyek.

sumber gambar: psoda

###Permasalahan dalam Merekayasa dan Memanajemen Kebutuhan

Dalam mencapai sesuatu yang baik terkadang seseorang menemukan kendala-kendala baik yang memberikan pengaruh besar ataupun kecil. Terdapat masalah-masalah yang dihadapi dalam memanajemen kebutuhan.

Dalam survey yang dilakukan pada tahun 1996 terhadap pihak pengembang, manajer, dan personil penjamin kualitas ditemui empat masalah besar dalam merekayasa kebutuhan, antara lain:

  • Tidak bisa menelusuri perubahan kebutuhan (71%)
  • Susah menuliskan kebutuhan (70%)
  • Fitur-fitur kebutuhan di luar nalar (67%)
  • Kebutuhan tidak terorganisasi dengan baik (54%)

###Skills dalam Manajemen Kebutuhan


Dalam sub bab sebelumnya dijelaskan beberapa masalah yang dihadapi baik dalam perekayasaan kebutuhan maupun manajemen kebutuhan. Untuk bisa memecahkan permasalahan yang ada maka dibutuhkan skills dalam melakukan manajemen kebutuhan.

Ada beberapa kemampuan utama yang harus dimiliki seseorang perekayasaan kebutuhan, yaitu:

a. Mampu menganalisa masalah
Ada beberapa langkah dalam menganalisa permasalahan yaitu:

  1. Mendapatkan persetujuan dari masalah-masalah yang sedang dipecahkan.
  2. Mengidentifikasi key factor.
  3. Mengidentifikasi lingkup dari sistem.
  4. Mengidentifikasi batasan-batasan yang diterapkan ke dalam sistem.

b. Mampu memahami kebutuhan-kebutuhan key factor

Kebutuhan berasal dari banyak sumber yang terkait dengan sistem yang akan dibangun. Sangat penting sekali bagi seorang perekayasa kebutuhan untuk bisa mensortinr kebutuhan berdasarkan sumber-sumber yang mengeluarkannya. Tidak hanya itu, perekayasa kebutuhan juga harus mempunyai banyak akses ke sumber-sumber yang bisa mengeluarkan kebutuhan pendukung.

c. Mampu mendefinisikan sistem

Agar mampu mendefinisikan sebuah sistem dengan baik dan benar, perekayasa kebutuhan harus menterjemahkan dan mengorganisir pemahaman dari beberapa kebutuhan pemangku kepentingan menjadi sebuah deskripsi yang berguna untuk membangun sebuah sistem. Perekayasa kebutuhan juga diharapkan bisa menulis definisi sistem dalam bentuk bahasa senatural mungkin sebelum menuliskannya dalam bentuk format yang lebih formal.

d. Mampu memanajemen lingkup dari sebuah sistem

Memanajemen lingkup dari sebuah sistem, lebih kepada penyeseuaian lingkup sistem yang akan dibangun terhadap kebutuhan-kebutuhan serta ketersediaan sumber daya yang ada.

e. Mampu mendefinisikan ulang sebuah sistem

Mendefinisikan ulang sistem mempunyai dua poin penting yaitu mendevelop deskripsi yang lebih detil dari definisi sistem yang berlevel tinggi dan memverifikasi sistem yang cocok dengan kebutuhan key factor serta mempunyai behavior sesuai yang diharapkan.

f. Mampu memanajemen perubahan dari kebutuhan

Sesuatu yang mutlak terjadi dari perekayasaan sistem adalah kebutuhan yang berubah. Tentunya perubahan kebutuhan ini bukanlah musuh bagi perekayasa kebutuhan. Musuh sebenarnya adalah perubahan yang tidak dimanajemen dengan baik. Dengan memanajemen perubahan, maka perubahan yang terjadi dapat ditelusuri dengan baik sehingga bisa ditindak lanjuti.

###Teknik Manajemen Kebutuhan


Pada umumnya ada empat kelompok informasi yang harus dikumpulkan pada manajemen kebutuhan:

  1. User – tugas-tugas apa saja yang harus dilakukan oleh user.
  2. Teknis – lingkungan perangkat keras dan perangkat lunak.
  3. Bisnis – mengumpulkan tujuan dari domain bisnis seperti kenaikan keuntungan ataupun efektifitas.
  4. Fungsional – bagaimana produk akan dibuat.

Untuk mengurangi resiko kegagalan dalam manajemen proyek ada enam teknik yang harus digunakan, yaitu:

  1. Wawancara – mengidentifikasi key factor dan kebutuhannya.
  2. Workshop – berusaha mencari konsensus di antara key factor.
  3. Brainstorming – berusaha menemukan pendekatan baru yang inovatif.
  4. Storyboarding – memastikan produk yang dibuat sesuai dengan kebutuhan.
  5. Use case – memastikan produk yang dibuat sesuai dengan keinginan dan aliran kerja user.
  6. Manajemen perubahan – memanajemen perubahan yang terjadi terkait perangkat lunak dibuat.

###Konsep Penting dari Kebutuhan


Untuk bisa mengaplikasikan skills manajemen kebutuhan terhadap sebuah proyek, perekayasa kebutuhan harus memahami beberapa konsep yang berguna bagi semua orang yang ada pada proyek tersebut. Konsep-konsep tersebut adalah:

a. Tipe-tipe kebutuhan

Semakin besar sistem yang akan dibangun maka semakin banyak juga tipe-tipe kebutuhan yang muncul. Tipe kebutuhan adalah sebuah kelas dari kebutuhan. Dengan mengidentifikasi tipe-tipe kebutuhan, tim proyek akan dapat mengorganisasi kebutuhan dalam jumlah yang besar menjadi sesuatu yang berarti dan menjadi grup-grup yang lebih termanajemen.

b. Cross Functional Teams

Tidak seperti proses lain yang ada dalam rekayasa sistem, rekayasa dan manajemen kebutuhan merupakan proses yang terkait dengan banyak pihak baik dari developer maupun dari pihak kepentingan. Bahkan terkadang perekayasa kebutuhan harus menyertakan pihak lain yang tidak berada dalam sistem, akan tetapi mengerti mengenai domain bisnis dari sistem tersebut.

c. Traceability

Tidak ada satu ekspresi dari kebutuhan yang berdiri sendiri. Seorang yang mempunyai tanggung jawab dalam tim mempunyai kebutuhan yang berbeda dengan lainnya. Fitur-fitur yang diminta biasanya relatif terhadap kebutuhan mereka sendiri. Terkadang antar satu kebutuhan dengan kebutuhan lain akan mempunyai ketergantungan sehingga ketika terjadi perubahan pada satu kebutuhan, maka kebutuhan lainnya akan ikut berubah. Dengan adanya kejadian ini maka akan lebih mudah menelusuri kebutuhan yang baik.

d. Atribut Multi-dimensional

Setiap tipe-tipe kebutuhan akan mempunyai atribut yang berbeda dan masing-masing kebutuhannya akan mempunyai nilai atribut yang berbeda (multi-dimensional). Seorang perekayasa harus mampu membedakan nilai-nilai dari tiap atribut kemudian merangkainya dalam sebuah tipe kebutuhan yang sesuai.

e. Change history

Antara kebutuhan individual maupun koleksi kebutuhan akan mempunyai sejarah yang berarti sepanjang waktu. Sementara diketahui bahwa perubahan dalam rekayasa kebutuhan sangat tidak terhindarkan. Oleh karena itu dibutuhkan perekaman terhadap versi dari perangkat lunak atau sistem yang dibangun sehingga sebuah perangkat lunak dapat dikembangkan dan dimanajemen dengan baik dan inkremental.

###Cara kerja Manajemen Kebutuhan


Setelah membahas skills dan konsep pada manajemen kebutuhan, sekarang merupakan penjelasan bagaimana urutan kerja pada manajemen kebutuhan sehingga menghasilkan manajemen kebutuhan yang baik.

Untuk bisa memfasilitasi manajemen kebutuhan dengan baik, sebuah tim proyek harus melakukan hal-hal seperti yang disebutkan dalam poin-poin berikut ini :

  1. Setuju terhadap common vocabulary dari sebuah proyek.
  2. Mengembangkan visi dari sistem yang menjelaskan permasalahan-permasalahan yang akan dipecahkan oleh sistem tersebut.
  3. Mengelisitasi kebutuhan-kebutuhan key factor dalam lingkup area seperti: fungsionalitas, kegunaan, kehandalan, performasi, dan dukungan.
  4. Memilih tipe kebutuhan apa yang akan digunakan.
  5. Memilih atribut beserta nilainya dari masing tipe kebutuhan.
  6. Memilih format-format dari kebutuhan kebutuhan yang dideskripsikan.
  7. Mengidentifikasi anggota-anggota tim yang akan menjadi author, berkontribusi atau hanya sekedar melihat satu atau lebih tipe-tipe kebutuhan.
  8. Memutuskan traceability apa yang dibutuhkan.
  9. Menyediakan prosedur untuk mereview dan memecahkan perubahan-perubahan yang terjadi pada kebutuhan.
  10. Mengembangkan mekanisme untuk men-track sejarah dari kebutuhan.
  11. Membuat progress dan laporan status dari anggota-anggota tim dan manajemen.

Referensi: ivtnetwork, apmknowledge, cdc, nyu, pmi.