Bagaimana mengatasi User yang sering melakukan perubahan requirement?

Resiko mengenai user yang sering merubah requirement sering dialami dalam pengembangan software. Sebenarnya perubahan requirement bukanlah hal yang buruk, karena user pastinya akan meminta sebuah produk yang berkualitas baik sehingga dibutuhkan perubahan requirement untuk mencapainya. Walaupun dengan perubahan tersebut, akan memakan biaya, waktu, dan tenaga yang lebih.

Untuk mengatasinya dibutuhkan pendekatan yang fleksibel dengan adanya perubahan requirement. Misalanya adalah metode pengembangan Agile. Dimana software dikembangkan dengan high-quality dan high-value serta mudah diimplementasikan berdasarkan prioritas requirement. Metode agile mendukung adanya perubahan dan bukan menghindarinya.

Selain itu juga ada metode Extreme Programming. Metode ini dapat mengatasi masalah requirement atau kebutuhan yang tidak jelas dan sering berubah-ubah dari pihak pengguna. Bertujuan menangani perubahan-perubahan yang terjadi saat pengembangan berlangsung bahkan saat proses pengembangan sudah hampir berakhir.

Menurut saya memang benar perubahan pada requirement bukanlah sebuah hal yang buruk karena user pasti akan meminta sesuatu yang berkualitas baik dan mungkin juga bisa membuat dampat signifikan pada sebuah proyek tetapi jika requirement dari user terus berganti itu juga merupakan salah satu penyebab terjadinya kegagalan proyek, sedangkan untuk menganalisa apa yang user inginkan dan butuhkan itu bukan merupakan hal yang mudah mengingat perbedaan dan luasnya pola pikir dan keinginan dari user tersebut. Sebenarnya seberapa penting sih analisa kebutuhan dari user ? sangat penting kenapa karena dengan menganalisa kebutuhan user sendiri kita bisa mendapatkan informasi, tentang model,spesifikasi dan apa yang diinginkan user selanjutnya. Dengan adanya analisa kebutuhan itu sendiri diharapkan user bisa terlibat aktif dalam tahap ini agar informasi yang di dapatkanbisa menjadi acuan dalam melakukan pembangunan project itu sendiri.

dalam artikel yang saya baca di Analisa Kebutuhan ada beberapa langkah yang bisa dilakukan saat melakukan analisa requirement pada user yaitu :

  1. Komunikasi yang baik
    melakukan hubungan yang baik dengan user agar bisa memperlancar project yang dikerjakan. Dengan membangun hubungan yang baik dengan klien atau user , anda bisa memperlancar komunikasi anda dan mendapatkan informasi lebih dari klien, jika ada informasi dari user/klien dan sulit dipahami anda bisa langsung menanyakan nya tanpa harus kesulitan karena komunikasi yang kurang lancar

  2. Mengetahui "apa"
    mengetahui apa yang menjadi inputan dan outputan dari apa yang diinginkan oleh user , dimana ini merupakan langkah awal dalam penggambaran kebutuhan yang diinginkan klien

  3. Gunakan istilah sederhana
    dalam berkomunikasi dengan user atau klien gunakan bahasa yang mudah dimengerti agar tidak tejadi kesalah pahaman dalam pengertian.

  4. Terbuka dengan langkah yang dilakukan
    Bersikap terbuka tentang apa saja yang kita lakukan selama proses pembuatan perangkat lunak, adalah tindakan yang cukup membantu. Untuk sebuah pilihan yang diminta oleh klien, kita dapat juga memberitahu konsekuensinya. Ini akan membantu kedua belah pihak dalam memperoleh sebuah keputusan jika ada berbagai pilihan.

  5. Menampilkan contoh nyata
    mungkin dengan pembuatan prototype atau memberitahu kepada klien , atau bagaiamana cara kerja project yang anda buat agar tidak terjadi intreprestasi yang salah.

Itu merupakan salah satu cara agar user tidak selalu melakukan perubahan requirement dimana analisa kebutuhan yang tepat akan membuat apa yang diinginkan user bisa dimengerti dan tercapai.

