Penyebab Kegagalan Proyek Perangkat Lunak

Sebagian besar proyek perangkat lunak gagal sepenuhnya atau sebagian gagal karena sejumlah kecil proyek memenuhi semua persyaratan mereka. Persyaratan ini dapat berupa biaya, jadwal, kualitas, atau tujuan persyaratan. Menurut banyak penelitian, tingkat kegagalan proyek perangkat lunak adalah antara 50% – 80%. Esai ini adalah kompilasi penyebab kegagalan proyek pengembangan perangkat lunak; esai ini merangkum beberapa area yang memainkan peran penting dalam kegagalan proyek perangkat lunak.

Jadi, apa sebenarnya alasan kegagalan proyek perangkat lunak? Kenyataan yang menyedihkan adalah bahwa proyek-proyek perangkat lunak gagal karena kami tidak mengakui bahwa prinsip-prinsip rekayasa yang baik harus diterapkan pada proyek-proyek perangkat lunak sama seperti mereka untuk membangun gedung perkantoran. Kami mencoba membela diri dengan mengatakan bahwa konstruksi perangkat lunak "berbeda".

Salah satu keluhan paling serius terhadap kegagalan perangkat lunak adalah ketidakmampuan

untuk memperkirakan dengan ketepatan yang dapat diterima biaya, sumber daya, dan jadwal yang diperlukan

untuk proyek perangkat lunak. Metode penilaian konvensional selalu dihasilkan

hasil positif yang berkontribusi pada biaya yang terlalu terkenal dan

jadwal selip.

Selama 20 tahun terakhir banyak teknik estimasi biaya dan jadwal telah

digunakan dengan sensasi campuran karena pembatasan model penilaian. Utama

bagian dari kegagalan estimasi dapat disebabkan oleh kurangnya pemahaman tentang

proses pengembangan perangkat lunak dan efek dari metode yang digunakan dalam proyek

rencana, jadwal dan perkiraan biaya.

Studi Kasus Kegagalan

Di bawah ini adalah beberapa studi kasus yang dipertimbangkan yang akan dianalisis untuk diambil

alasan utama kegagalan sistem perangkat lunak.

Northumbria University mengembangkan perangkat lunak akuntansi untuk mengelola hari ke hari

bisnis. Proyek ini tidak dapat memberikan hasil yang diinginkan dan gagal

memenuhi tenggat waktu. Investigasi menunjukkan bahwa manajemen proyek dasar

prosedur tidak diikuti. Studi kasus ini dirujuk dalam esai ini di

titik berbeda jika diperlukan. [1]

Anak perusahaan Thailand (SMTL) dari perusahaan multinasional yang bermarkas di Hong Kong (SMHK)

terlibat dalam pembuatan peralatan elektronik. Mereka mengimplementasikan sebuah

paket perangkat lunak terintegrasi; yang merupakan kegagalan pada beberapa faktor. Ini

faktor sebagian besar terkait manajemen. Seperti kesesuaian yang buruk antara bisnis

asumsi proses tertulis dalam perangkat lunak dan proses bisnis di SMTL,

kepemimpinan yang buruk pada tingkat yang berbeda, perbedaan budaya, organisasi

lingkungan, dan manajemen sumber daya manusia yang buruk.

St John's Hospital adalah Rumah Sakit Umum Distrik menyediakan medis dan

layanan keperawatan, yang meliputi operasi umum dan obat-obatan. Semua ini

layanan didukung oleh pencitraan diagnostik, laboratorium, ambulans, farmasi

dan layanan terapi, yang semuanya ada di situs. Sebagai rumah sakit utama di turis

daerah, berhubungan dengan banyak pengunjung di musim liburan, menghasilkan besar

jumlah penerimaan non-dipesan bekerja.

Manajemen & Kepemimpinan Perangkat Lunak

