Manajemen Proyek Perangkat Lunak merupakan bagian yang penting dalam
pembangunan perangkat lunak.
Sekalipun tidak bersifat teknis seperti pengkodean, hal-hal dalam manajemen proyek perangkat lunak ini mampu menentukan apakah proyek akan berjalan dengan baik sehingga menghasilkan produk yang baik.
Hal-hal yang berkaitan dengan manajemen adalah pengelolaan personel dan koordinasi tim, proses, pengukuran proyek-termasuk menentukan harga dari perangkat lunak, penjadwalan dan sebagainya.
Manajemen proyek perangkat lunak mengatur 4 hal penting yaitu :
1. Personel
2. Produk
3. Proses
4. Proyek
1. Personel
Proses pembangunan perangkat lunak melibatkan banyak personel. Personel-personel ini digambarkan seperti pemain, dan dikatagorikan dalam 5 katagori pemain:
a. Manajer senior : yang menentukan usaha yang dikerjakan, dan pemegang keputusan dalam proyek.
Sekalipun tidak bersifat teknis seperti pengkodean, hal-hal dalam manajemen proyek perangkat lunak ini mampu menentukan apakah proyek akan berjalan dengan baik sehingga menghasilkan produk yang baik.
Hal-hal yang berkaitan dengan manajemen adalah pengelolaan personel dan koordinasi tim, proses, pengukuran proyek-termasuk menentukan harga dari perangkat lunak, penjadwalan dan sebagainya.
Manajemen proyek perangkat lunak mengatur 4 hal penting yaitu :
1. Personel
2. Produk
3. Proses
4. Proyek
1. Personel
Proses pembangunan perangkat lunak melibatkan banyak personel. Personel-personel ini digambarkan seperti pemain, dan dikatagorikan dalam 5 katagori pemain:
a. Manajer senior : yang menentukan usaha yang dikerjakan, dan pemegang keputusan dalam proyek.
b. Manajer proyek (teknis)– pemimpin tim:
yang membuat rencana, memotivasi, mengatur dan mengendalikan praktisi
yang mengerjakan perangkat lunak.
c. Praktisi : yang mengerjakan perangkat lunak
d. Klien : yang menentukan kebutuhan perangkat lunak dan pihak lain yang berkaitan dengan hasil produk
e. Pengguna Perangkat Lunak : yang berinteraksi langsung dengan perangkat lunak yang dibangun.
c. Praktisi : yang mengerjakan perangkat lunak
d. Klien : yang menentukan kebutuhan perangkat lunak dan pihak lain yang berkaitan dengan hasil produk
e. Pengguna Perangkat Lunak : yang berinteraksi langsung dengan perangkat lunak yang dibangun.
2. Pemimpin Tim/ Manajer Proyek
Kemampuan yang dibutuhkan dalam
kepemimpinan seperti:
a. Mampu memotivasi
b. Mampu berorganisasi : mengatur proses
yang ada atau membuat yang baru dalam rangka mewujudkan ide/konsep menjadi
produk
c. Mampu mendorong keluarnya ide-ide
baru: memberi dorongan, menciptakan situasi yang kondusif untuk lahirnya
ide baru
d. 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:
a. Personel ditugaskan untuk sejumlah m tugas yang
berbeda dengan sedikit tugas gabungan ? koordinasi adalah tugas dari manajer
yang mungkin saja punya 6 proyek lainnya.
b. 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
c. 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.
Sekalipun masing-masing pilihan punya
argumentasi sendiri-sendiri, namun dari pengamatan yang dilakukan, pilihan no 3
dianggap lebih produktif.
1. Contoh Struktur Organisasi Tim
a. 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.
b. 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.
c. 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.
2. Pengukuran Berdasarkan Ukuran
Pengukuran berdasarkan perangkat lunak -
perangkat lunak yang sudah diproduksi/dibuat sebelumnya, lengkap dengan
karakteristik lain seperti line of code (LOC), harga, waktu yang diperlukan
pada tiap fungsi atau proyek yang dibangun, kesalahan (error) yang ditemukan.
Dari total LOC, harga dan lama waktu dapat diperoleh misalnya :
a. harga per
KLOC (seribu baris kode)
b. kesalahan
per KLOC
Cara ini kurang diterima secara universal
karena pengunaan LOC untuk kunci ukuran bergantung pada bahasa pemrograman yang
digunakan.
3. Pengukuran Berdasarkan Fungsi (Function
Point – FP)
Function point ditentukan berdasarkan
bagian-bagian software yang bisa dihitung seperti :
a. jumlah
input dari pengguna
b. jumlah
output untuk pengguna
c. jumlah
user inquiry: inquiry didefinisikan sebagai online input yang menghasilkan
respon langsung dari software dalam bentuk online output
d. jumlah
file: baik file yang terpisah dari database, atau bagian dari file
e. jumlah
external interface: misalnya data file pada storage media yang digunakan untuk
mengirimkan informasi ke sistem lain.
Ukuran untuk organisasi kecil bisa
menggunakan ukuran seperti :
a. waktu
(hari atau jam) mulai dari permintaan/request samai evaluasi lengkap
b. usaha
(personel-waktu) untuk melakukan evaluasi.
c. waktu (jam
atau hari) dari selesainya evaluasi sampai penugasan lain ke personel.
d. usaha
(personel – jam) yang dibutuhkan untuk membuat perubahan
e. waktu (jam
atau hari ) untuk melakukan perubahan,
f. kesalahan
yang terjadi selama pengerjaan untuk melakukan perubahan.
g. cacat yang
terjadi setelah perubahan diserahkan ke klien.
0 komentar:
Posting Komentar