Menurut pendapat saya perubahan requirement oleh user bukanlah hal yang buruk, karena memang produk yang dihasilkan harus memenuhi kebutuhan user. Namun apabila user sering melakukan perubahan tentunya akan membuat developer kebingungan. Oleh karena itu sebelum projek dikerjakan seharusnya tim developer menanyakan batasan-batasan yang diperlukan agar requirement tidak meluas kemana-mana.

Menurut yang saya baca di <a href :https://suryainformation.wordpress.com/2010/05/23/analisis-kebutuhan-dalam-rekayasa-perangkat-lunak/ > Analisa Kebutuhan Ada 3 faktor yang harus dipenuhi ketika melakukan analisa kebutuhan ini yaitu : lengkap, detail, dan benar. Lengkap artinya semua yang diharapkan oleh klien telah didapatkan oleh pihak yang melakukan analisa. Sedangkan detail maksudnya adalah berhasil mengumpulkan informasi yang rinci sampai hal-hal yang kecil. Semua data dari analisa kebutuhan ini haruslah benar, sesuai apa yang dimaksud oleh klien, bukan benar menurut apa yang difikirkan oleh pihak yang melakukan analisa.

Sebagai solusi dari permasalahan ini selain yang saya jelaskan diatas,pemilihan metode pengembanagn juga diperlukan untuk user yang sering melakukan perubahan requirement lebih baik menggunakan metode Incremental Development.

Mengenai bagaimana cara kita mengatasi user yang sering melakukan perubahan requirement, saya memiliki pendapat yang sama dengan Ayu Meilinda jika dilihat dari sudut pandang pendekatan untuk mengembangkan software tersebut. Dengan menggunakan Agile method kita bisa memangkas waktu yang biasanya kita gunakan untuk melakukan desain software. Agile method adalah jenis pegembangan sistem jangka pendek yang memerlukan adaptasi dan pengembang cepat terhadap perubahan dalam bentuk apapun.

Prinsip Agile menurut Agile Alliance adalah kepuasan pelanggan menjadi prioritas utama dalam pengembangan software, menerima perubahan kebutuhan walaupun di akhir pengembangan dan kerjasama tim akan sangat menentukan selama pengembangan software berjalan. Kelebihan dari method ini adalah dalam efisiensi waktu karena tidak adanya dokumentasi yang lengkap. Namun disisi lain, dengan method ini biaya yang dikeluarkan tidak dapat diprediksikan.

Salah satu model Agile yang cukup digemari (bahkan dilakukan hampir semua mahasiswa, namun tidak menyadarinya) adalah Extreme Programming. Dimana model ini diawali dengan membuat user stories. Dan di tahap inilah pengembang dapat menemukan kebutuhan user.

Sehingga dapat disimpulkan, bahwa kata “pelanggan adalah raja” dapat diterapkan dengan method ini. Menurut saya method ini sangat cocok digunakan ketika user tidak memberitahukan kebutuhan secara detail (bisa berubah sewaktu-waktu). Semoga dapat menjawab pertanyaan di atas :slight_smile:

Dari beberapa sumber yang saya baca, saya menemukan hasil survei menurut Standish (1995) , bahwa kegagalan proyek disebabkan beberapa faktor utama, yaitu:

  • Requirement yang tidak lengkap
  • Kurangnya keterlibatan user
  • Kekurangan sumber daya
  • Ekspektasi yang tidak realistik
  • Kurangnya dukungan Executive
  • Perubahan requirement dan spesifikasi
  • Kurangnya perencanaan
  • Sistem tidak dibutuhkan lagi

Menurut saya, sebelum mengembangkan software, kita harus menggali sedalam dalamnya apa saja kebutuhan user. Kita juga harus meyakinkan user tentang apa saja kebutuhannya secara lengkap dan detail, dan memastikan lagi tidak ada kebutuhan tambahan ditengah-tengah ketika sedang dalam proses pengembangan berjalan. Maka dari itu, kita harus membuat perjanjian dengan user sebelum mengembangkan software dan user juga harus menerima risiko apabila ternyata pengembangan membutuhkan tambahan waktu maupun biaya di akhir.