Perkembangan
metodologi rekayasa perangkat lunak tidak lepas dari analisa terhadap
penyebab kegagalan pengerjaan proyek software. Hingga
saat ini prosesntasi kegagalan pembuatan software yang mencapai
kira-kira 80% dikarenakan software tersebut bersifat kritis. Artikel-artikel
tentang rekayasa perangkat lunak mengenali penyebab kegagalan tersebut
dari sisi kebiasaan negatif pihak-pihak yang terlibat dalam pembuatan
software. Hal ini berkaitan dengan sikap dan
perilaku yang cukup sulit untuk diperbaiki, kecuali disadari dan mau
merubah kebiasaan tersebut. Berikut ini disampaikan beberapa sikap dan perilaku yang menyebabkan gagalnya produk software:
- Perilaku manajemen yang salah, Perilaku manajemen yang salah ini terutama pada sisi developer. Manajer proyek software sering tertekan dengan bagaimana mengelola pembiayaan, menjada schedule dari keterlambatan, dan bagaimana meningkatkan kualitas software. Kondisi ini sering melonggarkan pengamatan terhadap proses pembuatan software secara detail, apalagi terdokumentasi dengan baik. Adanya standar prosedur pembuatan software sering tidak digunakan dengan baik selama proses pembuatan. Hal ini menyebabkan sulitnya perawatan produk software yang dihasilkan. Kesalahan lain yang sering dilakukan oleh developer adalah lebih mementingkan hardware daripada tool yang akan mempercepat proses pembuatan software.
- Perilaku Customer yang salah, ada beberapa penyebab tidak tercapainya hasil software yang diinginkan oleh customer. Dari sisi customer terdapat beberapa kesalahan yang sering kali tidak disadari sebagai penghambat proses pengembangan software:
- Sebagian besar customer menganggap membuat suatu software itu mudah bahkan beranggapan tinggal sediakan sejumlah uang dan tunggu hasilnya.
- Sebagian besar customer juga memberikan narasi keinginan fungsional software yang diingikan tanpa memberikan detailnya.
- Sebagian customer tidak menempatkan waktu khusus dalam mengamati proses pembuatan software tersebut.
- Perilaku salah bagi programmer atau praktisi, Terdapat beberapa kesalahan yang sering dilakukan oleh seorang programmer antara lain:
- Berpikiran bahwa proyek software selesai jika program berjalan. Dengan demikian kriteria jalannya suatu program hanya dinilai selama proses pembuatan dan parsial (asal jalan).
- Tidak berpikir ke arah perawatan.
- Dokumentasi dan penulisan kode-kode program yang tidak rapi.
Kesalahan-kesalahan
tersebut di atas lebih mengacu pada sisi kemanusiaan, sehingga yang
diperlukan adalah kesadaran untuk merubah.
Develop software berdasarkan pengalaman bersifat krisis atau mungkin lebih tepat kronis. Software lebih dinilai berdasarkan fungsi operasinya. Dimana fungsi tersebut dibuat berdasarkan kebutuhan dari user. Bagaimana bersifat krisis? Software yang baik adalah yang sanggup menyediakan properti-properti dan fungsi-fungsi yang sesuai dengan keinginan user.
Bersifat
krisis karena mempertimbangkan bagaimana suatu software dapat digunakan
terus, sedangkan kebutuhan spesifikasi dari user tentunya akan semakin
berkembang. Misal bertambahnya jumlah pengakses software. Bertambahnya spesifikasi fungsi. Oleh karena itu umumnya software membutuhkan maintenan yang lebih komplek. Software
tidak akan mengalami kerusakan dari segi fungsinya akan tetapi
kebutuhan fungsi yang terus berkembang membutuhkan update versi.
Proses pengembangan suatu software yang merupakan aktifitas rekayasa dan manajemen sangat memerlukan perhatian khusus. Proses pembuatan inipun melibatkan beberapa pihak, antara lain :
- User
- Developer
- Programmer
Ketiga pihak inilah yang terkait langsung pada proses pembuatan software. Kolaborasi dan kerjasama ketiga pihak tersebut sangat menentukan. Oleh
karena itu sisi manajemen dalam menangani proyek pembuatan software
tersebut sangat menentukan kualitas dari software yang dibuat.