Inilah Pengertian dari Requirement Gathering dan Requirement Analysis
Assalamu‘alaikum wr. wb.
Halo gais! Jika kita ingin membuat suatu User Experience, tentunya kita harus menganalisis dan membuat Survei terlebih dahulu kepada Pengguna (User).
REQUIREMENT GATHERING
Sumber Artikel Materi : Tutorialspoint.com, Medium.com, Petasangacus.blogspot.com
Jika merujuk pada makna kata, Requirement merupakan sesuatu yang dibutuhkan; sesuatu yang wajib ada; kondisi yang dibutuhkan. Tapi yang akan kita bahas adalah suatu kondisi yang harus diselesaikan untuk memastikan keberhasilan sebuah proyek (software). Requirement ini harus menggambarkan secara jelas apa yang dibutuhkan dalam proyek.
Pengumpulan data merupakan bagian dari kegiatan penelitian yang bertujuan untuk memperoleh data dari sampel/subyek penelitian yang dipilih. Pengumpulan data dapat dilakukan dengan berbagai cara. Misalnya, mengukur, mendeskripsikan sifat-sifat benda, menghitung, dll.
Sumber data dapat dibagi menjadi 2 (Dua) Jenis yaitu sumber primer dan sumber sekunder. Data yang diperoleh langsung dari peneliti disebut sumber primer, data tersebut disebut data primer, dan data sekunder atau data yang sudah tersedia sedangkan peneliti yang mempublikasikannya hanya dari instansi/lembaga tertentu disebut data primer. Data disebut juga dengan sumber sekunder dan data sekunder.
Untuk penelitian yang menggunakan pendekatan kualitatif, data yang dikumpulkan biasanya berupa kata-kata daripada angka. Data kualitatif dapat diperoleh melalui berbagai teknik seperti observasi, angket, dan wawancara.
Teknik pengumpulan data sangat tergantung dari instrument yang digunakan. Instrumen pengumpulan data adalah alat bantu yang dipilih dan digunakan oleh peneliti dalam kegiatannya mengumpulkan data. Tujuan menggunakan instrumen adalah untuk memudahkan memperoleh data secara sistematis dan bisa dipertanggungjawabkan. Selanjutnya instrumen yang diartikan sebagai alat bantu merupakan sarana yang dapat diwujudkan dalam bentuk Angket/Kuesioner (Questionnaire), Daftar Cocok (Checklist), Skala (Scale), Pedoman Wawancara (Interview Guide / Interview Schedule), Lembar Pengamatan atau Panduan Pengamatan (Observation Sheet / Observation Schedule), Soal Ujian dan sebagainya.
Data yang dikumpulkan dalam penelitian digunakan untuk menguji hipotesis dan menjawab pertanyaan yang dirumuskan. Data yang dikumpulkan harus akurat karena data yang diperoleh akan digunakan sebagai dasar untuk menarik kesimpulan. Agar data yang terkumpul menjadi baik dan akurat, peralatan penelitian harus baik. Ada beberapa jalan survei dan dijelaskan di bawah ini tergantung pada teknik pengumpulan data.
Teknik menggambarkan bagaimana tugas dilakukan dalam keadaan tertentu. Sebuah tugas mungkin tidak memiliki satu atau lebih teknik terkait. Sebuah teknik harus berhubungan dengan setidaknya satu tugas. Berikut ini adalah beberapa teknik pengumpulan persyaratan yang terkenal :
1. Brainstorming
Brainstorming digunakan dalam pengumpulan kebutuhan untuk mendapatkan ide sebanyak mungkin dari sekelompok orang. Umumnya digunakan untuk mengidentifikasi solusi yang mungkin untuk masalah, dan memperjelas rincian peluang.
2. Analisis Dokumen
Meninjau dokumentasi sistem yang ada dapat membantu saat membuat dokumen proses AS–IS, serta mendorong analisis kesenjangan untuk pelingkupan proyek migrasi. Di dunia yang ideal, kami bahkan akan meninjau persyaratan yang mendorong pembuatan sistem yang ada – titik awal untuk mendokumentasikan persyaratan saat ini. Nugget informasi sering terkubur dalam dokumen yang ada yang membantu kami mengajukan pertanyaan sebagai bagian dari validasi kelengkapan persyaratan.
3. Kelompok yang Terfokus (Focus Group)
Grup fokus adalah kumpulan orang-orang yang mewakili pengguna atau pelanggan suatu produk untuk mendapatkan umpan balik. Umpan balik dapat dikumpulkan tentang kebutuhan/peluang/masalah untuk mengidentifikasi persyaratan, atau dapat dikumpulkan untuk memvalidasi dan menyempurnakan persyaratan yang sudah diperoleh. Bentuk riset pasar ini berbeda dari brainstorming karena merupakan proses yang dikelola dengan peserta tertentu.
4. Analisis Antarmuka (Interface Analysis)
Antarmuka untuk produk perangkat lunak dapat berupa manusia atau mesin. Integrasi dengan sistem dan perangkat eksternal hanyalah antarmuka lain. Pendekatan desain yang berpusat pada pengguna sangat efektif untuk memastikan bahwa kami membuat perangkat lunak yang dapat digunakan. Analisis antarmuka – meninjau titik sentuh dengan sistem eksternal lainnya penting untuk memastikan kami tidak mengabaikan persyaratan yang tidak langsung terlihat oleh pengguna.
5. Wawancara
Wawancara pemangku kepentingan dan pengguna sangat penting untuk menciptakan perangkat lunak yang hebat. Tanpa memahami tujuan dan harapan pengguna dan pemangku kepentingan, kami sangat tidak mungkin untuk memuaskan mereka. Kita juga harus mengenali perspektif setiap orang yang diwawancarai, sehingga kita dapat menimbang dan menanggapi masukan mereka dengan baik. Mendengarkan adalah keterampilan yang membantu seorang analis hebat untuk mendapatkan nilai lebih dari sebuah wawancara daripada seorang analis rata-rata.
6. Pengamatan/Observasi
Dengan mengamati pengguna, seorang analis dapat mengidentifikasi aliran proses, langkah-langkah, titik kesulitan dan peluang untuk perbaikan. Observasi bisa pasif atau aktif (bertanya sambil mengamati). Pengamatan pasif lebih baik untuk mendapatkan umpan balik pada prototipe (untuk menyempurnakan persyaratan), di mana pengamatan aktif lebih efektif untuk mendapatkan pemahaman tentang proses bisnis yang ada. Pendekatan mana pun dapat digunakan.
7. Pembuatan Prototipe
Prototyping adalah teknik yang relatif modern untuk mengumpulkan persyaratan. Dalam pendekatan ini, Anda mengumpulkan persyaratan awal yang Anda gunakan untuk membangun versi awal solusi - sebuah prototipe. Anda menunjukkan ini kepada klien, yang kemudian memberi Anda persyaratan tambahan. Anda mengubah aplikasi dan berkeliling dengan klien lagi. Proses berulang ini berlanjut hingga produk memenuhi kebutuhan bisnis yang kritis atau untuk jumlah iterasi yang disepakati.
8. Lokakarya Persyaratan (Requirement Workshops)
Lokakarya bisa sangat efektif untuk mengumpulkan persyaratan. Lebih terstruktur daripada sesi brainstorming, pihak yang terlibat berkolaborasi untuk mendokumentasikan persyaratan. Salah satu cara untuk menangkap kolaborasi adalah dengan pembuatan artefak model domain (seperti diagram statis, diagram aktivitas). Lokakarya akan lebih efektif dengan dua analis daripada dengan satu.
9. Rekayasa Terbalik (Reverse Engineering)
Ketika proyek migrasi tidak memiliki akses ke dokumentasi yang memadai dari sistem yang ada, rekayasa balik akan mengidentifikasi apa yang dilakukan sistem. Itu tidak akan mengidentifikasi apa yang harus dilakukan sistem, dan tidak akan mengidentifikasi kapan sistem melakukan hal yang salah.
10. Survei/Kuesioner
Saat mengumpulkan informasi dari banyak orang – terlalu banyak untuk diwawancarai dengan keterbatasan anggaran dan waktu – survei atau kuesioner dapat digunakan. Survei dapat memaksa pengguna untuk memilih dari pilihan, menilai sesuatu ("Sangat Setuju, Setuju, Netral, Tidak Setuju, Sangat Tidak Setuju"), atau memiliki pertanyaan terbuka yang memungkinkan tanggapan bentuk bebas. Desain survei sulit – pertanyaan dapat membuat responden bias.
REQUIREMENT ANALYSIS
Sumber Artikel Materi : Simplilearn.com, Geeksforgeeks.org, Kyaidigital.wordpress.com, dan SIS.Binus.ac.id
Di organisasi mana pun, setiap produk atau layanan baru dibuat sebagai respons terhadap kebutuhan bisnis. Namun, meskipun menghabiskan banyak waktu dan sumber daya untuk pengembangan, mungkin ada ketidaksesuaian antara produk yang dibutuhkan dan produk akhir. Oleh karena itu, ada kebutuhan untuk analisis kebutuhan yang terfokus dan terperinci pada tahap awal setiap proyek untuk menghindari masalah besar di masa depan.
Dalam artikel ini kami akan membahas topik-topik berikut yang akan memberi Anda pemahaman lengkap tentang analisis persyaratan dan banyak lagi, termasuk Definisi Requirements Analysis, Requirements Analysis Process, Teknik Requirement Analysis, dan Alat Analisis Persyaratan (Requirement Analysis Tools).
A. Proses Requirements Analysis
Sebuah Proses Analisis Kebutuhan (Requirements Analysis Process) melibatkan langkah-langkah berikut :
Langkah 1 : Identifikasi Key Stakeholders dan End-Users
Langkah pertama dari proses analisis kebutuhan adalah mengidentifikasi Pemangku Kepentingan (Stockholders) utama yang merupakan sponsor utama proyek. Mereka akan memiliki keputusan akhir tentang apa yang harus dimasukkan dalam ruang lingkup proyek.
Selanjutnya, identifikasi pengguna akhir produk. Karena produk dimaksudkan untuk memenuhi kebutuhan mereka, input mereka sama pentingnya.
Langkah 2 : Persyaratan Tangkap (Capture Requirements)
Tanyakan masing-masing pemangku kepentingan dan pengguna akhir persyaratan mereka untuk produk baru. Berikut adalah beberapa teknik analisis persyaratan yang dapat Anda gunakan untuk menangkap persyaratan :
1. Adakan Wawancara Satu-satu (One-on-One Interviews)
Wawancarai setiap Stakeholder dan pengguna akhir secara individual. Teknik ini akan membantu Anda mengumpulkan persyaratan khusus.
2. Gunakan Grup Fokus
Lakukan wawancara kelompok atau lokakarya kelompok untuk memahami aliran informasi antara berbagai pemangku kepentingan dan pengguna akhir. Teknik ini akan memastikan bahwa tidak akan ada konflik kepentingan di kemudian hari selama proyek berlangsung.
3. Gunakan Kasus Penggunaan
Kasus penggunaan memberikan panduan keseluruhan produk melalui mata pengguna akhir. Teknik ini akan membantu memvisualisasikan bagaimana produk benar-benar akan bekerja.
4. Bangun Prototipe
Sebuah prototipe memberikan pengguna tampilan sampel dan nuansa produk akhir. Teknik ini akan membantu mengatasi masalah kelayakan dan mengidentifikasi masalah sebelumnya.
Langkah 3 : Kategorikan Persyaratan
Karena persyaratan dapat dari berbagai jenis, mereka harus dikelompokkan untuk menghindari kebingungan. Persyaratan biasanya dibagi menjadi 4 kategori :
- Persyaratan Fungsional - Fungsi yang harus dilakukan produk.
- Persyaratan Teknis - Masalah teknis yang harus dipertimbangkan untuk keberhasilan implementasi produk.
- Persyaratan Transisi - Langkah-langkah yang diperlukan untuk mengimplementasikan produk baru dengan lancar.
- Persyaratan Operasional - Operasi yang akan dilakukan di backend untuk berfungsinya produk dengan baik.
Langkah 4 : Menafsirkan dan Mencatat Persyaratan
Setelah persyaratan dikategorikan, tentukan persyaratan mana yang benar-benar dapat dicapai dan dokumentasikan masing-masing persyaratan tersebut. Berikut adalah beberapa teknik untuk menganalisis dan menafsirkan persyaratan :
1. Tentukan Persyaratan Tepat
Pastikan bahwa persyaratan tersebut dinyatakan dengan jelas, cukup rinci, dan terkait dengan kebutuhan bisnis.
2. Prioritaskan Persyaratan
Prioritaskan persyaratan dan buat daftar berdasarkan mana yang "paling kritis" dan mana yang hanya "bagus untuk dimiliki".
3. Lakukan Analisis Dampak
Lakukan analisis dampak untuk memastikan bahwa Anda sepenuhnya memahami konsekuensi dari persyaratan.
4. Menyelesaikan Konflik
Atur pertemuan dengan pemangku kepentingan utama dan selesaikan persyaratan yang saling bertentangan. Anda juga dapat melakukan analisis skenario untuk mengeksplorasi bagaimana persyaratan akan bekerja untuk berbagai kemungkinan skenario.
5. Analisis Kelayakan
Lakukan analisis rinci produk berdasarkan persyaratan yang dikumpulkan untuk menentukan keandalannya dan untuk mengidentifikasi masalah utama.
Setelah semua persyaratan dianalisis, buat dokumen tertulis yang terperinci dan sebarkan di antara pemangku kepentingan utama, pengguna akhir, dan tim pengembangan.
Langkah 5 : Keluar (Sign off)
Setelah keputusan akhir dibuat tentang persyaratan, pastikan Anda mendapatkan persetujuan yang ditandatangani dari pemangku kepentingan utama. Hal ini dilakukan untuk memastikan tidak ada perubahan atau pertumbuhan yang tidak terkendali dalam lingkup proyek.
Sekarang, kita akan mempelajari Teknik Requirement Analysis.
B. Teknik Requirement Analysis
1. Business Process Model and Notation (BPMN)
Model dan Notasi Proses Bisnis digunakan untuk membuat grafik yang menyederhanakan pemahaman proses bisnis. Ini adalah teknik populer yang digunakan oleh analis bisnis untuk mengoordinasikan urutan pesan antara peserta yang berbeda dalam serangkaian aktivitas terkait.
2. Flowchart
Flowchart menggambarkan aliran sekuensial dan logika kontrol dari serangkaian aktivitas yang terkait. Mereka berguna untuk anggota teknis dan non-teknis.
3. Bagan Gantt
Bagan Gantt (Gantt Charts) memberikan representasi visual dari tugas bersama dengan jadwal waktu yang dijadwalkan. Mereka membantu analis bisnis memvisualisasikan tanggal mulai dan berakhir dari semua tugas dalam sebuah proyek.
4. Gap Analysis
Analisis Gap mengevaluasi kesenjangan dalam kinerja produk untuk menentukan apakah persyaratan terpenuhi atau tidak. Mereka membantu analis bisnis menentukan keadaan sekarang dan keadaan target suatu produk.
C. User Requirement
Sumber : Kyaidigital.wordpress.com dan SIS.Binus.ac.id
Functional and Non Functional Requirement engineering merupakan salah satu tahap yang paling penting dalam kegiatan proyek perangkat lunak. SR dibuat oleh klien yang memesan software. Secara umum prosesnya adalah diawali dengan client menuliskan requirement sesuai kebutuhannya, lalu tim pengembang menganalisis requirement tersebut, Kemudian setelah ada persetujuan kedua pihak, pembangunan RPL pun dapat dimulai. Dengan kata lain : Requirement adalah gambaran dari layanan (services) dan batasan bagi sistem yang akan dibangun. Atau gambaran pelayanan yang disediakan oleh sistem, batasan-batasan dari sistem dan bisa juga berupa definisi matematis fungsi-fungsi sistem. Proses menemukan, menganalisis, mendokumentasikan dan pengujian layanan-layanan dan batasan tersebut disebut Requirement Engineering.
1. Requirement Engineering
Hasil dari Requirement Engineering digunakan untuk :
Dasar penawaran suatu kontrak. Dalam hal ini item-item yang disajikan harus terbuka untuk masukan dalam pembangunan Software-nya nanti Dasar kontrak. Di sini item yang disajikan harus didefinisikan secara detil, sehingga apa yang akan dilakukan oleh pengembang menjadi jelas. Requirement engineering ini suatu tahap yang sangat penting, dimana di tahap inilah informasi-informasi serta batasan-batasan perangkat lunak yang akan dibangun di gali. Sehingga ini akan menjadi dasar tim pengembang untuk membuat perangkat lunak sesuai dengan data-data hasil requirement ini yang dituangkan dalam bentuk kontrak. Jadi pembangunan perangkat lunak tidak akan menyimpang dari requirement dan kontrak yang telah disetujui bersama dengan client.
Dalam pengumpulan requirement, dapat dilakukan beberapa metode, di antaranya adalah :
- Interviews
- Questionnaires
- Observation
- Searching
Macam-macam Requirement, yaitu :
- User requirement. Berisi tentang layanan yang disediakan sistem serta batasan-batasannya, dan diupayakan disajikan secara jelas agar mudah dipahami.
- System requirement. Kumpulan layanan/kemampuan sistem dan batasan-batasannya yang ditulis secara detil, sering disebut juga spesifikasi fungsional
- A software design specification. Gambaran abstrak dari rancangan software yang menjadi dasar bagi perancangan dan implementasi yang lebih detil.
Dalam pelaksanaannya, terdapat masalah-masalah yang mungkin terjadi dalam requirement, yaitu :
- Efek dari sistem baru terhadap organisasi sulit diantisipasi
- Adanya perbedaan user, menyebabkan beda pula requirement dan prioritasnya
- Adanya perbedaan requirement antara end-user sistem, dan organisasi yang membiayai sistem
- Untuk menjelaskan requirement dibutuhkan prototype
- Adanya perbedaan bahasa alami
2. User Requirement Gathering
Mengizinkan pengguna mencapai tujuan mereka menggunakan artefak Anda, seperti website, sistem perangkat lunak, atau apa pun yang Anda buat, adalah kunci untuk user experience yang baik. Mencoba mencari cara untuk membantu pengguna mencapai tujuan mereka adalah sia-sia jika Anda tidak menyesuaikan apa yang Anda ketahui tentang pengguna. Semakin Anda memahami pengguna, pekerjaan, dan konteks kerja, semakin Anda dapat membantu pengguna mencapai tujuan mereka, dan sistem Anda akan semakin berguna. Selanjutnya, kita akan membahas requirement gathering dan menjawab pertanyaan ‘Bagaimana saya akan tahu kebutuhan dari user?’.
Requirement adalah sebuah pernyataan tentang apa yang harus diberikan atau bagaimana penggunaan dari suatu produk. Supaya requirement dapat diimplementasi dan terukur secara efektif, maka requirement harus bersifat spesifik, tidak ambigu, dan jelas.
Sumber : Satheespractice.blogspot.com |
3. Functional & Non-Functional Requirements
Ada 2 Jenis dari System Requirements, yaitu :
a. Functional Requirements
Functional requirements adalah requirement dari kegunaan software yang harus dibangun oleh developer ke dalam produk agar pengguna dapat menyelesaikan tugas mereka, sehingga memenuhi persyaratan bisnis. Dengan kata lain, functional requirement menyatakan apa yang harus dilakukan oleh sistem. Contoh: “website harus memberikan notifikasi kepada administrator melalui e-mail setelah user melakukan pendaftaran”
- Business rules
- Transaction corrections, adjustments
- Administrative functions
- Authentication
- Audit tracking
- External interfaces
- Certification requirements
- Reporting requirements
- Historical data
- Legal / Regulatory requirements
b. Non-Functional Requirements
Non-functional requirements menjelaskan tentang constraint atau standar yang harus dipatuhi oleh sistem. Non-functional requirements mendefinisikan karakteristik dari kualitas sistem.
- Scalability
- Capacity
- Availability
- Reliability
- Recoverability
- Maintainability
- Serviceability
- Security
- Regulatory
- Manageability
- Environmental
- Data Integrity
- Usability
- Interoperability
- Performance
Tujuan dari Requirement Gathering adalah untuk memahami user secara lebih dalam, mengidentifikasi kebutuhan user yang belum terpenuhi, dan menentukan kebutuhan mana yang bisa dipenuhi. Adapun beberapa metode untuk mendapatkan user requirement dan menganalisa kebutuhan yang belum terpenuhi dalam melakukan requirement gathering adalah :
- Field Research—Melakukan wawancara dan observasi.
- Focus Groups—Wawancara secara berkelompok, biasanya menggunakan prototype, untuk mengeksplorasi konsep dan pendapat user.
- User Modeling—Menganalisis karakteristik dari key audiences sebuah produk, website, atau jasa, dan membuat karakter atau persona yang sesuai dengan profil
- Information Architecture Analysis—Mengevaluasi informasi tentang produk atau website dan mengidentifikasi komponen, Evaluation of the information space for a product or website and identifying the components, taxonomy, and relationships.
- Task Analysis—Penyimpanan dan memprioritaskan tasks yang dilakukan oleh user terhadap produk atau aplikasi.
Semoga saja bermanfaat bagi kalian yang ingin berkecimpung di dalam Bisnis terutama untuk pembuatan Aplikasi, Website, atau Software.
Terima Kasih šššš :)
Wassalamu‘alaikum wr. wb.