Apakah Software Requirements (spesifikasi kebutuhan perangkat lunak) ?


Spesifikasi kebutuhan dan kepentingannya

Spesifikasi kebutuhan (requirement) adalah atribut yang diperlukan dalam sistem, sebuah pernyataan yang mengidentifikasi capability, characteristic, atau quality factor dari sebuah sistem dengan tujuan untuk mendapatkan nilai dan utilitas pada pelanggan atau pengguna (Ralph R. Young, 2004). Spesifikasi kebutuhan ini sangat penting karena memberikan basis untuk semua pekerjaan pengembangan yang diikuti. Sekali spesifikasi kebutuhan diset, pengembang memulai pekerjaan teknis yang lain yaitu : desain sistem, pengembangan, pengujian, implementasi dan pengoperasian.

Banyak tendensi untuk menginginkan memulai apa yang disebut sebagai ”the real work” (pengembangan, atau pemrograman perangkat lunak) terlalu cepat. Banyak pelanggan dan manager proyek (/Project Manager/PMs) yakin bahwa pekerjaan programming (”coding”) menunjukkan progress telah dilakukan. Menurut pengalaman industri, ketidak cukupan waktu dan usaha adalah dihabiskan pada aktivitas spesifikasi kebutuhan yang berhubungan dengan pengembangan sistem. Pengalaman industri mengonfirmasikan bahwa pendekatan yang lebih baik adaah memberikan waktu yang lebih banyak dalam aktivitas pengumpulan spesifikasi kebutuhan, analisis dan manajemen. Alasannya adalah biasanya pekerjaan coding dimulai lebih cepat yang kemudian menjadi penyebab penambahan waktu yang dibutuhkan untuk mengidentifikasi ”real” requirements dan untuk merencanakan aktivitas spesifikasi kebutuhan.

