BAB III KONSEP MANAJEMEN PROYEK A. Spektrum Manajemen Kegagalan banyak mega proyek perangkat lunak pada tahun 1960-anmerupakan ptunjuk awal mengenai kesulitan manajemen perangkat lunak. Perangkat lunak diserahkan terlambat, tidak dapat diandalkan, memakan biaya beberapa kali lipat dari yang semula diperkirakan dan seringkali menunjukkan kinerja yang sngat buruk. (Brooks, 1975). Proyek ini gagal Karena manajer dan programmer tidak kompeten. Kegagalan ini terjadi karena pendekatan manajemen yang digunakan. Teknik manajeman dari disiplin ilmu lain ternyata tidak dapat diterapkan pada pengembangan perangkat lunak. Kebutuhan akan manajemen yang baik merupakan perbedaan penting antara pengembanganpernagkat lunak professional dengan amatir. Kita memerlukan manajemen proyek perangkat lunak karena rekayasa perangkat lunak professional selalu dibatasai anggaran dan jadwal. Tugas manajer proyek perangkat lunak adalah Menjamin bahwa proyek perangkat lunak memenuhi batasan-batasan ini yaitu anggran dan jadwal dan menyerahkan perangkat lunak yang bermanfaat bagi bisnisnya. Bertanggung jawab dalam merencanakan dan menjadwalkan pengembangan proyek. Mensupervisi pekerjaan untuk menjamin pengerjaan sesuai dengan standart. Memonitor kemajuan untuk memeriksa bahwa pengembangan berjalan dengan tepat waktu dan sesuai anggaran. 29 Manajemen yang buruk akan mengakibatkan kegagalan proyek, missal perangkat lunak dikirimkan terlambat, memakan biaya yang lebih tinggi, dan gagal memenuhi persyaratan pemesan Manajer perangkat lunak melakukan pekerjaan yang sama dengan manajer proyek yang lian. Namun memiliki perbedaan yaitu manjemen perangkat lunak lebih sulit dan sering menimbulkan masalah. Beberapa perbedaan tersebut adalah: Produk perangkat lunak tidak berujud Manajer proyek rekayasa sipil dapat melihat produk yang dikembangkan, sehingga dapat langsung melihat hasil/efek dari barang tersebut. Manajer proyek perangkat lunak tidak dapat dilihat dan disentuh, sehingga tidak dapat dilihat kemajuannya. Mereka sangat tergantung pada orang lain yang membuat dokumentasi yang dibutuhkan untuk meninjau kemajuan Tidak ada proses perangkat lunak standar Kita tidak memiliki pemahaman yang jelas mengenai hubungan antara proses perangkat lunak dan jenis produk. Pemahanan kita mengenai prose perangkat lunak telah berkembang secara signifikan beberapa tahun terakhir, namun demikian kita tetap tidak dapat meramalkan dengan pasti suatu proses software akan menyebabkan masalah. Proyek perangkat lunak yang besar seringkali merpakan proyek “one-off” Akibat dari perkembangan teknologi missal dalam bahasa pemrograman, maka menyebakba seringkali proyek hanya dipakai sekali dan tidak dapat ditrasfer ke proyek yang baru. 30 Untuk membuat suatu proyek perangkat lunak efektif maka diperlukan 3 hal berikut (3P) yaitu: : People Problem Process Ketiga lemn tersebut saling terkait satu sama lian untuk membangun suatu proses khususny adari segi manajemen proyek. Proses Perangkat lunak harus diatur sedemikian rupa sehingga akan terkoordinasi antara satu pekerjaan dengan pekerjaan yang lain. Dan perangkat lunak dianggap suatu Product yang memerlukan manajemen yang baik untuk membuatnya. B. Manusia Manusia dengan bayak cirri dan sifat sangat berperan dalam pengambangan manajemen yang efektif. Oleh karena itu dibutuhan model kematangan kemampuan manajemen Manusia.yaitu: “….untuk memprtinggi kesiapan organisasi perangkat lunak untuk menegrjakan aplikasi yang semakin kompleks dengan membantu menarik, menumbuhkan, memotivasi, menyebarkan, dan memelihara bakat yang dibutuhkan untuk mengembangkan kemampuan perkembanagn perangkat lunak mereka” Model kematangan manajemen manusia berikut ini adalha kunci keberhasilan: -Rekuitmen dan seleksi - Manajemen unjuk kerja 31 - Pelatihan - Konpensasi - Perkembangan karir dan team - Dedain kerja dan organisai Proses perangkat lunak memerlukan beberapa komponen manusia yang berperan yaitu: Manajer Senior, yang menentukan perjalanan bisnis yang sangat perpengaruh dalam proyek Manajer teknik proyek, yang merencanakan, memotivasi, mengorganisisr dan mengontrol produk atau aplikasi Pelaksana,, yang menyampaikan ketrampilan teknik untuk rekayasa sebuag aplikasi Pelanggan, menentukan jenis kebutuhan perangkat lunak yang akan dibuat. Pemakai akhir, berinteraksi dengan software yang telah dibuat. Struktur team yang baik tergantung dari gaya manajemen sebuah organisasi , jumlah orang yang ada dalam organisasi, dan tingkat ketrampilan serta kesulitan masalahnya.. Ada 3 jenis organisasi yang umum yaitu: Demokratis Terdesentralisisr Team tidak memiliki pimpinan yang permanent. Keputusan diambil secara berkelompok. Komunikasi anggota tim secara horizontal. Terkontrol Terdesentralisasi 32 Tim memiliki pemimpin yang mengkoordinasi tugas-tugas khusus.serta memilik pemimpin-pemimpin sekunder yang bertanggung jawab atas masalah sub sub tugas. Terkontrol Tersentralisasi Koordinasi pemecahan masalah tingkat puncak dan internal tim diatur oleh pimpinan tim. Ada 7 faktor proyek yang harus dipertimbangkan pada saat merencanakan struktur team proyek perangkat lunak yaitu: Kesulitan masalah yang akan dipecahkan Ukuran program-program resultan pada baris kode Waktu tim akan tinggal bersama (umur tim) Tingkat di mana masalah dapat dimodularisasi Kualitas yang diperlukan serta keandalan sistem yang dibangun Kepastian tanggal penyampaian Tingkat komunikasi yang dibutuhkan untuk proyek tersebut. C. Masalah (Problem) Sebelum proyek direncanakan, obyektivitas dan ruang lingkupnya harus ditetapkan, dipecahkan alternative yang harus dipertimbangkan, teknik dan bataspun harus didefinisikan. Tanpa informasi ini tidak mungkin melakukan estimasi biaya, penilaian yang efektif terhadap resiko, atau jadwal yang dapat dikelola yang dapat memberikan indikasi kemajuan yang berarti. 33 Pengembang dan pemakai harus bertemu untuk menentukan tujuan serta ruang lingkup proyek. Sekali tujuan dan ruang lingkup proyek dipahami, pemecahan alternatifnya dipertimbangkan untuk mencapai penyelesaian masalah terbaik. Aktivitas manajemen proyek yang pertama adalah menentukan ruang lingkup perangkat lunak. Ruang lingkup dibatasi dengan menjawab pertanyaan berikut: Konteks Bagaimana perangkat lunak yang akan dibangun dapat memenuhi sebuah sistem, produk, atau konteks bisnis yang lebih besar ? Tujuan Informasi Bagaiaman output dapat dipakai oleh pelanggan dan untuk apa saja ? Objek data input apa saja yang dibutuhkan Fungsi dan unjuk kerja Fungsi apa saja yang dilakukan oleh perangkat lunak? Dan cirri kerja kusus yang dapat dilakukan? D. Proses Fase-fase generic yang menandai proses perngkat lunak dari definisi, pengembangan, dan pemeliharaan, dapat diaplikasikan pada semua perangkat lunak. Masalahnya adalah bagaimana memeilih model proses yang sesuai ?? Manajer proyek harsu memutuskan model yang paling sesuai yang kemudian menentukan sebuah rencana utama yang didasarkan pada sejumlah aktivitas kerangka kerja umum. Perencanaan proyek dimulai dengan menggabungkan masalah dan proses. Setiap fungsi harus melalui sejumlaj aktivitas kerangka kerja yang sudah ditentukan bagi sebuah organisasi 34 E. Kegiatan Manajemen Ada beberapa pekerjaan yang harus dilakukan dalam pembuatan proyek perangkat lunak yaitu: Penulisan proposal Proposal mendekripsikan tujuan proyek dan bagaimana pelaksanaannya. Biasanya tercakup juaga perkiraan biaya dan jadwal Perencanaan dan penjadwalan proyek Berhubungan dengan identifikasi kegiatan, patokan, dan apa yang harus dihasilkan proyek. Renacana harus dibuta untuk memendu pengembanagan kea rah tujuan proyek. Pembiayaan Proyek Prakiraan biaya proyek merupakan kegiatan untuk memperkirakan sumber daya yang dibutuhkan Pemantauan dan peninjauan proyek Kegiatan untuk mengetahui kemajuan proyek dan membandingkan kemajuan dengan biaya yang sebenarnya dikeluarkan dengan biaya yang direncanakan. Pemilihan dan evaluasi personil Untuk pelaksaan proyek harus diperlukan anggita team yang memiliki skill atau keahlian yang memadai Penulisan laporan dan presentasi Hasil akhir pelaksaan rekayasa perlu dibuat dokumentasinya dalam bentuk laporan dan presentasikan di depan pelanggan, end user. 35 36