Rekayasa Perangkat Lunak Faktor-Faktor Kendala/Kerumitan dalam Pengembangan Software Disampaikan oleh: Dian Sa’adillah Maylawati Disusun oleh: Eddy Prasetyo Nugroho
Faktor-Faktor Kendala dalam Pengembangan Software Faktor-faktor yang menjadi kendala dalam Pengembangan Software atau dengan kata lain, faktor yang membuat pengembangan perangkat lunak sehingga menjadi rumit/sulit adalah berkaitan dengan beberapa hal berikut ini yaitu: Komunikasi Langkah-langkah atau tahapan yang dilakukan pada pengembangn software Karakteristik proyek Karakteristik personel/individu Perihal manajemen
1. Komunikasi Setiap individu mempunyai kehendak dalam pengembangan software. Programmer membuat sebuah program sekehendaknya sendiri Sponsor memiliki ide umum yang dilakukan oleh programmer,tetapi tidak mengerti betul tentang bagaimana komputer bekerja dan yang dilibatkan dalam hal programming. Di samping itu, Programmer mengetahui banyak tentang komputer dan programming. Bila diminta untuk mengatakan sesuatu akan muncul pengertian yang berbeda, dikarenakan 'misunderstanding' terhadap sesuatu. Hal ini terjadi tidak ada penerimaan komunikasi yang sama. Hal diatas bilamana terjadi dalam proyek yang lebih besar lagi cakupannya, akan membuat lebih rumit lagi antara Sponsor dan Developer. Komunikasi diantara anggota tim terdapat kesulitan dalam pengembangan dan pemeliharaan software. Untuk itu dibutuhkan komunikasi yang sering, akurat dalam suatu proyek. Menurut Brooks, dalam pembuatan komunikasi yang akurat dan baik tersebut dalam suatu tim pengembang yang berjumlah n orang memiliki n(n-1)/2 lintasan komunikasi antar anggota tim tersebut.
2. Langkah-langkah atau tahapan yang dilakukan pada pengembangn software Dalam melakukan proses atau tugas pengembangan harus melalui tahapan-tahapan yang telah ditentukan seperti analisis dilakukan sebelum desain lalu coding dan seterusnya. Percabangan dari faktor ini adalah bertambahnya personel terhadap suatu proyek yang kontraproduktif yaitu tidak dapat meningkatkan produktifitas. Kontraproduktif ini dikarenakan terdapatnya peningkatan komunikasi antar anggota sehingga menjadi overhead. Hal ini membuat banyak lintasan komunikasi tentunya
3. Karakteristik proyek Dalam Pengembangan proyek, tim developer seperti seorang programmer harus mengetahui ukuran dari proyek yang dikerjakannya. Ukuran tersebut ditentukan oleh fungsi-fungsi yang dikerjakan dalam perangkat lunak, struktur data yang akan digunakan dalam pembuatan perangkat lunak. Besar kecilnya ukuran itu memberikan kontribusi kerumitan atau kekompleksan suatu proyek. Disamping ukuran proyek, yang memberikan kontribusi kerumitan proyek adalah sistem program yang memakai utilitas yang baru, dimana tak pernah dikenal oleh masyarakat sehingga sulit untuk digunakan. Sehingga sponsor akan membuat permintaan pengubahan terhadap proyek tersebut. Konfigurasi antara hardware dan software yang saling bergantung tersebut juga merupakan faktor yang memberikan kontibusi kerumitan dalam suatu proyek. Permintaan sekuritas, waktu respon dari software yang digunakan, reliabilitasnya dapat membuat kerumitan jika tidak diperhatikan dalam pengembangan sofware dalam proyek terssebut.
4. Karakteristik personel/individu Yang paling berpengaruh dalam komunikasi antar anggota tim adalah karakteristik setiap anggota/personal itu sendiri dalam bekerja pada suatu kelompok proyek. Karakteristik personal tersebut terdiri dari berikut: Kemampuan untuk mengerjakan tugas Kemampuan personal berkaitan dengan kapabilitas umum seseorang bervariasi. Dengan variatifnya personal tersebut akan mempengaruhi produktivitas proyek tersebut. Berpengalaman atau ahli dalam suatu aplikasi, alat atau metode tertentu. Sehingga banyak organisasi melakukan pelatihan untuk mendapatkan personal yang ahli. Bilamana tidak ada pelatihan formal tersebut akan dapat memungkinkan memerlukan waktu yang lebih lama dalam pembuatan suatu program.Hal ini menyulitkan produktifitas. Kemampuan berkomunikasi, merupakan pusat dari proses pengembangan software ini. Developer harus dapat berkomunikasi dengan sponsor, user dan dengan pihak manajemen serta yang lainnya. Setiap anggota tim harus mempunyai keahlian berkomunikasi dengan baik. Kemampuan untuk bekerja dalam kelompok, berlaku untuk setttiap anggota tim untuk mendapatkan hasil produk proyek yang optimal.
5. Perihal manajemen Pengembangan Software dipengaruhi oleh manajemen dalam pengemabangan proyek dan diluar pengembangan proyek. Dimana diperlukan manager yang mempunyai keahlian atau pengetahuan dan perngalaman terhadap masalah yang dihadapi dalam pengembangn software. Manager yang akan berhubungan dengan pihak luar seperti dengan sponsor
Reference Barbee Teasley Mynatt, “ Software Engineering with Student Project Guidance”, Prentice Hall 1990 Roger Pressman, Software Engineering, 5th Edition, Prentice Hall,