Pertemuan 3 Manajemen Proyek Perangkat Lunak Proses Dalam Manajemen PL Manajemen proyek merupakan lapisan pertama dalam proses rekayasa perangkat lunak skala besar. Untuk menuju pada proyek yang berhasil, perlu dimengerti tentang : Lingkup pekerjaan Resiko yang dapat ditimbulkan Sumber-sumber yang diperlukan Tugas yang harus dilaksanakan Patokan yang harus diikuti Usaha atau biaya yang dikeluarkan Dan Penjadwalan 1 Langkah Awal dalam Manajemen Perangkat Lunak Untuk mengestimasi biaya, pembagian tugas, dan penjadwalan, sebelum sebuah proyek direncanakan : Memastikan tujuan dan ruang lingkup Memperhatikan alternatif-alternatif solusi Identifikasi batasan teknik dan manajerial Fokus Manajemen Proyek Manajemen proyek terfokus pada 4P, yaitu : 1. People Elemen terpenting dalam keberhasilan suatu proyek 2. Product Perangkat lunak yang dihasilkan 3. Process Sekelompok aktivitas kerangka kerja dalam merekayasa perangkat lunak 4. Project Seluruh proses yang dibutuhkan untuk menghasilkan suatu produk 2 Faktor-faktor yang mempengaruhi hasil akhir proyek Perangkat Lunak Ukuran (size) Batas waktu pengiriman (Delivery Deadline) Pembiayaan dan anggaran (Budgets & Costs) Bidang aplikasi (Application Domain) Implementasi Teknologi (Technology Can Be Implemented) Batasan-batasan sistem (System Constrains) Kebutuhan pengguna (User Requirements) Sumber daya yang tersedia (Available Resource) Permasalahan Dalam Manajemen Proyek Bagaimana kualitas produk yang akan dihasilkan Perkiraan / beban resiko yang timbul Ukuran perangkat lunak Estimasi / perkiraaan dana Penjadwalan proyek Komunikasi dengan pelanggan Tim perancang Sumber daya lainnya Proses monitoring proyek 3 Fokus Dalam RPL Analisa Resiko Estimasi Biaya Penjadwalan Manajemen proyek Pengecekan Kualitas hasil terkait dengan kualitas yang diinginkan bersama Manajemen Sumber Daya Manusia Pengukuran Perangkat Lunak Pengukuran dan satuan ukuran akan membantu untuk mengerti proses-proses dalam pengembangan dan produk itu sendiri. Proses dan produk diukur usaha untuk meningkatkan kualitasnya. 4 Pengukuran Perangkat Lunak (2) 1. Pengukuran Langsung Terkait dengan biaya dan usaha yang diaplikasikan, misalnyayang menyangkut deretan kode program, kecepatan eksekusi, ukuran memori yang dibutuhkan dan cacat pada produk, yang dilaporkan pada sejumlah periode waktu 2. Pengukuran tidak Langsung Terkait dengan fungsionalitas, kualitas, kompleksitas, efisiensi, reabilitas, kemampuan pemeliharaan dan lainlain Pengukuran Perangkat Lunak (3) Mengapa perangkat Lunak Harus Diukur?? 1. Untuk mengetahui karakteristik Perangkat Lunak 2. Proses evaluasi Perangkat Lunak 3. Prediksi kebutuhan Perangkat Lunak 4. Pengembangan Perangkat Lunak 5 Pengukuran Perangkat Lunak (4) Kualitas Pengukuran Perangkat Lunak : Correctness Sesuai dengan spesifikasi yang diinginkan Maintability Kemudahan pemeliharaan dan stabil Integrity Daya tahan terhadap serangan dari luar sistem Usability Kemudahan dalam penggunaan (user-friendly) Estimasi Dalam aktifitas dilakukan: utama proyek yaitu perencanaan, Sumber daya manusia (ukuran orang/bulan) Jangka waktu kronologis (Ukuran waktu kalender) Biaya (Ukuran uang Rp) 6 Estimasi (2) A. Tujuan Perencanaan Anggaran Proyek Untuk menjalankan apa yang telah ditentukan dalam tahap planning Memberikan arah/dukungan financial untuk membiayai proyek Untuk mengontrol dan mendokumentasikan pembiayaan proyek B. Metode Perencanaan Anggaran Metode perkiraan (intuisi) pimpinan dan tim Taksiran standar TCA(Traditional Cost Accounting) ABC (Activity Based Costing) Estimasi (3) Beberapa hal yang terkait dengan metode ABC : Konsistensi lebih akurat dibandingkan dengan metode TCA Terkonsentrasi pada biaya tidak langsung (tambahan) Biaya selalu berhubungan dengan aktifitas Aktifitas selalu menggunakan sumber daya Mengkonversi biaya langsung menjadi tidak langsung 7 Analisis Resiko Analisis resiko merupakan serangkaian langkah untuk menyiasati resiko Analisis resiko sangat penting dalam manajemen proyek perangkat lunak. Beberapa hal yang harus diperhatikan berkaitan dengan resiko adalah: Masa yang akan datang, Perubahan, Pilihan. Menyiasati Resiko Identifikasi resiko Melihat semua resiko sesuai dengan kategori(secara makro). Perkiraan resiko Memperhitungkan lebih lanjut estimasi resiko. Proyeksi resiko Disebut juga estimasi resiko, adalah usaha untuk mengukur setiap resiko. Strategi manajemen resiko Putusan (Resolution) resiko Pemantauan resiko 8 Pengendalian Resiko Strategi Penanganan Resiko 1. Manajemen Resiko Reaktif Tim proyek beraksi pada resiko mereka menjumpainya Pelonggaran rencana penambahan resource antisipasi, misalnya kebakaran Perbaikan pada kesalahan, sumber daya yang ditemukan & diterapkan ketika resiko sudah menyerang Manejemen krisis kesalahan tidak dapat direspon oleh sumber daya & menjadi ancaman bagi keberlangsungan proyek Pengendalian Resiko (2) 2. Manajemen Resiko Proaktif Kinerja analisis resiko secara formal Koreksi terorganisasi pada penyebab resiko Pengujian sumber resiko yang diantaranya adalah perangkat lunak Pengembangan kemampuan untuk mengatur perubahan 9 Perencanaan Proyek Memahami masalah yang akan di hadapi Menentukan cara-cara yang tepat untuk mendapatkan solusi yang tepat Pengoptimalan efisiensi dan keuntungan proyek Memerlukan dokumen kebutuhan yang akan digunakan untuk pengambilan keputusan menerima proyek/menolaknya. Jika menerima maka langkah selanjutnya adalah membuat proposal Perencanaan Proyek (2) Segitiga proyek (Proyek Triangle) 1. Time Penjadwalan tugas, penentuan ketergantungan tugas 2. Money Anggaran Belanja, sumber daya 3. Scope Ruang lingkup pekerjaan durasi, 10 Perencanaan Proyek (3) Strategi Perencanaan memilih dan menerapkannya Hasil tujuan Asumsi/anggapan Pembatasan Area/cakupan berhubungan dengan tugas dan pengiriman Tahapan perencaan Proyek Penentuan area/cakupan proyek Pendefinisian tugas-tugas, teknik/tools (WBS, project Network Diagram) Pendefinisian sumber daya Penjadwalan teknik/tools : PERT, CPM, Gantt Chart Penentuan Anggaran Perencanaan Proyek (4) Tools dan Teknik Manajemen Proyek Work Breakdown Structure Project Network Diagram Critical Path Method (CPM) Program Evaluation and Review Technique (PERT) Gantt Chart Precedence Diagramming Method (PDM) 11 Penjadwalan Langkah-langkah yang dilakukan dalam penjadwalan: 1. Identifikasi sekumpulan tugas 2. Pastikan keterkaitan antar tugas 3. Estimasi usaha untuk tiap-tiap tugas 4. Tentukan pekerja dan sumber-sumber lainnya 5. Buat jaringan tugas 6. Buat jadwal kerja berdasarkan waktu Penelusuran dan Pengendalian Penelusuran dan pengendalian dilakukan setelah ada penjadwalan yang pasti, yaitu memeriksa apakah tugas telah dilaksanakan sesuai dengan jadwal. 12 Tujuan Pengukuran Perangkat Lunak Indikasi kualitas produk Perkiraan produktivitas menghasilkan produk orang-orang yang Perkiraan manfaat dari penerapan metode dan tools Membentuk dasar dari estimasi Menegaskan (Justify) permintaan tools baru dan pelatihan Ukuran Kualitas Perangkat Lunak Kualitas perangkat lunak dihitung pada saat proses rekayasa perangkat lunak ataupun setelah diserahkan kepada pemakai. Satuan ukuran kualitas perangkat lunak pada saat proses rekayasa : 1. Kompleksitas program 2. Modularitas yang efektif 3. Besarnya program 13 Penyebab Kegagalan (PL) Penyebab kegagalan sebuah proyek PL : Batas waktu pengerjaan proyek yang tidak realistis Perubahan keinginan pelanggan Meremehkan pekerjaan Munculnya resiko yang dapat diperkirakan dan resiko yang diluar perkiraan Kesulitan secara teknis Kesalahpahaman antara anggota tim proyek Kesalahan dalam manajemen proyek Komponen Dalam Proyek PL Manager Senior Menentukan isu-isu bisnis yang memiliki pengaruh penting dalam proyek Manager (Teknis) Proyek Merencanakan, memotivasi, mengorganisir mengontrol proyek sebuah produk / aplikasi dan Pelaksana Yang menyampaikan keterampilan teknik yang diperlukan untuk merekayasa sebuah produk / aplikasi 14 Komponen Dalam Proyek PL (2) Pelanggan Menentukan jenis kebutuhan akan perangkat lunak yang akan direkayasa Pemakai Akhir (end-user) Yang berinteraksi dengan perangkat lunak bila perangkat lunak telah dipublikasikan (release) untuk digunakan Komponen Dalam Proyek PL (3) Faktor yang harus dipertimbangkan dalam menyeleksi tim pelaksana proyek 1. Tingkat kesulitan dari masalah yang akan dikerjakan 2. Ukuran program yang dihasilkan yang terkait dengan jumlah fungsi yang digunakan 3. Waktu yang dibutuhkan oleh tim untuk bekerja secara bersama-sama 4. Tingkatan dimana masalah dapat dimodularisasi / dibuat dalam bentuk modul 15 Komponen Dalam Proyek PL (4) 5. Kualitas yang diperlukan serta keandalan sistem yang dibangun 6. Kepastian tanggal penyampaian ke pelanggan 7. Memiliki kemampuan sosialisasi (komunikasi) yang dibutuhkan dalam proyek Definisi Masalah dalam RPL 1. Menetapkan Ruang Lingkup Permasalahan : Konteks Bagaimana software yang akan dibangun nantinya dapat memenuhi kebutuhan sistem serta batasan yang ditentukan oleh sistem Tujuan Informasi Menentukan objek data yang dihasilkan sebagai output dan object data yang diperlukan sebagai input Fungsi dan Unjuk Kerja Menentukan fungsi yang akan dilakukan untuk mentransformasi input data menjadi output serta ciri kerja khusus yang akan ditekankan 16 Definisi Masalah dalam RPL (2) 2. Dekomposisi masalah Menetapkan pembagian fungsi / aktivitas kerja pada 2 area utama, yaitu ; Fungsionalitas yang harus disampaikan Proses yang akan dipakai untuk menyampaikannya 17