7 Des 2012

Manajemen Proyek Perangkat Lunak

Manajemen Proyek Perangkat Lunak
Disiapkan oleh: Umi Proboyekti, S.Kom, MLIS
Pengantar
Manajemen proyek perangkat lunak merupakan bagian yang penting dalam
pembangunan perangkat lunak. Sekalipun tidak bersifat teknis seperti
pengkodean, hal-hal dalam manajemen proyek PL 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
PL, penjadwalan dan sebagainya. Dalam pembahasan berikut, hanya sebagian
kecil dari manajemen yang akan dibahas untuk memberi gambaran tentang halhal
manajemen yang berlaku dan diterapkan dalam pembangunan PL.
Manajemen Personel, Produk dan Proses
Manajemen proyek perangkat lunak mengatur 4 hal penting: personel, produk,
proses dan proyek. Empat hal ini berurutan mulai dari yang paling penting.
Personel merupakan mendapat tempat paling penting karena tanpa personel
yang baik dan tepat maka 3 hal lain tidak bisa berjalan dengan baik.
Katagori Personel
Proses pembangunan PL melibatkan banyak personel. Personel-personel ini
digambarkan seperti pemain, dan dikatagorikan dalam 5 katagori pemain:
1. manajer senior : yang menentukan usaha yang dikerjakan, dan pemegang
keputusan dalam proyek.
2. manajer proyek (teknis)– pemimpin tim: yang membuat rencana,
memotivasi, mengatur dan mengendalikan praktisi yang mengerjakan PL
3. praktisi : yang mengerjakan PL
4. klien : yang menentukan kebutuhan PL dan pihak lain yang berkaitan
dengan hasil produk
5. pengguna PL : yang berinteraksi langsung dengan PL yang dibangun.
Efektifitas kerja masing-masing personel di atas harus diusahakan oleh pemimpin
tim. Pemimpin tim ini yang mengatur tim proyek agar dapat memberikan yang
terbaik dari masing-masing personel.
Pemimpin Tim
Pemimpin Tim PL disini adalah manager proyek. Seorang pemimpin tim
diharuskan mempunyai ketrampilan memimpin yang cukup. Seseorang tidak
menjadi pemimpin tim secara kebetulan tapi sungguh-sungguh karena punya
kemampuan. Kemampuan yang dibutuhkan dalam kepemimpinan seperti:
- mampu memotivasi
Rekayasa Perangkat Lunak Teknik Informatika UKDW
2
- 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
- mampu menjadi manajer: menggunakan wewenangnya pada saat yang
tepat, atau memberikan kebebasan pada anggota timnya jika diperlukan
- mampu menghargai kerja: menghargai hasil yang dicapai, ide yang
dilontarkan dan pendapat yang diajukan oleh anggota timnya
- mampu mengenali tim: mampu “membaca” dan memahami anggota
timnya. Mampu memenuhi kebutuhan tim dan bertahan dalam tekanan
yang tinggi.
Tim Perangkat Lunak (Software Team)
Struktur organisasi dalam tim ini bisa mengadaptasi dari banyak struktur
organisasi yang sudah ada. Berikut beberapa pilihan pembagian tugas/penugasan
yang bisa diterapkan untuk tim perangkat lunak yang terdiri dari n personel yang
bekerja selama k tahun:
- n 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
Sekalipun masing-masing pilihan punya argumentasi sendiri-sendiri, namun dari
pengamatan yang dilakukan, pilihan no 3 dianggap lebih produktif.
Cara atau gaya manajemen, jumlah personel, tingkat kemampuan para personel
dan masalah-masalah yang dihadapi tim menentukan bentuk struktur organisasi
yang bisa diterapkan. Contoh struktur organisasi tim adalah:
1. Democratic Decentralized (DD) : Tidak ada pemimpin yang permanen,
koordinator ditunjuk untuk jangka waktu yang pendek, keputusan diambil
Rekayasa Perangkat Lunak Teknik Informatika UKDW
3
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
Pengukuran PL
Metric dalam software engineering didefinisikan oleh IEEE Glossary of SE sebagai
“ a quantitative mesaure of the degree to which a system, component, or process
possesses a given attribute” atau artinya pengukuran secara kuantitatif pada
tingkat sistem, komponen atau proses berdasarkan katagori yang ditetapkan.
a. pengukuran berdasarkan ukuran
Pengukuran berdasarkan PL-PL 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 :
- harga per KLOC (seribu baris kode)
- kesalahan per KLOC
Rekayasa Perangkat Lunak Teknik Informatika UKDW
4
Gambar 1 : Contoh tabel pengukuran berdasarkan ukuran
Cara ini kurang diterima secara universal karena pengunaan LOC untuk kunci
ukuran bergantung pada bahasa pemrograman yang digunakan.
b. pengukuran berdasarkan fungsi (Function Point – FP)
Function point ditentukan berdasarkan bagian-bagian software yang bisa dihitung
seperti :
- jumlah input dari pengguna
- jumlah output untuk pengguna
- jumlah user inquiry: inquiry didefinisikan sebagai online input yang
menghasilkan respon langsung dari software dalam bentuk online output
- jumlah file: baik file yang terpisah dari database, atau bagian dari file
- jumlah external interface: misalnya data file pada storage media yang
digunakan untuk mengirimkan informasi ke sistem lain.
Gambar 2 menggambarkan proses penghitungan Function Point. Yang Kurang
jelas dalam proses ini dan kurand detil adalah bagaimana menentukan berat
(weight)
Functions
UICF
2DGA
3DGA
DSM
CGDF
PCF
DAM
Totals
estimated LOC LOC/pm $/LOC Cost Effort (months)
2340
5380
6800
3350
4950
2140
8400
33,360
14
20
20
18
22
28
18
315
220
220
240
200
140
300
32,000
107,000
136,000
60,000
109,000
60,000
151,000
655,000
7.4
24.4
30.9
13.9
24.7
15.2
28.0
145.0
Rekayasa Perangkat Lunak Teknik Informatika UKDW
5
Gambar 2: Alur pengukuran dengan Function Point
Gambar 3: Penghitungan Function Point
Gambar 3 menjelaskan contoh penghitungan Function point berdasarkan
parameter yang sudah ditentukan.
Analyze information
domain of the
application
and develop counts
Weight each count by
assessing complexity
Assess influence of
global factors that affect
the application
Compute
function points
Establish count for input domain and
system interfaces
Assign level of complexity or weight
to each count
Grade significance of external factors, F
such as reuse, concurrency, OS, ...
degree of influence: N = F
i
complexity multiplier: C = (0.65 + 0.01 x N)
function points = (count x weight) x C
where:
i
complexity multiplier
function points
number of user inputs
number of user outputs
number of user inquiries
number of files
number of ext.interfaces
measurement parameter
3
4
3
7
5
count
weighting factor
simple avg. complex
4
5
4
10
7
6
7
6
15
10
=
=
=
=
=
count-total
X
X
X
X
X
Rekayasa Perangkat Lunak Teknik Informatika UKDW
6
Gambar 4: Faktor-faktor yang dianggap penting
c. ukuran untuk organisasi kecil (DRE = Defect Removal efficiency)
Untuk organisasi yang kecil mungkin bisa menggunakan ukuran seperti :
- waktu (hari atau jam) mulai dari permintaan/request samai evaluasi
lengkap tqueue
- usaha (personel-waktu) untuk melakukan evaluasi Weval
- waktu (jam atau hari) dari selesainya evaluasi sampai penugasan lain ke
personel teval
- usaha (personel – jam) yang dibutuhkan untuk membuat perubahan
Wchange
- waktu (jam atau hari ) untuk melakukan perubahan, tchange
- kesalahan yang terjadi selama pengerjaan untuk melakukan perubahan
Echange
- cacat yang terjadi setelah perubahan diserahkan ke klien Dchange
Setelah ukuran-ukuran tersebut dikumpulkan bisa beberapa hal bisa dihitung
seperti total waktu dari permintaan perubahan sampai implementasi dari
perubahan. Persentase usaha yang dibutuhkan untuk evvaluasi dan
implementasi bisa ditetapkan. Defect Removal Effiency (DRE) bisa dihitung
dengan: DRE = Echange / (Echange+ Dchange).
Diadaptasi dari:
1. Pressman, Roger.S. "Software Engineering : A Practioner's Approach." 5th .
McGrawHill. 2001.
Factors are rated on a scale of 0 (not important)
to 5 (very important):
data communications
distributed functions
heavily used configuration
transaction rate
on-line data entry
end user efficiency
on-line update
complex processing
installation ease
operational ease
multiple sites
facilitate change

Tidak ada komentar:

Posting Komentar