Telah ditunjukkan berulang kali, bahwa kepemimpinan yang efektif sangat penting untuk implementasi TI yang sukses (Klenke, 1994). Seorang pemimpin juga harus memiliki kepekaan budaya, keterampilan komunikasi, kreativitas, kemampuan untuk mendelegasikan, dan kemampuan untuk mengembangkan dan mempertahankan sumber daya manusia (Luthans, 1994). Manajer perangkat lunak di (SMHK) adalah orang barat, sedangkan manajer yang lebih rendah berasal dari Timur. Jadi ada benturan budaya yang selalu terjadi. Jack (Manajer) selalu berusaha untuk memperkenalkan pemikiran kreatif. Dan sebagian besar waktu manajemen yang lebih rendah tidak bisa melakukannya. Oleh karena itu ada bentrokan terjadi sepanjang waktu.

Karyawan juga merasa bahwa manajemen hampir tidak pernah "mendengarkan" keprihatinan mereka

atau berusaha untuk mengatasinya. Akibatnya, banyak karyawan yang ingin pergi

perusahaan, dan melakukannya segera setelah mereka menemukan peluang alternatif di tempat lain

perusahaan.

Perencanaan & Penjadwalan Proyek

Perencanaan proyek berarti menciptakan perincian kerja, dan kemudian mengalokasikan tanggung jawab kepada para pengembang dari waktu ke waktu. Perencanaan proyek terdiri dari konstruksi berbagai tugas, jadwal dan jalur penting termasuk diagram Gantt dan bagan PERT dan rencana tertulis yang berbeda untuk berbagai situasi.

Ini sangat biasa dalam proses pengembangan perangkat lunak untuk bekerja mundur dari

tanggal akhir proyek yang menghasilkan kegagalan proyek perangkat lunak lengkap. ini

mustahil bahwa proyek dapat diselesaikan secara efisien dari tahap perencanaan

ke tahap implementasi.

Alokasi peran dan tanggung jawab harus didefinisikan secara jelas, dan itu

menjadi penting saat menyewa kios dari luar. Universitas lebih tinggi

manajemen gagal menerapkan aturan manajemen proyek dasar yang diletakkan pada

kegagalan proyek.

Penjadwalan yang tepat juga diperlukan sebelum dimulainya proyek. Saya t

termasuk penjadwalan waktu, penjadwalan tim. Manajer proyek tidak tahu apa

mereka harus merencanakan dan menjadwalkan. Mereka hanya memberitahu programmer apa yang harus dilakukan

dan para pemrogram dapat menemukan solusi yang tepat.

Pengembangan dipindahkan ke kantor baru dan kantor tidak sepenuhnya

dilengkapi dengan infrastruktur yang tepat. Seiring waktu juga merupakan faktor besar dalam kesuksesan

atau kegagalan suatu proyek. Jadi itu menunda proses pengembangan dan berkontribusi

menuju kegagalan proyek. Infrastruktur tidak sepenuhnya terjadwal dan

Tim manajemen tidak tahu di mana dan bagaimana pengembangan proyek nantinya

dimulai.

Rahasia teratas dari proyek pengembangan perangkat lunak yang menang adalah untuk mengontrol

meningkatkan kualitas dan menurunkan risikonya. Rencana kontijensi juga merupakan bagian dari perencanaan. Di

Jika ada yang salah maka rencana ini dapat diikuti untuk menurunkan pengaruh

kegagalan proyek. Sama halnya dengan perangkat lunak akuntansi universitas. Itu

Tim manajemen tidak memiliki rencana kontingensi seperti itu juga tidak mengevaluasi risiko

terlibat dalam pengembangan sistem baru. Jadi itu menyebabkan lebih banyak masalah tanpa

sistem cadangan atau rencana cadangan.

Manajemen hanya mencoba mengikuti metodologi seperti SDLC atau RAD, tetapi tidak tahu metodologi mana yang digunakan dan kapan harus menerapkan teknik yang benar.

Perkiraan biaya

Perkiraan biaya terutama melibatkan biaya usaha untuk menghasilkan proyek perangkat lunak. Namun itu tidak terbatas pada upaya saja. Ini juga termasuk biaya perangkat keras dan perangkat lunak, pelatihan karyawan dan pelanggan, perjalanan ke pelanggan, jaringan dan biaya komunikasi. Perkiraan biaya harus dilakukan sebagai bagian dari model proses perangkat lunak.

Perkiraan biaya perlu dilakukan dengan baik sebelum dimulainya proyek

pengembangan. Kegagalan penganggaran untuk biaya hasil proyek di

bencana lengkap. Sebagaimana dinyatakan di atas biaya infrastruktur, alat pengembangan

