Manajemen proyek perangkat lunak membutuhkan teknik manajemen yang tepat untuk merencanakan, mengorganisir, memantau, dan mengendalikan proyek perangkat lunak. Dokumen ini membahas pentingnya manajemen sumber daya manusia, proses, dan masalah selama proyek serta penggunaan metrik perangkat lunak untuk mengelola proyek dan proses perangkat lunak. Proyek perangkat lunak membutuhkan perencanaan realistis di awal pro
1. MANAGING
SOFTWARE PROJECTS
(Manajemen Proyek Perangkat Lunak)
2. Considering of Management
Techniques
We need to consider the management
techniques required to plan, organize, monitor,
and control software projects.
3. It needs to be answered
• How must the people, process, and problem be managed during a
software project?
• What are software metrics and how can they be used to manage a
software project and the software process?
• How does a software team generate reliable estimates of effort,
cost, and project duration?
• What techniques can be used to formally assess the risks that can
have an impact on project success?
• How does a software project manager select the set of software
engineering work tasks?
• How is a project schedule created?
• How is quality defined so that it can be controlled?
• What is software quality assurance?
• Why are formal technical reviews so important?
• How is change managed during the development of computer
software and after delivery to the customer?
4. Fokus Manajemen Projek PL
• Memfokuskan pada aktifitas pengembangan
software sesuai dengan jadwal penyelesaian
dan organisasi pengembangan software
• Manajemen projek dibutuhkan karena
pengembangan software memiliki kendala
pada biaya dan jadwal yang ditentukan oleh
pengembang.
5. Spektrum Manajemen
Manajemen proyek Perangkat Lunak (PL) yang efektif berfokus pada 4P,
dimana harus berurut yaitu:
1. People : Elemen terpenting dari suksesnya proyek
2. Problem/Product : Software yg dikembangkan
3. Process : Suatu kerangka kerja dari suatu aktifitas dan
kumpulan tugas untuk memgembangkan PL
4. Project : Penggabungan semua kerja untuk membuat
produk menjadi kenyataan
6. Personel dalam Pengembangan PL
Proses pembangunan PL melibatkan banyak personel. Personel-personel ini
digambarkan seperti pemain (Player), dan dikatagorikan dalam 5 katagori :
1. Manajer Senior : yang menentukan usaha yang dikerjakan, dan pemegang
keputusan dalam proyek.
2. Manajer Proyek : merencanakan, memotivasi, mengatur dan
(Pemimpin Tim) mengendalikan praktisi yang mengerjakan PL
3. Praktisi : Mempunyai ketrampilan teknik untuk merekayasa
(Pelaksana) aplikasi
4. Klien : Menentukan jenis kebutuhan PL dan pihak lain yang
(Pelanggan) berkaitan dengan hasil produk
5. Pengguna akhir : yang berinteraksi langsung dengan PL yang dibangun.
(End User)
7. Manajer Proyek (Pemimpin Tim) (1)
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
Mampu mencari penyelesaian masalah (problem solving): menganalisa
masalah-masalah teknis ataupun manajemen/organisasi kemudian
mendapatkan jalan keluar atau memotivasi anggota untuk mampu
menyelesaikan masalah. Akomodatif terhadap perubahan yang mungkin
terjadi
8. Manajer Proyek (Pemimpin Tim) (2)
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.
9. Tim Perangkat Lunak (Software Team)
Ada beberapa pilihan pembagian tugas yang bisa diterapkan untuk tim
perangkat lunak yang terdiri dari n personel yang bekerja selama k tahun:
1. n orang ditugaskan untuk sejumlah m tugas fungsional yang berbeda
dengan sedikit tugas gabungan. Koordinasi adalah tugas dari manajer
yang mungkin saja punya 6 proyek lainnya.
2. n orang di tugaskan untuk tugas fungsional yang berbeda sebanyak m (m<
n) sehingga terbentuk tim informal. Seorang pemimpin tim ad hoc dpt
dipilih. Koordinasi antar anggota tim adalah tanggung jawab manajer.
3. n orang diatur di dalam t tim , setiap tim mengerjakan >= 1 tugas
fungsional, setiap tim mempunyai sebuah struktur spesifik yang ditentukan
untuk semua tim yang bekerja pada sebuah proyek, koordinasi dikontrol
oleh tim itu sendiri dan oleh manajer proyek PL (sistem ini paling produktif)
10. Contoh Struktur Organisasi Tim (1)
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,
11. Contoh Struktur Organisasi Tim (2)
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,
12. Contoh Struktur Organisasi Tim (3)
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.
13. 7 Faktor proyek yang harus dipertimbangkan dalam
merencanakan tim RPL yaitu :
1. Kesulitan pada masalah
2. Ukuran program yang dihasilkan (LOC /
function)
3. Waktu tim (umur)
4. Tingkat dimana dapat dimodularitasi
5. Kualitas serta keandalan
6. Kepastian tanggal penyampaian
7. Tingkat sosiabilitas / komunikasi
14. Pengaruh Karakteristik Proyek pada Struktur Tim
Tipe Tim DD CD CC
Tingkat Kesulitan
Tinggi X
Rendah X X
Ukuran
Besar X X
Kecil X
Umur Tim
Panjang X
Singkat X X
Modularitas
Tinggi X X
Rendah X
Keandalan
Tinggi X X
Rendah X
Tanggal Pengiriman
Ketat/Pasti X
Longgar X X
Sosiabilitas
Tinggi X
Rendah X X
15. PROBLEM / PRODUCT
Analisis yang mendetail mengenai kebutuhan PL akan memberikan informasi
untuk menghitung perkiraan kuantitatif & perencanaan organisasi. Tetapi itu
sulit karena informasi yang diberikan customer tidak lengkap.
Ruang lingkup masalah dibatasi dengan :
Konteks
Bagaimana PL yang dibangun memenuhi sistem, produk / konteks bisnis
yang lebih besar serta batasan yang menentukan hasilnya
Tujuan informasi
Objek data pelanggan apa yang dihasilkan sebagai output dari PL objek
data apa yang dapat diperlukan sebagai input
Fungsi & unjuk kerja
Fungsi apa yang dilakukan oleh PL digunakan untuk mentransformasikan
input menjadi output
16. PROCESS
Proses PL memberikan suatu kerangka kerja dimana rencana komprehensip bagi
pengembangan PL yang dapat dibangun dengan
- Sejumlah kumpulan tugas yang berbeda, kemampuan penyampaian & jaminan
kualitas
- Aktifitas pelindung, jaminan kualitas PL, manajemen konfigurasi PL & pengukuran
Model PROSES :
1. Sekunsial Linier
Classic Life Cycle / model air terjun
2. Prototipe
Perencanaan kilat untuk konstruksi oleh prototype
3. Spiral
Merangkai sifat iterative dari prototype dengan cara kontrol & aspek sistematis dari
sekunsial linier
4. Teknik Generasi Keempat
Serangkaian alat bantu PL yang secara otomatis memunculkan kode sumber yang
berdasarkan pada spesifikasi perekayasaan
17. PROYEK
Profesional industri sering mengacu pada aturan 90-90 yaitu pada saat
mendiskusikan proyek PL yang sukar maka 90 % dari sistem yang pertama
menyerap 90 % dari usaha & waktu yang diberikan. 10 %terakhir mengambil 90 %
lain dari usaha & waktu yang diberikan.
Dari penyataan tersebut proyek mengalami kesulitan yaitu
1. Kemajuan mengalami kecacatan
2. Tidak ada cara untuk mengkalibrasi kemajuan karena tidak memperoleh matrik
kuantitatif
3. Rencana proyek belum dirancang untuk mengakomodasi sumber daya yang
diperlukan pada akhir sebuah proyek
4. Resiko-resiko belum mempertimbangkan secara eksplisit serta belum dibuat
rencana untuk mengurangi, mengatur & memonitor
5. Jadual yang ada tidak realistis & cacat
Untuk mengatasi masalah tersebut maka diperlukan waktu pada awal proyek
untuk membangun rencana yang realistis guna memonitor rencana proyek
selama berjalan & pada keseluruhan proyek serta mengontrol kualitas serta
perubahannya.