Ada perbedaan yang signifikan antara ”stated” requirements dan ”real” requirements. Stated requirements diberikan oleh pelanggan diawal usaha pengembangan sistem atau perangkat lunak, misalnya dalam kebutuhan untuk informasi, proposal, atau kutipan atau dalam pernyataan pekerjaan (SOW). Real requirements merefleksikan kebutuhan yang sudah diverifikasi oleh pengguna untuk sistem atau kemampuan tertentu. Sering ada perbedaan yang besar antara stated requirements dan real requirements. Analisis pada stated requirements dibutuhkan untuk menentukan dan memperbaiki kembali kebutuhan nyata pelanggan atau pengguna dan permintaan dari sistem yang diterimakan. Spesifikasi kebutuhan perlu disaring dengan sebuah proses klarifikasi dari pengertian dan identifikasi aspek lain yang perlu dipertimbangkan. Mengutip dari sebuah contoh sederhana, analisis spesifikasi kebutuhan (requirements analisys/(RAs) lebih familier dengan kebutuhan untuk menyatakan spesifikasi kebutuhan dengan jelas. Ada banyak cara dimana kapabilitas, pemahaman, dan komunikasi dari pengertian dari setiap spesifikasi kebutuhan mungkin berbeda antara pengguna dengan pengembang. Oleh karena itu, penting bahwa semua spesifikasi kebutuhan diklarifikasi sepanjang mekanisme dari gabungan pelanggan/pengguna dan usaha RA. Pelanggan dan pengguna memerlukan dukungan secara teknis pelatihan pengalaman profesional, dan begitu sebaliknya, untuk memastikan komunikasi yang efektif. Pengembang perlu mempunyai pemahaman yang sama sehingga solusi yang didefinisikan oleh pelanggan/pengguna ditempatkan pada tempat yang dibutuhkan setiap orang. Misunderstanding dari spesifikasi kebutuhan menghasilkan usaha yang sia–sia dan mengerjakannya kembali. Pemahaman penting yang lain adalah kadang-kadang spesifikasi kebutuhan manjadi unknowable pada outset pada usaha pengembangan karena dipengaruhi oleh kemampuan baru untuk disediakan dalam sistem yang baru. Saran ini yang diperlukan untuk merencanakan spesifikasi kebutuhan yang baru atau perubahan spesifikasi kebutuhan untuk memberikan tingkat fleksibilitas.

Identifikasi real requirements membutuhkan proses spesifikasi kebutuhan yang interaktif dan iteratif, didukung oleh praktek yang efektif, proses, mekanisme, metode, teknik, dan peralatan.

Spesifikasi kebutuhan tidak boleh membingungkan dan mahal. Bagaimanapun, proses spesifikasi kebutuhan dibutuhkan untuk proyek pada segala ukuran. Yang paling penting adalah bahwa proyek atau organisasi mempunyai proses spesifikasi kebutuhan yang terdefinisi dan terdokumentasi. Secara alami, komponen spesifik dari proses yang terdefinisi dapat meningkat karena pengalaman.

Pengembangan sistem dan perangkat lunak, dan praktisi akrab dengan beberapa jenis perencanaan : perencanaan proyek, systems engineering management plan (SEMP), quality assurance (QA) plan, configuration management (CM) plan, software development plan (SDP), test plan, dan sebagainya. Bagaimanpun, konsep perencanaan spesifikasi kebutuhan bisa menjadi sesuatu yang baru. Aktivitas yang berhubungan dengan spesifikasi kebutuhan leveraging mempunyai kekuatan dan pengaruh yang besar. Perencanaan spesifikasi kebutuhan mendefinisikan bagaimana real requirement akan disusun dan bagaimana aktivitas spesifikasi kebutuhan akan ditempatkan.

Penulisan perencanaan spesifikasi kebutuhan (RP) menfasilitasi pemahaman aktivitas dan usaha yang diperlukan untuk mengerjakan implementasi proses spesifikasi kebutuhan yang efektif untuk usaha pengembangan tertentu.

Saran strategi diantaranya :

1.      Menuliskan rencana spesifikasi kebutuhan

2.      Mendesain dan menghubungkan proses spesifikasi kebutuhan untuk proyek

3.      Menyediakan aktivitas spesifikasi kebutuhan dalam siklus hidup sistem

4.      Menggunakan spesifikasi kebutuhan secara efektif dalam praktek, mekanisme, metode, teknik, peralatan dan pelatihan.

 

Aktivitas spesifikasi kebutuhan dalam siklus hidup perangkat lunak

Manajer sering memikirkan bahwa aktivitas yang berhubungan dengan spesifikasi kebutuhan utamanya terdiri dari pengumpulan spesifikasi kebutuhan dan pengelolaan perubahan terhadap spesifikasi kebutuhan tersebut sepanjang siklus hidup sistem. Dalam kenyataannya, ada beberapa aktivitas lain yang berhubungan dengan spesifikasi kebutuhan yang perlu ditempatkan dalam siklus hidup sistem (Ralph R. Young, 2004) :

  • Identifikasi stakeholder

Ini termasuk semua orang yang mempunyai kaitan dengan sistem atau  kualitas pemrosesan yang mencapai kebutuhan tertentu.

  • Mendapatkan pemahaman pelanggan dan pengguna yang perlu untuk perencanaan sistem dan kebutuhannya terhadap sistem

Hal ini sering disebut sebagai pemunculan spesifikasi kebutuhan (requirements elicitation).

  • Identifikasi kebutuhan

Ini meliputi pernyataan spesifikasi kebutuhan dalam kalimat yang sederhana dan memberikan sebagai set. Kebutuhan atau keinginan bisnis adalah aktivitas yang esensial dalam perusahaan. Skenario bisnis dapat digunakan sebagai teknik untuk  memahami kebutuhan bisnis. Faktor kunci dalam kesuksesan sebuah sistem adalah meningkatkan dukungan terhadap kebutuhan bisnis dan menfasilitasi organisasi untuk mencapainya.

  • Klarifikasi dan mengulangi kebutuhan

Hal ini dilakukan untuk memastikan bahwa yang digambarkan adalah kebutuhan pelanggan dan dalam bentuk yang dapat dipahami dan digunakan oleh pengembang sistem

  • Analisis kebutuhan

Hal ini dilakukan untuk meyakinkan bahwa spesifikasi kebutuhan telah didefinisikan dan pelanggan/pengguna menyelaraskan terhadap kriteria spesifikasi kebutuhan yang baik.

  • Mendefinisikan kebutuhan dengan cara pemahaman yang sama terhadap semua stakeholder

Setiap kelompok stakeholder mungkin mempunyai perbedaan pandangan yang signifikan dari sistem dan kebutuhan sistem. Kadang – kadang hal ini membutuhkan waktu yang banyak untuk mempelajari kosakata khusus atau kamus proyek khusus. Hal tersebut sering membutuhkan waktu dan usaha untuk mencapai pemahaman umum.

  • Memetakan kebutuhan

Hal ini membutuhkan semua detail yang teliti dari setiap spesifikasi kebutuhan sehingga dapat dimasukkan dalam dokumen spesifikasi atau dokumentasi yang lain, tergantung dari skala proyek.

  • Memprioritaskan kebutuhan

Semua spesifikasi kebutuhan kepentingannya tidak sama terhadap pelanggan dan pengguna dari sistem yang direncanakan. Kritisnya, beberapa diantaranya relatif tinggi, beberapa diantaranya berprioritas normal atau rata-rata, dan beberapa diantaranya mempunyai prioritas rendah. Maka penting untuk melakukan prioritisasi pada semua spesifikasi kebutuhan karena tidak pernah ada cukup waktu dan biaya untuk melakukan segala sesuatu yang dinginkan untuk dilakukan dalam pengembangan sistem. Pemrioritasan spesifikasi kebutuhan memberikan kesempatan untuk menempatkan prioritas yang paling tinggi dan mungkin mengeluarkan versi produk dikemudian hari yang menempatkannya pada kebutuhan yang lebih rendah. Pemrioritasan membantu mamastikan bahwa pengertian yang tepat telah dibuat dalam pencapaian berbagai kebutuhan pelanggan.

  • Menurunkan kebutuhan

Ada beberapa spesifikasi kebutuhan yang didapat karena design sistem, tetapi tidak memberikan keuntungan langsung pada pengguna akhir. Misalnya, kebutuhan untuk disk storage mungkin hasil dari kebutuhan untuk menyimpan banyak data.

  • Memisahkan kebutuhan

Misalnya dilakukan pengkategorian spesifikasi kebutuhan menurut pengelompokan spesifikasi kebutuhan pada hardware, perangkat lunak, pelatihan dan dokumentasi. Sering proses ini berbelok menjadi lebih kompleks dari pada mengantisipasi ketika beberapa spesifikasi kebutuhan dicapai oleh lebih dari satu kategori.

  • Mengalokasikan kebutuhan

Pengalokasian spesifikasi kebutuhan dilakukan untuk membedakan subsistem dan komponen subsistem. Alokasi tidak harus selalu dicapai oleh hanya satu subsistem atau komponen.

  • Pelacakan kebutuhan

Kebutuhan dalam kemampuan untuk melacak atau penjejakan dimana dalam sistem setiap spesifikasi kebutuhan dicapai, sehingga dapat menguji bahwa setiap spesifikasi kebutuhan ditempatkan pada tempat yang benar.

  • Pengelolaan kebutuhan

Diperlukan kemampuan untuk menambah, menghapus, dan memodifikasi spesifikasi kebutuhan selama semua fase desain sistem, pengembangan, integrasi, pengujian, deployment, dan pengoperasian. Requirement repository terdiri dari sekumpulan artifacts dan database.

  • Pengujian dan pencocokan kebutuhan

Ini adalah proses pemeriksaan spesifikasi kebutuhan, desain, kode, rencana pengujian, dan produk sistem untuk memastikan bahwa spesifikasi kebutuhan telah dicapai.

  • Validasi kebutuhan

Ini adalah proses untuk memastikan bahwa real requirements telah diimplementasikan dalam sistem yang diterimakan. Tujuan validasi kebutuhan seharusnya diutamakan sejak ada pembatasan nilai proyek dari  biaya yang tersedia.

Investasi industri rata-rata dalam proses spesifikasi kebutuhan untuk sistem biasanya 2% sampai 3%  dari total biaya proyek. Seharusnya dapat menjadi jelas dari informasi yang telah diberikan bahwa nilai proyek investasi tersebut tidak cukup dan dalam kenyataannya, akarnya karena kegagalan banyak proyek. Data dari U.S. National Aeronautic and Space Administration (NASA) digambarkan pesan secara jelas dan kuat : proyek yang dibelanjakan industri rata-rata 2% sampai 3% dari total biaya/usaha proyek pada (full life cycle) proses spesifikasi kebutuhan didapatkan ada penambahan biaya 80% sampai 200%, sedangkan proyek yang menyediakan 8% sampai 14% dari total biaya/usaha proyek dalam proses spesifikasi kebutuhan mempunyai 0% sampai 50% penambahan.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: