Project Management Oleh : Indrias Budi Utami Project Management Management Spectrum People Players Team Leaders Software Team Coordination dan Communication Issues Problem cakupan software dekomposisi masalah Process Problem dan Process dekomposisi proses The Management Spectrum - People -Tiga P’s: software project management yang efektif terfokus pada tiga P yaitu (URUT): (1) people, (2) problem (3) process - People: MODEL KEMATANGAN KEMAMPUAN MANAJEMEN MANUSIA (PM-CMM) Kunci bg pengembangan PL include: - recruitment - seleksi - manajemen job desk - training - desain kerja&organisasi - kompensasi -budaya kerja / culture - pengembangan karir Kontributor yang paling penting agar software project berhasil -> memiliki orang yang SMART dengan kemampuan yang baik Organisasi dengan high levels maturity pada management people. -> mengimplementasikan effective software engineering The Management Spectrum - The Problem langkah I dalam analisis kebutuhan PL perlunya indentifikasi (before project): - Objectives dan scope - Alternative solutions - Technical dan management constraints Faktor lain yang berhubungan: delivery deadlines, budgetary restrictions, personnel availability technical interfaces, dan lainnya Tanpa informasi ini , tidak mungkin untuk : - mendefinisikan estimasi biaya - menginginkan efektif assesssment dari resiko. - melakukan project task yang lebih realistis - menghasilkan project schedule yang teratur The Management Spectrum - The Process Tiga P’s: software project management yang efektif terfokus pada tiga P’s:(1) people, (2) problem, dan (3) process - Process: Software process menyediakan framework berupa -> perencanaan yang komprehensif dari software development Framework dpt diterapkan utk ALL PROJECT SW tanpa mempedulikan UKURAN dan KOMPLEKSITAS - tasks (tugas-tugas) tiap Framework - milestones berbeda-beda - deliverables (kemampuan penyampaian) disesuaikan Karakteristik PL - quality assurance points (jaminan kualitas) dan kebutuhan TIM Project Aktifitas pelindung -> tdk tergantung pd Framework, melainkan melapisi model proses Framework - software quality assurance - software configuration management - measurement People -Pada software process, terdapat 5 tipe players: 1. Senior managers, yang mendefinisikan dari masalah bisnis (berpengaruh kuat terhadap project) 2. Project (technical) managers, seseorang yang harus merencanakan, memotivasi, mengorganisasikan, mengontrol sebuah produk / aplikasi 3. Practitioners, yang akan mengantar pada kemampuan teknik untuk engineering software sebuah produk / aplikasi 4. Customers, seseorang yang akan menspesifikasikan requirements dari software 5. End users, seseorang yang berinteraksi software yang akan direleased People - Team Leaders Project management merupakan aktivitas dari orang-orang yang bersifat intensif Bagaimana memilih team manager yang baik? Model MOI yang disarankan oleh Jerry Weinberg [WEi86]: - Motivation - Organization - Ideas or innovation KEMAMPUAN : - memberi dorongan orang teknik utk menghasilkan sesuatu dgn kemampuan terbaiknya - menyediakan proses yg berlangsung sebagai initial konsep yang akan ditranslasikan menjadi final product - mendorong inovasi dan kreatifitas utk produk / aplikasi yang spesifik Software managers harus terkonsentrasi pada - pengertian masalah yang akan dipecahkan - pengaturan ide - membiarkan seseorang dalam team mengetahui jumlah kualitas People - Team Leaders.....CONTD Empat kunci utama sebagai project management yang efektif [EDG95] : 1. Problem solving -membaca isu-isu bisnis -memcahkan masalah dan alternatif solusi -memotivasi orang teknik dlm solving problem dan create inovation dan creativity - mengadopsi project-project sebelumnya ke project baru -fleksibel dlm menghadapi masalah yg tdk membuahkan hasil 2. Managerial identity - terlibat langsung ke dalam Project - PD - controlling - memberikan kebebasan berinovasi 3. Achievement -memiliki inisiatif dan prestasi meningkatkan produktivitas TIM - reward - insentif - career development -prestice 4. Influence dan team building - mampu membaca “manusia” baik verbal maupun non verbal - menguasai diri dalam tekanan yang tinggi People - Software Team Mantei [MAN81] menyarankan tiga team organisasi yang kuat : - Democratic decentralized (DD): - software engineering tidak memiliki pemimpin yang tetap. - keputusan dibuat dari ketetapan group - komunikasi diantara team harus bersifat horisontal - Controlled decentralized (CD): - memiliki pemimpin -> koordinasi antara spesific task dan pemimpin kedua - pemimpin kedua harus memiliki tanggung jawab untuk masingmasing subtask - komunikasi horisontal terjadi diantara subgroups dan individual - komunikasi vertikal terjadi pada struktur kontrol - keputusan dibuat oleh pemimpin - Controlled centralized (CC): - pemimpin mengatur pemecahan masalah pada top level dan koordinasi team internal - komunikasi antara pemimpin dan anggota team adalah vertikal People - The Software Team group DD: Team leader CC: CD: Team leader secondary team leader communication group group People - The Software Team Functional tasks FT1 P1 FTm X X X X X Pn X Project manager + n engineers + m tasks team engineer FT1 P1 FTm X T1 P1 Tm X X Pn X X Pn X X X Project manager + team leaders Project manager+ informal teams with coordinator People - The Software Team 7 faktor project yang terhubung dengan struktur team project : Kesulitan dalam pemecahan masalah Ukuran dari resultant program Modularity dari program Reliability dari software (keandalan sistem) Team life time (umur hidup tim) Rigidity dari delivery date (tanggal pengiriman) Tingkat dari sociability (communication overhead) Team Type DD CD CC Difficulty Size Team Life Time Modularity Reliability Delivery date Sociability High Small Long Low High Lax High Low Large Short High High Lax Low Low Large Short High Low Strict Low People - The Software Team Constantine [CON’93] menyarankan empat “organization Untuk team software engneering: paradigms” A closed paradigm: -Tim dgn hirarki tradisional (sama dg CC) -Dapat bekerja dg baik jika dgn studi kasus yg pernah ditangani sebelumnya -Tim kurang inovatif Random paradigm: -Tim agak longgar dan tergantung pd inisiatif individu anggota tim - mengikuti perkembangn inovasi /teknologi Open paradigm: - heavy communication (dss) + control structure like CC - sesuai utk pemecahan masalah yg kompleks tetapi tidak bekerja seefisien tim yg lain Synchronous paradigm: - lebih fleksibel dalam Tim - manajemen job desk sesuai dgn kompleksitas masalah - komunikasi efektif antar tim Chief programmer team (by Harlan Mills described in Baker’s [BAK72]) : (1) a senior engineer (pemrogram utama) - merencanakan, mengkoordinasi, mengkaji semua aktivitas teknik tim (2) technical staff (2-5) - analisis dan mengembangkan aktivitas (3) a backup engineer - mendukung senior engineer dlm aktivitsny - menggantikan utk masalah yg berkaitan dgn proyek (4) support staff - spesialis (pakar telekomunikasi, perancang Database, Jaringan) - staff pembantu (e.g. technical writers) (5) software librarian (1). - controll : dokumentasi, daftar sumber data, media magnetik - collect dan format data produktivitas PL, katalog dan indeks modul PL yg reuseable -support TIM utk penelitian, evaluasi dan penyiapan dokumen. People – Coordination dan Communication Issues Beberapa kegagalan disebabkan dari project software. Disini terdapat beberapa yang berhubungan dengan komunikasi dan koordinasi dari project : Skala yang lebih luas dari development efforts kompleksitas, konfusion, dan kesulitan yang signifikan pada koordinasi team Ketidakpastian pada perubahan requirement dan status team Interoperability interoperations diantara systems Mekanisme komunikasi formal dan informal yang baik dan efektif : Pendekatan formal impersonal documents, deliverables, memos, project milestones, schedules, project control tools, perubahan permintaan , dan related documents, error tracking reports dan data. Formal, interpersonal procedures aktivitas jaminan kualitas (code dan design inspection, review meeting) Informal, interpersonal procedures informal group meeting (seperti meeting dengan customers dan users) Electronic communication (email, web sites, video-based conference) Interpersonal network (komunikasi dgn orang-orang diluar project yg memiliki pengetahuan pengalaman yg mendukung anggota TIM) dan Problem - Software Scope Project manager dari software harus terhubung dengan masalah project software engineering awal pada Software scope: (a) Context: Bagaimana software dibuat secara lengkap kedalam sistem yang luas, product atau bisnis? Apa yang menjadi constraint dalam hasil konteks? (b) Information objectives: Apakah customer sesuai dengan data objects yang dihasilkan sebagai output dari software? Apakah data object dibutuhkan untuk input? ( c) Function and performance: Apakah fungsi akan menunjukkan software untuk mentransform input data menjadi output? Apakah ada beberapa karakteristik special performance yang akan digunakan? Problem Decomposition Problem decomposition --> problem partitioning. Problem decomposition --> dua area: functionality dari delivery software system process yang akan digunakan untuk mengantarkan system Functional decomposition: mengidentifikasi dan mendefinisikan cakupan fungsi dari sistem mengaplikasikan metode dekomposisi pada masing-masing feature Sebagai contoh pada function feature untuk word processing system : spell checking sentence grammar checking reference checking untuk large documents section dan chapter reference validation untuk large documents. Process - Melding Problem dan Process Masing-masing fungsi akan menjadi engneered dari team software melalui aktivitas framework : Komunikasi customer – tugas untuk membangun komunikasi yang efektif diantara customer Planning – tugas untuk mendefinisikan resource, timelines dsb Analisis resiko – tugas untuk menerima resiko teknik dan management Engineering – tugas untuk membangun sistem aplikasi Construction dan release - installation, release control, dan customer support. Customer evaluation – tugas untuk mendapatkan feedback dari customer dan hasil evaluasi Process decomposition: Partition the software process based on the tasks and activities memilih model software process untuk project mendefinisikan preliminary project plan berdasarkan aktivitas proses framework common process framework (CPF) Process - Process Decomposition Project yang kecil memerlukan beberapa tugas : mendevelop list dari masalah yang telah diklarifikasi bertemu dengan customer untuk mengklarifikasikan masalah menggabungkan cakupan dari beberapa statement mereview state dari scope memodifikasikan cakupan statement yang diperlukan Project yang komplit memerlukan beberapa tugas : Mereview permintaan customer Merencanakan dan menjadwalkan secara formal, fasilitas pertemuan dengan customer Mengharapkan penelitian untuk mendefinisikan solusi dan pendekatan yang ada Menyiapkan “dokumen pekerjaan” dan agenda untuk pertemuan formal Mengharapkan terjadinya pertemuan Mengembangkan mini-spec untuk perbaikan, konsistensi, dan kelemahan pada ambiguitas Memodifikasi cakupan dokumen yang diperlukan