📝

Ringkasan Dasar Rekayasa Kebutuhan

Sep 11, 2025

Overview

Pertemuan ini membahas dasar rekayasa kebutuhan (requirement engineering), pentingnya requirement, masalah umum dalam proyek perangkat lunak, serta tipe dan proses requirement.

Pengantar Analisis dan Spesifikasi Kebutuhan

  • Analisis kebutuhan bertujuan mengidentifikasi dan mendokumentasikan kebutuhan aplikasi perangkat lunak.
  • Requirement harus didasarkan pada tujuan dan kebutuhan customer, bukan sekadar asumsi.

Pentingnya Requirement Engineering

  • Software harus dibuat sesuai kebutuhan dan harapan pengguna.
  • Menentukan requirement sejak awal membantu mengurangi biaya dan waktu jika ada koreksi.
  • Kesalahan pada tahap awal lebih mudah dan murah diperbaiki dibanding setelah tahap implementasi/koding.

Masalah Umum dalam Proyek Perangkat Lunak

  • Kurangnya keterlibatan pengguna (insufficient user involvement) menyebabkan requirement tidak tergali sempurna.
  • Perubahan kebutuhan secara terus menerus (creeping user requirement) mengganggu proses pengembangan.
  • Requirement ambigu dapat menyebabkan interpretasi berbeda antara analis dan customer.
  • Gold-plating: developer menambahkan fitur yang tidak dibutuhkan customer.
  • Spesifikasi minimal dan perencanaan yang tidak akurat menyebabkan proyek tidak terarah.
  • Overlook user class: terlalu banyak role pengguna bisa membingungkan pengembangan fitur.

Perbedaan Product dan Project Requirement

  • Product requirement: kebutuhan fungsi dan fitur dari aplikasi yang dikembangkan.
  • Project requirement: kebutuhan untuk menjalankan proyek, seperti infrastruktur, skill, dan environment.

Proses dan Tipe Requirement

  • Well-established requirement process: mengikuti tahapan tetap (misal waterfall), tahap tidak boleh lompat-lompat.
    • Tantangan: proses lama, sulit kolaborasi, prototyping lambat.
  • Agile requirement process: tahapan requirement dilakukan per fitur, adaptif, contoh metodenya Scrum.
    • Tantangan: pekerjaan berulang, dokumentasi sering kurang rapi, perlu feedback aktif dari customer.

Kesimpulan

  • Requirement penting untuk memastikan aplikasi sesuai kebutuhan dan efisien dalam pengembangan.
  • Terdapat dua tipe utama proses requirement: well-established dan agile, masing-masing dengan kelebihan serta tantangan.

Key Terms & Definitions

  • Requirement — Spesifikasi kebutuhan dan fitur yang harus dimiliki aplikasi dari sisi pengguna maupun pengembang.
  • Well-established requirement — Proses rekayasa kebutuhan yang berurutan dan ketat, seperti metode waterfall.
  • Agile requirement — Proses kebutuhan yang fleksibel dan adaptif per fitur, seperti pada metode Scrum.
  • Gold-plating — Penambahan fitur yang tidak diminta/dibutuhkan oleh customer.
  • Product requirement — Kebutuhan fungsi/fitur aplikasi yang dikembangkan.
  • Project requirement — Kebutuhan pendukung agar proyek berjalan (infrastruktur, skill, dsb).

Action Items / Next Steps

  • Pelajari kembali perbedaan product dan project requirement.
  • Siapkan pertanyaan terkait tipe proses requirement untuk diskusi pertemuan berikutnya.