Manajemen Proyek Analisa dan Perancangan Sistem Obyektifitas • Memahami bagaimana membuat manajemen proyek pada pengembangan sistem Definisi Manajemen Proyek Definisi Manajemen Proyek • Manajemen proyek adalah proses perencanaan dan pengendalian pengembangan sistem dalam suatu jangka waktu tertentu dengan biaya minimum dan fungsionalitas yang tepat. • Manajer Proyek adalah orang yang paling bertanggung jawab untuk mengelola berbagai macam tugas dan peran yang harus dikoordinasi secara hati-hati Definisi Manajemen Proyek • Manajer Proyek adalah orang yang paling bertanggung jawab untuk mengelola berbagai macam tugas dan peran yang harus dikoordinasi secara hati-hati • Salah satu contoh manajer proyek dalam kehidupan sehari-hari adalah wedding organizer. Wedding organizer mempunyai tanggung jawab untuk: – – – – Mengirimkan undangan Memilih menu makanan Mengatur waktu dan budget Mengatur pesta pernikahan Definisi Manajemen Proyek • Teknik Kepemimpinan Manajer Proyek 1. Motivasi: memberikan dorongan agar orang yang dimotivasi dapat menghasilkan sesuatu dengan kemampuan terbaiknya 2. Organisasi: kemampuan mengorganisasikan orang-orang hingga sampai hasil akhir • Manajemen proyek sangat penting dalam memastikan bahwa sistem selesai tepat waktu, sesuai budget, dan dengan fungsi-fungsi yang dijanjikan • Manajemen Proyek merupakan salah satu komponen dalam perencanaan daur hidup sistem yang terdiri dari 1. Mengidentifikasi ukuran proyek 2. Membuat dan mengelola work plan (rencana kerja / jadwal kerja) 3. Membuat susunan kepegawaian pada proyek 4. Mengkoordinasi aktivitas proyek Karakteristik Tugas (proses) dalam manajemen proyek (1) – Understandibility: sejauh mana proses secara eksplisit ditentukan dan bagaimana kemudahan definisi proses itu dimengerti – Visibility: apakah aktivitas-aktivitas proses mencapai titik akhir dalam hasil yang jelas sehingga kemajuan dari proses tersebut dapat terlihat nyata/jelas – Supportability: sejauh mana aktivitas dari proses dapat didukung oleh CASE TOOL – Acceptability: apakah proses yang telah ditentukan oleh analis dapat diterima dan digunakan dan mampu bertanggung jawab selama pembuatan sistem Karakteristik Tugas (proses) dalam manajemen proyek (2) – Reliability: apakah proses didesain sedemikian rupa sehingga kesalahan proses dapat dihindari sebelum terjadi kesalahan pada produk – Robustness: dapatkah proses terus berjalan walaupun terjadi masalah yang tidak terduga – Maintainability: dapatkah proses berkembang untuk mengikuti kebutuhan atau perbaikan – Rapidity: bagaimana kecepatan proses pengiriman sistem dapat secara lengkap memenuhi spesifikasi Mengidentifikasi Ukuran Proyek Segitiga Keseimbangan Manajemen Proyek Biaya Manajemen proyek harus selalu seimbang, jika performa ingin ditambahkan, maka biaya dan jadwal akan bertambah Project Jadwal Performa / fungsi Metode Estimasi Proyek • Metode yang digunakan, salah satunya adalah standar industri. 1. Gunakan waktu yang dihabiskan untuk perencanaan 2. Hitung dengan persentase standar industri 3. Estimasikan keseluruhan waktu untuk proyek Metode Estimasi Proyek Metode Estimasi Proyek 4 waktu keseluruha n 26,66 0.15 waktu perencanaa n 4 waktu analisa 0.2 x 26.67 5.33 waktu desain 0.35 x 26.67 9.33 waktu implementa si 0.3 x 26.67 8 Metode Estimasi Proyek • Waktu yang dihabiskan untuk tahap perencanaan – Rumusnya: waktu perencanaa n waktu keseluruha n 0.15 – Misal, waktu yang kita butuhkan untuk perencaaan Metode Estimasi Proyek • Misal waktu yang kita butuhkan untuk perencanaan adalah 4 bulan, maka 4 waktu keseluruha n 26,67 0.15 Jadi waktu yang dibutuhkan adalah 26,67 bulan = 27 bulan Rencana Kerja Work Plan (Rencana Kerja) • Work plan adalah jadwal yang dinamis yang menyimpan dan melacak semua tugas • Tuliskan semua tugas beserta informasi penting: – Tanggal jatuh tempo – Orang yang bertanggung jawab (dalam tugas ini) – Daftar hal-hal yang akan dicari / dihasilkan • Tuliskan semua tugas menjadi bentuk hirarki angka (hal ini dinamakan WBS: work breakdown structure) • Ada dua tahap dalam membuat work plan: 1. 2. Identifikasi tugas yang harus diselesaikan Estimasi waktu yang dibutuhkan untuk menyelesaikan tiap tugas Contoh Work Plan Informasi Rencana Kerja Contoh Nama Tugas Melakukan analisa kelayakan Tanggal dimulai 1 Mei 2011 Tanggal selesai 14 Mei 2011 Orang yang ditugaskan Ari, sponsor Hasil yang harus didapatkan Analisa biaya dan keuntungan (costbenefit analysis) Status penyelesaian OPEN (belum dikerjakan) Sumber daya yang dibutuhkan spreadsheet Waktu estimasi 16 Jam Waktu aktual 14.5 Jam Mengidentifikasi Tugas (1) Pendekatan dari atas ke bawah 1. Mengidentifikasi tugas dengan level tertinggi 2. Pecahkan menjadi unit-unit terkecil 3. Identifikasikan hal-hal yang dihasilkan, waktu yang dibutuhkan untuk setiap tugas Mengidentifikasi Tugas (2) Dari tahapan daur hidup sistem 1. Perencanaan 1. System request 2. Analisa kelayakan 2. Analisa 3. Desain 4. Implementasi Network Planning (Jaringan Kerja) (1) • Network planning: Merupakan gambaran grafis terperinci yang memperlihatkan hubungan ketergantungan antara aktifitas proyek serta tahapan-tahapan peristiwa yang harus dilalui. • Latar belakang penggunaan: – Berapa lama perkiraan kurun waktu penyelesaian proyek – Kegiatan-kegiatan mana yang bersifat kritis dalam hubungannya dengan penyelesaian proyek – Bila terjadi keterlambatan dalam pelaksanaan kegiatan tertentu, bagaimana pengaruhnya terhadap sasaran jadwal penyelesaian proyek secara menyeluruh Network Planning (Jaringan Kerja) (2) • Kegiatan (activity) merupakan bagian dari lingkup proyek yang memiliki waktu awal dan akhir, sehingga untuk melaksanakannya memerlukan sumberdaya (waktu, uang, tenaga, dll) • Jaringan kerja (network) merupakan grafik yang menggambarkan urutan kegiatan-kegiatan proyek, termasuk hubungan yang satu dengan yang lain. • Kejadian (even) merupakan tanda selesainya satu atau lebih kegiatan • Jalur (path) merupakan garis yang menghubungkan kegiatan pada jaringan kerja • Jalur kritis (critical path) merupakan jalur yang terdiri dari kegiatan-kegiatan yang bila terlambat akan mengakibatkan keterlambatan penyelesaian proyek Simbol dalam network planning Anak panah (arrow), menyatakan sebuah kegiatan/aktivitas (yang memerlukan jangka waktu tertentu) dalam pemakaian sejumlah sumber daya Lingkaran kecil (node), menyatakan sebuah kejadian atau peristiwa (even). Kejadian di sini didefinisikan sebagai ujung atau pertemuan dari satu atau beberapa kegiatan Asumsi dalam Network (1) Asumsi dalam Network (2) Asumsi dalam Network (3) Definisi Network • Finish To Start (FS): penyelesaian sebuah tugas memicu awal tugas lain • Start to Start (SS): awal sebuah tugas memicu awal tugas lain • Finish to Finish (FF): dua tugas harus selesai pada waktu yang bersamaan • Start to Finish (SF): awal sebuah tugas menandakan selesainya tugas lain • • • • Early Start (ES): dimulainya aktivitas sesuai jadwal Durasi : waktu yang dihabiskan Early Finish (EF): selesainya aktivitas sesuai jadwal Late Start (LS): dimulainya suatu aktivitas tapi tidak sesuai jadwal • Late Finish (LF): selesainya suatu aktivitas tapi tidak sesuai jadwal EF = ES + durasi - 1 LS = LF – durasi + 1 E S L S A duras i E F L F Critical Path Method (CPM) • CPM: lintasan dimana terdapat aktivitasaktivitas yang paling banyak memakan waktu, mulai dari permulaan dikerjakannya proyek sampai berakhirnya pekerjaan tersebut. • CPM disebut juga jalur kritis Tujuan dari CPM • Penundaan pekerjaan pada lintasan kritis menyebabkan seluruh proyek akan tertunda pula penyelesaiannya • Proyek dapat dipercepat penyelesaiannya bila pekerjaan-pekerjaan yang terdapat di lintasan kritis dapat dipercepat pula • Pengawasan/pengontrolan hanya dipercepat pada lintasan kritis saja, maka pekerjaan-pekerjaan di lintasan kritis: – Perlu adanya pengawasan ketat agar tidak tertunda penyelesaiannya – Kemungkinan dengan melakukan crash program dapat mempersingkat penyelesaian dengan resiko biaya akan bertambah • Kelonggaran waktu terdapat pada pekerjaan-pekerjaan yang tidak dilalui lintasan kritis. Hal ini memungkinkan bagi manajer untuk merealokasikan / memindahkan pegawai, alat-alat dan biaya pekerjaan-pekerjaan pada lintasan kritis demi efisiensi Latihan Network(1) Nama Durasi Hal yang mendahului A 2 - B 3 A C 5 A D 3 B E 3 C F 7 D;E 1. BUAT JALUR NETWORKNYA 2. CARI JALUR TERPANJANG / CRITICAL PATHNYA B D 3 3 8 5 A 11 2 F 18 7 17 7 C E 5 3 10 ABDF = 18 ACEF = 17 Latihan Network(2) Nama Durasi Hal yang mendahului A 3 - B 2 A C 4 A D 5 B;c E 2 C F 3 D;E 1. BUAT JALUR NETWORKNYA 2. CARI JALUR TERPANJANG / CRITICAL PATH B D 2 5 A F 3 3 C E 4 2 ABDF = 13 ACDF = 15 ACEF = 12 Contoh wbs Margin of Error dalam estimasi waktu dan biaya Phase Deliverable Estimasi margin of error Biaya (%) Waktu (%) System Request 400 60 Project Plan 100 25 Analisis System Proposal 50 15 Desain System Specification 25 10 Planning Bagaimana jika waktu task (tugas) ternyata melebihi dari estimasi? • Sesuaikan jadwal – Tetap biarkan tugas tetap berjalan, tapi tanggal penyelesaian tetap tidak berubah Contoh template aktivitas proyek Aktivitas Proyek Komponen aktivitas Planning 1. Investigasi awal 2. Perencanaan proyek 3. Analisa kelayakan 1. Analisa kelayakan teknis 2. Analisa kelayakan ekonomis 3. Analisa kelayakan organisasi 4. Analisa biaya dan keuntungan (cost & benefit) 5. Laporan inisiasi proyek Spesifikasi 1. 2. 3. 4. 5. Desain 1. Desain fungsional / eksternal 2. Membuat desain fisik / internal 3. Me review dan me revisi desain Build 1. Membuat program 2. Me review dan me revisi program Testing 1. System testing 2. Acceptance testing Implement 1. instalasi Analisa sistem Spesifikasi kebutuhan Me review dan me revisi spesifikasi kebutuhan Desain arsitektur Me review dan me revisi desain arsitektur duras i Hal yg mendahului Mengatur Scope (ruang lingkup) • Scope creep: penyebab utama dalam masalah pengembangan sistem • Scope creep terjadi karena new requirement (kebutuhan baru) ditambahkan ke proyek setelah lingkup proyek asli (awal) telah didefinisikan (telah disetujui) • Untuk menghindari scope creep: – Identifikasi requirement (analisa kebutuhan) sebaik mungkin – Gunakan dokumen persetujuan perubahan formal • Ini digunakan agar orang kesulitan dalam meminta perubahan – Kenakan biaya untuk perubahan • Ini digunakan agar orang tidak jadi meminta perubahan • Kalau scope creep dipaksakan – Tetap jangan dilayani, buat jadi sistem versi 2, dan buat proposal baru, karena waktu telah berjalan, kalau sistem tidak jadi tepat waktu, pengembang akan terkena penalti Timeboxing (1) • Merupakan teknik manajemen scope • Timeboxing dapat dilakukan saat tanggal deadline hampir mendekati tapi sistem masih belum selesai banyak • Maka timeboxing menggunakan cara: – Selesaikan fungsi-fungsi yang penting dulu – Fungsi-fungsi yang level rendah dibuat selama delivery produk Timeboxing (2) • Alasan yang mendasari timeboxing – Coba kita pakai Ms. Word, fitur apa yang sering kita pakai? Page layout Halaman Image Table Save Print Rata teks Font Page break – Dapat disimpulkan, kita memakai Ms.Word hanya menggunakan sebesar 30% fitur – Tingkah laku ini sama dalam penggunaan sistem, fungsi sistem hanya akan dipakai sekitar 30%, jadi hanya fungsi-fungsi yang penting saja yang dibuat dulu, sisanya menyusul Langkah-langkah timeboxing • • • • Tetap perhatikan tanggal pengiriman sistem Prioritaskan fitur yang paling penting Bangun sistem inti Tunda fungsi-fungsi yang belum selesai (yang prioritas lebih rendah) • Kirim sistem dengan sistem yang sudah ada fiturfitur penting • Selama masa instalasi dan training pengguna sistem, masukkan fungsi-fungsi yang tadi ditunda (yang berarti fungsi tersebut sudah selesai) Susunan Kerja Pada Proyek (Staffing the project) Definisi • Susunan kerja pada proyek menjelaskan tipe-tipe orang yang bekerja pada proyek • Project charter (dokumen otorisasi) menjelaskan obyektif dan peraturanperaturan dalam proyek • Pemimpin fungsional mengelola kelompok analis • Pemimpin teknis mengawasi kemajuan dari programer dan staff teknis Cara memotivasi pegawai • Berikan penghargaan berupa uang (bonus, ini tidak disarankan) • Berikan penghargaan lain: – – – – – Pengakuan Prestasi Responsibility Kenaikan pangkat Berikan kesempatan untuk belajar ilmu lebih lanjut (disekolahkan atau diikutkan ke pelatihan) Cara menghindari konflik • Definisikan dengan jelas peran dari masingmasing pegawai • Definisikan dengan jelas rencana proyek (jadwal proyek) • Tetap pertahankan pegawai yang bisa bertanggung jawab • Project charter memuat norma dan peraturan yang harus ditaati • Mengembangkan komitmen pada waktu • Perkirakan prioritas lain yang dapat mempengaruhi proyek Reporting Structures Manajer Proyek Pemimpin Fungsional Analyst Analyst Pemimpin Teknis Programmer Programmer Atribut susunan pegawai • Perkirakan orang yang dibutuhkan dalam proyek • Sebisa mungkin jangan tambahkan orang setelah proyek dimulai – Karena jika kita menambahkan pegawai baru, maka kita harus mengajari dari awal, memberitahu skema proyek,dll (waktu akan terbuang banyak) – Pegawai yang lain harus menyesuaikan dengan pegawai baru (ini akan mengganggu) Standarisasi • Digunakan agar tim proyek dapat bekerja lebih efisien • Membantu memastikan kualitas • Contoh: – Pemberian nama files – Buat form yang mengindikasikan goal yang telah dicapai Mengelola Resiko (1) • Beberapa penyebab resiko – Personel yang lemah • sering sakit, • proyek ini menggunakan bahasa pemprograman baru yang belum dikuasai tim – Scope creep (penambahan requirement setelah proyek berjalan) – Desain yang jelek • Desain program • Analisa yang jelek – Terlalu optimistis pada estimasi waktu Mengelola Resiko (2) • Buatlah dokumen resiko yang melacak: – Resiko potensial – Kemungkinan terjadi (likelihood) – Dampak potensial terhadap proyek – Aksi yang harus dilakukan untuk mengurangi resiko terjadinya likelihood Contoh template manajemen resiko Risk Assesment Document Risk 1 Pengembangan sistem ini sepertinya akan lambat karena programer kita belum familiar dengan Java Likelihood of risk Probabilitas resiko sangat tinggi Potential impact pada proyek Resiko ini, kemungkinan akan meningkatkan waktu penyelesaian proyek sebesar 50% Cara Mengatasi Resiko ini 1. Rekrut programer java sebelum proyek dimulai 2. Kirim programer kita untuk pelatihan sebelum proyek dimulai Kesalahan yang biasanya terjadi • Terlalu menggantungkan pada jadwal yang dibuat • Gagal dalam memonitor jadwal • Gagal dalam mengupdate jadwal • Menambahkan orang setelah proyek berjalan