biaya dan biaya perangkat keras juga perlu diperkirakan terlebih dahulu.

Hal yang sama terjadi pada pengembangan sistem akuntansi universitas. Mereka

membeli sistem baru dengan baik tanpa perkiraan biaya yang serius dan

sumber penghasilan.

Di bawah ini adalah alasan mengapa estimasi biaya yang salah dilakukan.

Metodologi estimasi yang tidak tepat

Alasan lain adalah penggunaan metodologi estimasi biaya yang tidak tepat. Tidak ada satu pun metodologi yang lebih baik dari yang lain. Setiap metodologi memiliki poin kuat dan lemah yang harus dipertimbangkan. Buku Dr. Barry Boehm, Software Engineering Economics mendaftar tujuh metodologi estimasi. Satu atau lebih dari metodologi ini dapat digunakan untuk memperkirakan biaya proyek

"Saran yang baik adalah bahwa lebih dari satu metodologi estimasi biaya perangkat lunak

harus digunakan untuk estimasi akurat ".

Alat estimasi biaya

Ada banyak kekurangan dalam estimasi biaya manual. Teknik ini sudah hampir usang sekarang. Estimasi biaya sukses hari ini termasuk penggunaan alat estimasi biaya perangkat lunak komersial yang tepat.

Perangkat estimasi perangkat lunak yang bagus tidak selalu menjamin perangkat lunak yang andal

perkiraan. Masukan yang salah dari ukuran perangkat lunak akan menghasilkan perkiraan yang salah.

Perkiraan perangkat lunak juga perlu disesuaikan untuk kebutuhan spesifik

organisasi. Penyesuaian ini memerlukan data dari proyek-proyek sebelumnya sebagai

masukan untuk alat untuk memperkirakan.

Ada sejumlah alasan alat-alat ini dapat mengembalikan perkiraan yang salah.

Memilih alat estimasi yang tepat

Pemilihan alat estimasi yang tepat diperlukan untuk estimasi yang tepat. Alat ini tidak mampu menangani input dan dengan demikian dapat muncul dengan perkiraan yang salah dan karenanya menyebabkan kegagalan proyek perangkat lunak.

Kemudahan penyesuaian

Seperti yang disebutkan di atas, alat yang dipilih harus dapat disesuaikan sesuai dengan kebutuhan organisasi, sehingga organisasi dapat menyesuaikannya sesuai dengan kebutuhan dan data proyek yang lalu.

Mudah digunakan dan dipelajari

Alat estimasi biaya harus mudah digunakan dan dipelajari. Itu harus mencakup bantuan dan contoh, antarmuka pengguna yang sederhana dan lurus ke depan. Itu harus membutuhkan lebih sedikit pelatihan untuk mempelajari sistem dan input harus didefinisikan dengan baik.

Estimasi Akurat

Alat estimasi harus memiliki kemampuan untuk menganalisis semua parameter dan menghasilkan perkiraan akurat untuk biayanya.

Manajemen risiko

Manajemen risiko merupakan faktor penting terhadap kegagalan proyek perangkat lunak jika tidak dikelola tepat waktu dan efektif. Tidak ada yang dapat diprediksi bahwa apa yang akan terjadi di masa depan sehingga kita harus mengambil langkah-langkah yang diperlukan di masa kini untuk mengambil situasi yang tidak pasti di masa depan. Manajemen risiko berarti berurusan dengan kekhawatiran sebelum menjadi krisis.

Identifikasi resiko

Menurut Proyek risiko Universal ada dua jenis kondisi yang dapat menjadi simbol sebagai risiko.

  • IF-THEN Statement
    • "JIKA teknologi tidak tersedia, MAKA kami tidak akan memenuhi persyaratan"
    • "JIKA kita tidak dapat menyewa insinyur perangkat lunak yang berkualitas, MAKA kita tidak dapat memenuhi jadwal pengembangan yang direncanakan
  • CONDITION-CONSEQUENCE Laporan
    • Mengingat "kondisi", ada kemungkinan bahwa "konsekuensi" akan terjadi
    • "Mengingat bahwa tes khusus ini gagal (KONDISI), KONSEKUENSI adalah bahwa jadwal yang direncanakan akan tergelincir"

