Rekayasa Perangkat Lunak 3 Konsep Manajemen Proyek Konsep Manajemen sebuah Proyek bisa difokuskan pada beberapa komponen berikut ini: 1. Sumber Daya Manusia The Players: 1. Senior Managers Mendefinisikan isu bisnis yang sangat berpengaruh pada proyek. Bisnis adalah kegiatan aktivfitas/project yang sedang dibuat. 2. Project (Technical) managers Merencanakan, memodifikasi, mengorganisasi dan mengontrol para praktisi yang menjalankan pekerjaan software. 3. Practioners Mempunyai skill teknis yang dibutuhkan untuk merekayasa sebuah produk atau aplikasi. 4. Customers Menyatakan kebutuhan rekayasa software. 5. End user Yang berorientasi dengan software setelah software diproduksi. Team Leaders: Model kepemimpinan: Motivation (membangkitkan semangat tim) Mampu untuk membangkitkan teknis anggota untuk menghasilkan yang terbaik. Organization Kemampuan untuk mengelola proses yang ada (atau menemukan sesuatu yang baru) untuk menterjemahkan suatu konsep menjadi produk akhir. Ideas atau Innovations Kemampuan untuk membangkitkan kreasi para anggota. Karakteristik Manajer Proyek yang efektif: Problem Solving Managerial identity Achievement Influence & tem building 1 Bab 3| Konsep Manajemen Proyek | reviewed by Donny Ariwibowo, S.Kom Rekayasa Perangkat Lunak 2. Organisasi Tim Software Secara umum ada 3 macam organisasi tim software, yaitu: Democratic Decentralized (DD) Tim rekayasa software ini tidak mempunyai permanen leader. Koordinasi ditunjuk untuk jangka pendek dan kemudian diganti lainnya yang mampu mengkoordinasi tugas yang berbeda. Pengambilan keputusan dilakukan melalui konsensus kelompok. Komunikasi antar anggota tim dilakukan secara horisontal. Controlled Decentralized (CD) Tim rekayasa software telah menunjuk seorang leader yang mengkoordinir tugas-tugas tertentu dan secondary leader yang bertanggung jawab atas sub-sub pekerjaan. Solusi permaalah dilakukan secara kelompok, tetapi implementasi solusi dibagi-bagi ke subsub kelompok oleh tim leader. Komunikasi antar sub kelompok dan individu dilakukan secara horisontal. Komunikasi vertikal sesuai dengan hirarki kendali juga dilakukan. Controlled Centralized (CC) Solusi problem dan koordinasi tim internal diatur oleh team leader. Komunikasi antar leader dan anggota tim dilakukan secara vertikal. Ada tujuh faktor yang perlu dipertimbangkan pada saat merencanakan struktur tim rekayasa software yaitu: 1. Tingkat kesulitan problem yang harus diselesaikan. 2. Ukuran program (line of code maupun function point). 3. Tingkatan problem yang bisa dimodulkan (dipecahkan). 4. Waktu tim bisa bekerja bersama-sama (team life time). 5. Kualitas dan reliability sistem yang akan dibuat. 6. Tanggal penyerahan software yang ketat. 7. Tingkatan komunikasi yang diperlukan untuk proyek. 2 Bab 3| Konsep Manajemen Proyek | reviewed by Donny Ariwibowo, S.Kom Rekayasa Perangkat Lunak Tabel. Pengaruh karakteristik proyek pada struktur tim. Tipe Tim High Low Large Small DD Difficult x CD CC x x x x x x x x Size x Lifetime Short Long High Low High Low x Modularity x Reliability x x x Delivery Date Strict Lax High Low x x Sociability x x x x 3. Koordinasi dan Komunikasi Ada beberapa kategori teknik koordinasi proyek: Formal, Interpersonal Approaches Termasuk didalamnya: - Dokumentasi rekayasa software dan deliverable (misal: source code). - Memo teknis - Project milestone - Jadwal - Project control - Permintaan perubahan - Error tracking report - Repository data Formal, interpersonal procedures Ditekankan pada kualitas, termasuk didalamnya: - Status review meeting - Desain 3 Bab 3| Konsep Manajemen Proyek | reviewed by Donny Ariwibowo, S.Kom Rekayasa Perangkat Lunak - Inspeksi node Informal, interpersonal procedures Termasuk didalamnya: Pertemuan tim untuk tukar informasi dan solusi problem. Kebutuhan dan pengembangan staf. Electronic Communication Dilakukan melalui E-mail, electronic Bulletin boards, web sites, video based conference system. Interpersonal Network Diskusi informal dengan pihak luar yang mempunyai pengalaman/pandangan untuk membantu anggota tim. 4. Problem Proyek Software Batasan software Aktifitas manajemen proyek yang pertama adalah menentukan batasan software. Batasan tersebut bisa diperoleh dengan menjawab pertanyaan sebagai berikut: Context Bagaimana software dibuat untuk memenuhi sistem yang lebih besar, produk atau business context dan kendala yang ditimbulkan akibat context tersebut. Information objectives Apa saja object data yang customer visible dihasilkan sebagai output dari software ? apa saja object data yang diperlukan untuk input ? Function and performance Fungsi apa saja yang harus dilakukan software untuk mentransformasikan data input menjadi output? Apakah terdapat karakter performance khusus yang diminta. Batasan proyek software harus jelas dan mudah dipahami pada level manajemen dan teknik. Yang harus dijelaskan pada batasan tersebut antara lain: o Quantitaive Data Misal: jumlah user yang bekerja bersamaan, ukuran mailing list, maksimum waktu respon yang diperbolehkan (beda jumlah user, beda harga). o Constrain dan atau keterbatasan Misal: biaya produksi membatasi ukuran memori. o Faktor mitigasi Misal: algoritma yang mudah dipahami). 4 Bab 3| Konsep Manajemen Proyek | reviewed by Donny Ariwibowo, S.Kom Rekayasa Perangkat Lunak : Formal, Inpersonal Approach : Formal, Interpersonal Approach : Electronic Communication : Interpersonal Network : Kegunaan Teknis Koordinasi 5 Bab 3| Konsep Manajemen Proyek | reviewed by Donny Ariwibowo, S.Kom Rekayasa Perangkat Lunak Referensi 1. Roger S Pressman, "Software Enginering: A Practitioners Approach" 2. Bob Hughes, "Software Project Management" 6 Bab 3| Konsep Manajemen Proyek | reviewed by Donny Ariwibowo, S.Kom