MANAJEMEN PROYEK PERANGKAT LUNAK Disusun Oleh: Feri Pramusetiyo (EPA/00935) Ahmad Iqbal Zakyuddin (EPA/00940) Ari Wibowo (EPA/00947) Suryo Sujoko (EPA/00948) DEFINISI Manajemen : mengatur atau mengelola, melalui Planning untuk mempelajari analisa / perencanaan, Organizing untuk mempelajari delegasi, Action untuk mempelajari pelaksanaan, Controlling untuk mempelajari evaluasi. Proyek : aktifitas yang memiliki batasan waktu, biaya, resource Perangkat Lunak : kumpulan instruksi, kode, dokumen, data Latar Belakang Manajemen Proyek Karena adanya sesuatu yang negatif (software crisis) dalam pembuatan perangkat lunak. Over budget -> lemahnya estimasi Over time Low quality (SDM) Perangkat lunak versi seragam -> tim pecah Teknik dan rule tidak jelas Contoh software Crisis: Inefisiensi Keterlambatan Pengiriman Produk tidak spesifik Proyek tidak memiliki kemajuan Resource SDM berlebih Gagal mencapai tujuan Tujuan & Input Manajemen Proyek Tujuan : Menentukan / mengukur lama suatu proyek Membuat Estimasi biaya proyek Feasibilitas teknis dan ekonomis Mengelola / mengatur resource (SDM) Input : Input Manajemen Proyek adalah pengetahuan yang diperlukan, seperti manajemen, Rekayasa Perangkat Lunak (RPL), software measurement MODEL PENGEMBANGAN PERANGKAT LUNAK Perencanaan Analisis Perancangan Implementasi Testing Pemeliharaan 1. 2. 3. Tahap Pertama yaitu perencanaan, adalah apa yang menyangkut studi kebutuhan pengguna, studi-studi kelayakan –baik secara teknis maupun secara teknologiserta penjadwalan pengembangan suatu proyek sistem informasi dan/atau perangkat lunak Tahap kedua, adalah tahap analisis, yaitu tahap dimana kita berusaha mengenali setiap permasalahan yang muncul pada pengguna dengan mendekomposisi use case diagram lebih lanjut, mengenali komponen-komponen sistem, objek-objek, hubungan antar objek, dan sebagainya Tahap ketiga adalah tahap perancangan dimana kita mencoba mencari solusi permasalahan yang didapat dari tahap analisis 4. 5. 6. Tahap keempat adalah tahap implementasi dimana kita mengimplementasikan perancangan sistem ke situasi dunia nyata. Tahap kelima adalah pengujian apakah sistem yang kita buat sudah sesuai dengan kebutuhan pengguna atau belum Tahap yang terakhir adalah tahap pemeliharaan/perawatan dimana kita mulai melakukan pengoperasian sistem dan –jika diperlukan- melakukan perbaikan-perbaikan kecil Model Pengembangan: Desain : fokus pada 4 hal : desain database, arsitektur PL, interface, dan algoritma prosedural. Proses desain menerjemahkan kebutuhan ke dalam representasi PL sebelum dimulai coding. Coding : menerjemahkan desain ke dalam bahasa yang dimengerti mesin. Testing : fokus pada : Logika internal PL : memastikan bahwa semua statement telah diuji Fungsi eksternal : mengarahkan testing untuk menemukan kesalahan-kesalahan dan memastikan bahwa input yang diberikan akan menghasilkan output sesuai yang diinginkan. Maintenance Perbedaan antara software project dan software process Tujuan Software project : efisiensi, ketepatan waktu, keuntungan kualitatif (finansial) Software process : memenuhi kebutuhan, correctness, portability, performance, mendapatkan good product dengan bermacam-macam fitur Resource (sumber daya) Software project : SDM (akunting, manajer), tool (excel, office), modal Software process : SDM (programmer, analis, desainer, tester), tool (bahasa pemrograman, rational rose) Hasil Software project : jadwal / planning, anggaran, proposal, laporan perkembangan Software process : source code, manual, data, desain, Software Requirement Specifications (SRS) FASE Fase software concept terdiri dari : Concept exploration : pemahaman terhadap area bisnis yang dikerjakan. Jenis : Financial, contoh : pada bank keuntungan diukur dari berapa banyak dana yang diputar Membership, contoh : pada jobs keuntungan diukur dari jumlah tenaga kerja yang dihimpun System exploration :pemahaman terhadap sistem, contoh : konsep, software, hardware, brainware, network Fase requirement menghasilkan dokumen SRS. Fase analysis menghasilkan architectural design berupa block diagram. Fase design menyangkut spesifikasi : Hardware : server dan client Software : physical database, form, report Brainware : kemampuan, pengalaman, expertise Perbedaan antara manajemen program dan manajemen proyek : Manajemen program meliputi : job desk, rule, sasaran, target. Memerlukan impersonal relationship (hubungan kerja) Manajemen proyek meliputi : tool yang diperlukan supaya program dapat berjalan / mencapai tujuan. Memerlukan personal relationship (hubungan kemanusiaan) Manajemen proyek merupakan bagian dari manajemen program. Manajemen program merupakan bagian dari manajemen perusahaan (company management). KESUKSESAN PROYEK Tingkat kesuksesan proyek diukur dari : •Ketepatan waktu : semakin cepat selesai semakin baik •Biaya : semakin rendah semakin baik •Kemampuan perangkat lunak yang dihasilkan Ukuran kesuksesan proyek : •Project size : banyaknya requirement yang harus diakomodasi oleh perangkat lunak. •Project duration : waktu yang diperlukan, mulai dari definisi sampai release proyek •Project team size : jumlah orang yang terlibat dalam proyek Faktor-faktor yang mensukseskan proyek : Executive support : orang yang mengambil keputusan / pengendali dalam proyek, bisa pimpinan atau manajer. Contoh pada FRS Online : rektor, dekan User involvement : orang yang menggunakan perangkat lunak. Contoh pada FRS Online : mahasiswa, dosen Experience project manager : banyaknya proyek yang dikerjakan dengan sukses, lamanya menangani proyek Clear bussiness objectives : visi dan misi terdokumentasi Minimized scope : ruang lingkup disesuaikan dengan resource Standard software infrastructure Firm basic requirements Formal methodology : menggunakan metode yang sering digunakan. Contoh : waterfall, extreme programming Reliable estimates : melibatkan kedua belah pihak (dan external team) *Iman Soeharto, Dalam bukunya berjudul Manajemen Proyek PROJECT MANAGER Pekerjaan project manager : Menentukan ruang lingkup proyek : nama, deskripsi, tujuan, ruang lingkup proyek Identifikasi stakeholder : menghubungi stakeholder, persetujuan, kontrak Membuat daftar pekerjaan secara rinci : Work Breakdown Structures (WBS) Estimasi kebutuhan waktu Membuat flow chart manajemen proyek awal Identifikasi resource dan budget yang diperlukan Evaluasi kebutuhan proyek Identifikasi dan evaluasi resiko Menyiapkan contingency plan (rencana alternatif jika resiko terjadi) Identifikasi interdependensi Identifikasi critical milestone Berpartisipasi dalam fase review proyek Mengamankan resource-resource yang diperlukan Memanaje proses perubahan kontrol Melaporkan status proyek Menurut Project Management Institute, struktur project manajer ditentukan oleh : Process Project manager process : mendeskripsikan dan mengorganisasikan kerja proyek Product-oriented process : menentukan dan membangun produk proyek Knowledge area Core functions : scope, time, cost, quality management Facilitating functions : human resource, communication, risk, procurement management Project integration management Planning, estimating, dan scheduling : •Planning : identifikasi kegiatan (tanpa menetapkan waktu awal dan waktu selesai) •Estimating : menentukan ukuran dan durasi kegiatan •Scheduling : menambahkan waktu awal dan waktu akhir kegiatan serta menentukan resource Langkah-langkah project planning : Menentukan tujuan dan ruang lingkup proyek Memilih daur hidup perangkat lunak Menentukan organization dan team form -> kriteria yang diperlukan Memulai seleksi tim : berdasarkan knowledge dan expertise (pengalaman) Menentukan risiko : risiko kegagalan proyek, waktu, biaya, SDM Membuat Work Breakdown Structure (WBS) : task-task pada point 2 diperinci, kalau terlalu lama bisa dipecah antara 8-80 jam Identifikasi task Estimasi ukuran : lamanya proyek, banyaknya tim, banyaknya fungsional Estimasi effort : lamanya mengerjakan, biaya Identifikasi task dependecy : membuat Gantt Chart Assign resource : identifikasi staf-staf yang bertanggung jawab terhadap task Schedule work Alasan pembuatan dan estimasi WBS : waktu (jadwal), pengelolaan, alat komunikasi. Macam-macam Work Breakdown Structure : Contract WBS (CWBS) : high level tracking, 2 atau 3 level pertama untuk progress report (RFP / RFQ) Project WBS (PWBS) : lowest level tracking, dibuat untuk manajer Tipe-tipe WBS : Process WBS : activity-oriented. Contoh : requirement, analysis, design, coding, testing, maintenance Product WBS : entity-oriented. Contoh : financial engine, interface, database Hybrid WBS : gabungan antara process WBS dan product WBS Work package adalah istilah umum untuk task-task diskrit dengan hasil akhir yang sudah ditentukan.