Manajer proyek harus mengidentifikasi area di mana risiko bisa dan bagaimana itu

dapat mempengaruhi pengembangan proyek. Risiko dapat bersifat teknis atau

tidak teknis. Manajer proyek perlu menyadari kedua risikonya. Sebagian besar

manajer proyek tidak baik di salah satu sisi. Manajer yang baik dengan

keterampilan pemrograman bisa bagus dalam mengidentifikasi risiko teknis tetapi tidak dalam non

risiko teknis.

Analisis resiko

Setelah risiko teridentifikasi, ada kebutuhan untuk membuat kategori risiko itu. Analisis risiko adalah proses memeriksa hasil proyek dan hasil setelah analisis risiko dan menerapkan teknik untuk menurunkan risiko. Setelah analisis risiko selesai, rencana analisis risiko yang tepat harus dilakukan untuk mengatasi situasi yang tidak pasti. Risiko teridentifikasi pertama dikategorikan dan membuat hierarki risiko tersebut. Pada titik ini, risiko diklasifikasikan sebagai risiko positif atau negatif.

Prioritas Risiko

Setelah risiko dianalisis, langkah selanjutnya adalah prioritas risiko. Pertama fokus pada risiko yang paling berat terlebih dahulu; dan les memutuskan nanti. Faktor-faktor risiko ini dapat bekerja dari waktu ke waktu sehingga proyek akhir yang keluar bebas dari risiko. Jadi sebagian besar tim manajemen proyek gagal untuk mengidentifikasi risiko pemutusan dan bekerja pada risiko yang lebih kecil. Ini sering menghasilkan bentuk krisis.

Penghindaran Risiko

Berurusan dengan risiko adalah seni. Beberapa kali manajemen mengambil proyek tanpa mengidentifikasi risiko yang tepat yang terlibat dalam proyek. Jadi seorang manajer yang berpengalaman akan mengambil proyek setelah analisis risiko yang tepat dan menghindari risiko yang terlibat dalam proyek.

Pengendalian risiko

Mengelola risiko untuk mencapai hasil dan kiriman yang diinginkan dilakukan melalui pengendalian risiko yang terbaik. Ini adalah proses intuitif murni dan bergantung pada pengalaman tim manajemen proyek, atau risiko yang sudah dikelola dalam proyek sebelumnya yang dilakukan oleh organisasi yang sama.

Kesimpulan

Esai ini telah menyajikan tiga faktor dasar yang dapat menyebabkan proyek pengembangan perangkat lunak gagal. Perencanaan & Penjadwalan, estimasi biaya dan manajemen risiko. Semua faktor ini harus dipertimbangkan pada tingkat manajemen dan kemudian dipindahkan ke manajemen yang lebih rendah.

Perencanaan & Penjadwalan datang pada awalnya, perencanaan dan penjadwalan yang baik membuat

landasan kuat untuk proyek perangkat lunak. Perencanaan proyek terdiri dari

pembangunan berbagai tugas, jadwal dan jalur penting termasuk Gantt

grafik dan bagan PERT dan rencana tertulis yang berbeda untuk berbagai situasi. Jika

faktor-faktor ini tidak diambil sebagian maka perangkat lunak mungkin mengalami masalah

selama pengembangan dan produk akhir akan gagal.

Perkiraan biaya tergantung pada anggaran proyek, jenis pelanggan dan

ukuran dan upaya untuk dimasukkan ke dalam proyek. Perkiraan biaya dilakukan berkali-kali

selama siklus hidup suatu proyek. Itu mempengaruhi proyek dalam banyak hal, salah

perkiraan kegagalan lengkap, mempengaruhi kehendak organisasi jika

biaya tidak tercakup, pemegang saham terpengaruh dan pemborosan sumber daya.

Mengelola risiko adalah pendekatan praktis untuk mengurangi ambiguitas dan

kemungkinan kerugian terkait dengan proyek pengembangan perangkat lunak. Langkah-langkah potensial

dapat dianggap sebagai fokus kesempatan (risiko positif) jika konsekuensinya

menguntungkan, atau sebagai fokus ancaman (risiko negatif) jika konsekuensinya

tidak baik.

Leave a Reply

Your email address will not be published. Required fields are marked *