Tugas 1 Manajemen Proyek Perangkat Lunak - Agatha 05111540000137
Hi Bloggers!
Kali ini saya akan membahas mengenai pengantar manajemen proyek perangkat lunak. Meliputi pengertian Software Process (Rekayasa Perangkat Lunak), pengertian dan contoh Software Product (Produk Perangkat Lunak), biaya yang dibutuhkan untuk membuat perangkat lunak dan tim serta pembagian tugas dalam proyek perangkat lunak.
Yang pertama yaitu pengertian Software Process. Terdapat beberapa pengertian tentang Sofware Process dari beberapa sumber:
1. Menurut Reidar Conradi pada bukunya yang berjudul Software Process Technology: 7th European Workshop, Software Process adalah Proses perangkat lunak yang direpresentasikan sebagai sebuah proses program dan dapat mengeksekusi secara otomatis.
2. Menurut Ian Sommerville pada bukunya yang berjudul Software Engineering (9th Edition), Software Process adalah Pendekatan sistematis yang digunakan dalam rekayasa perangkat lunak serta merupakan sebuah aktifitas terurut yang menuju kepada produksi dari pembuatan produk rekayasa perangkat lunak.
Sedangkan Software Product yaitu produk atau hasil dari Software Process. Produk perangkat lunak yang dibuat oleh pengembang (developer) perangkat lunak terdiri dari 2 jenis, yaitu :
- Produk generik
produk generik merupakan perangkat lunak yang dibuat oleh pengembang perangkat lunak untuk dijual atau dipopulerkan (open source) tanpa ada yang memesan terlebih dahulu, perangkat lunak yang termasuk dalam produk generik misalnya perangkat lunak sistem operasi, perangkat lunak pendukung perkantoran untuk membuat dokumen, slide presentasi, atau penghitungan dalam bentuk papersheet dan lain-lain.
- Produk pemesanan
Produk pemesanan merupakan produk perangkat lunak yang dibuat karena ada pelanggan yang melakukan pemesanan, misalnya instansi memerlukan perangkat lunak untuk kebutuhan bisnis dalam instansi nya, maka instansi tersebut akan bekerja sama dengan pengembang untuk membuat perangkat lunak yang dibutuhkan
Selanjutnya kita akan membahas mengenai estimasi biaya yang dibutuhkan untuk membuat perangkat lunak.
Estimasi dalam perencanaan sebuah proyek dilakukan dua kali yaitu pada saat fase definisi dan setelah fase analisis. Pembuat proyek harus memeriksa ulang estimasi untuk disesuaikan dengan rencana akhir proyek. Estimasi tidak boleh dilakukan secara berlebihan karena ini akan mempengaruhi waktu pengerjaan sebuah proyek menjadi tertunda dalam jangka waktu yang cukup lama dan menyebabkan keterlambatan yang tidak diharapkan.
Dua hal yang perlu diperhatikan :
Karena proyek sedang berjalan, akurasi estimasi harus bisa memperbaiki pengetahuan tentang peningkatan proyek aslinya.
Pada awal proyek, kebutuhan user merupakan hal yang sangat penting, sehingga pertimbangan yang tergesa-gesa pada implementasi fisik harus dihindari.
Dasar Estimasi Perangkat Lunak
-Kebutuhan data historis : memerlukan informasi bagaimana proyek yang telah diimplementasikan sebelumnya, terutama bahasa pemrograman dan tool yang digunakan, standar yang dipakai dan pengalaman staf.
-Metrik pekerjaan: biasanya tidak mungkin menghitung langsung harga aktual atau waktu yang diperlukan untuk merealisasikan proyek. Waktu yang dipakai untuk menulis program bisa berbeda sesuai kompetensidan pengalaman software developer. Secara praktis, untuk mengukur volume pekerjaan didasarkan pada jumlah source lines of code (SLOC) atau function points.
-Kompleksitas : Telah banyak usaha yang dilakukan untuk mengukur kompleksitas secara obyektif, namun seringkali akan tergantung penilaian subyektif estimatornya.
Teknik-Teknik Estimasi Biaya Perangkat Lunak
-Algorithmic models : menggunakann ‘effort driver’ yang menggambarkan karakteristik dari sistem target dan lingkungan implementasi untuk memprediksi biaya.
-Expert judgement : dimana nasehat staf yang memiliki kemampuan sangat diharapkan
-Analogy : kemiripan, kelengkapan, proyek diidentifikasi dan biaya aktualnya digunakan sebagai dasar estimasi proyek baru.
-Parkinson : mengidentifikasi kelayakan biaya staf untuk mengerjakan proyek dan menggunakannya sebagai estimasi (bukan merupakan metode prediksi biaya yang sebenarnya).
-Price to win : estimasi harus kelihatan cukup rendah untuk memenangkan kontrak.
-Top-down: keseluruhan estimasi diformulasikan untuk keseluruhan proyek yang kemudian dipecah ke dalam usaha yang diperlukan untuk komponen-komponen tugas.
-Bottom-up : komponen-komponen tugas diidentifikasi, diukur dan dilakukan estimasi sendiri-sendiri untuk kemudian dijumlahkan
Salah satu contoh estimasi:
Estimasi Anggaran dan Analisis Keuangan
Untuk membangun Sistem Informasi berbasis komputer, pemilik PT. IWAN CAHAYA SENTOSA menganggarkan biaya sebesar Rp. 19,000,000,- (hanya untuk Sistem Informasi) yang pengerjaannya dilakukan oleh “Pengembang Software” sebagai “out-sourcing” (tenaga lepas) sedangkan pembayaran personil dari Pengembang Software diserahkan sepenuhnya kepada Manajer Proyek. Sedangkan estimasi anggaran secara keseluruhan adalah Rp. 29,000,000,- dengan rincian sebagai berikut :
Manajemen Proyek Perangkat Lunak mengatur 4 hal penting yaitu :
1. Personel
2. Produk
3. Proses
4. Proyek
Penjelasan:
1. Personel
Proses pembangunan perangkat lunak melibatkan banyak personel. Personel-personel ini digambarkan seperti pemain, dan dikatagorikan dalam 5 katagori pemain:
- Manajer senior : yang menentukan usaha yang dikerjakan, dan pemegang keputusan dalam proyek.
- Manajer proyek (teknis)– pemimpin tim: yang membuat rencana, memotivasi, mengatur dan mengendalikan praktisi yang mengerjakan perangkat lunak.
- Praktisi : yang mengerjakan perangkat lunak
- Klien : yang menentukan kebutuhan perangkat lunak dan pihak lain yang berkaitan dengan hasil produk
- Pengguna Perangkat Lunak : yang berinteraksi langsung dengan perangkat lunak yang dibangun.
2. Pemimpin Tim/ Manajer Proyek
Kemampuan yang dibutuhkan dalam kepemimpinan seperti:
- Mampu memotivasi
- Mampu berorganisasi : mengatur proses yang ada atau membuat yang baru dalam rangka mewujudkan ide/konsep menjadi produk
- Mampu mendorong keluarnya ide-ide baru: memberi dorongan, menciptakan situasi yang kondusif untuk lahirnya ide baru
- Mencari penyelesaian masalah (problem solving): mampu menganalisa masalah-masalah teknis ataupun manajemen/organisasi kemudian mendapatkan jalan keluar atau memotivasi anggota untuk mampu menyelesaikan masalah. Akomodatif terhadap perubahan yang mungkin terjadi.
3. Tim Perangkat Lunak (Software Team)
Berikut beberapa pilihan pembagian tugas/penugasan yang bisa diterapkan untuk tim perangkat lunak yang terdiri dari n personel yang bekerja selama k tahun:
-Personel ditugaskan untuk sejumlah m tugas yang berbeda dengan sedikit tugas gabungan ? koordinasi adalah tugas dari manajer yang mungkin saja punya 6 proyek lainnya.
-n personel di tugaskan untuk sejumlah m tugas yang berbeda dengan m < n sehingga terbentuk tim informal. Pemimpin tim khusus perlu ada ? koordinasi antar tim adalah tanggung jawab manajer
-n personel dibagi menjadi sejumlah t tim. Tiap tim ditugaskan mengerjakan satu atau lebih tugas. Tiap tugas mempunyai struktur yang ditentukan sebelumnya bagi semua tim ? koordinasi dikendalikan oleh tim dan manager.
Dalam sebuah Tim pastinya ada struktur organisasi yang terbentuk untuk menentukan pembagian tugas yang bisa diterapkan pada tim perangkat lunak. Misalnya semua personel dibagi menjadi beberapa tim, setiap tim mengerjakan satu atau lebih tugas dan koordinasi dikendalikan oleh tim dam manager. Struktur organisasi yang bisa diterapkan yaitu:
1. Democratic Decentralized (DD) :
Tidak ada pemimpin yang permanen, koordinator ditunjuk untuk jangka waktu yang pendek, keputusan diambil berdasarkan konsensus bersama, komunikasi horizontal antar anggota tim (posisi sejajar semua).
Cocok untuk masalah yang sulit/rumit, cocok untuk proyek besar, tim cenderung awet dan bertahan lama, pekerjaan memuaskan, cocok untuk masalah yang modularitasnya rendah, perlu banyak waktu untuk menyelesaikan proyek.
2. Controlled decentralized (CD) :
Pemimpin tim ditentukan, ada wakil pemimpin dan mereka berbagi tugas, penyelesaian masalah adalah tugas tim dan implementasinya dibagi di antara beberapa sub-tim oleh pemimpin, komunikasi horisontal di antara sub-tim dan di antara personel, komunikasi vertikal berdasarkan struktur hirarki ? sentralisasi untuk penyelesaian masalah.
Cocok untuk masalah yang sederhana, cukup cocok untuk proyek besar, masalah dengan modularitas tinggi, menghasilkan sedikit kesalahan.
3. Controlled Centralized (CC):
Penyelesaian masalah dikerjakan oleh pemimpin, pemimpin melakukan koordinasi internal tim, komunikasi lebih banyak vertikal antara pemimpin dan anggota tim.
Cocok untuk masalah yang sederhana, melakukan penyelesaian, masalah lebih cepat, masalah dengan modularitas tinggi, menghasilkan sedikit kesalahan.
Sumber :
[1]Rosa A. S, Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek. Bandung, Indonesia: Informatika, 2014.
[2] Reidar Conradi, Software Process Technology: 7th European Workshop
[3] Ian Sommerville, Software Engineering (9th Edition)
[4] http://tmm999.blogspot.co.id/2012/04/manajemen-proyek-perangkat-lunak.html#.WoDn5uhubIU
[5] https://hhabibie.wordpress.com/2015/06/15/estimasi-dalam-pengelolaan-proyek-sistem-informasi/



Komentar
Posting Komentar