MANAJEMEN PROYEK PERANGKAT LUNAK
3.11 PENJADWALAN
Penjadwalan tugas proyek merupakan kegiatan perencanaan proyek yang penting.
Masalah penjadwalan, pada dasarnya, terdiri dari memutuskan tugas mana yang akan diambil kapan dan oleh siapa. Setelah jadwal telah dikerjakan dan proyek berjalan, manajer proyek memantau penyelesaian tugas yang tepat waktu dan mengambil tindakan korektif yang mungkin diperlukan setiap kali ada kemungkinan tergelincirnya jadwal. Untuk menjadwalkan aktivitas proyek, manajer proyek perangkat lunak perlu melakukan hal berikut:
1. Identifikasi semua kegiatan utama yang perlu dilakukan untuk menyelesaikan proyek.
2. Bagi setiap aktivitas menjadi tugas-tugas.
3. Tentukan ketergantungan di antara tugas-tugas yang berbeda.
4. Tetapkan perkiraan untuk jangka waktu yang diperlukan untuk menyelesaikan tugas.
5. Mewakili informasi dalam bentuk jaringan aktivitas.
6. Tentukan tanggal mulai dan berakhirnya tugas dari informasi yang direpresentasikan dalam jaringan aktivitas.
7. Tentukan jalur kritis. Jalur kritis adalah rantai tugas yang menentukan durasi proyek.
8. Alokasikan sumber daya untuk tugas.
Langkah pertama dalam menjadwalkan proyek perangkat lunak melibatkan mengidentifikasi semua aktivitas yang diperlukan untuk menyelesaikan proyek. Pengetahuan yang baik tentang seluk-beluk proyek dan proses pengembangan membantu para manajer untuk secara efektif mengidentifikasi kegiatan penting proyek. Selanjutnya, aktivitas dipecah
menjadi serangkaian aktivitas yang lebih kecil (subaktivitas). Subaktivitas terkecil disebut tugas yang ditugaskan ke developer yang berbeda. Unit terkecil dari aktivitas kerja yang tunduk pada manajemen perencanaan dan pengendalian disebut tugas.
Setelah manajer proyek membagi aktivitas menjadi tugas-tugas, ia harus menemukan ketergantungan di antara tugas-tugas tersebut. Ketergantungan di antara tugas-tugas yang berbeda menentukan urutan di mana tugas-tugas yang berbeda akan dilakukan. Jika tugas A memerlukan hasil tugas B yang lain, maka tugas A harus dijadwalkan setelah tugas B dan A dikatakan bergantung pada B. Secara umum, dependensi tugas menentukan urutan parsial antar tugas. Artinya, setiap tugas dapat mendahului subset dari tugas lain, tetapi beberapa tugas mungkin tidak memiliki urutan prioritas yang ditentukan di antara mereka (disebut tugas bersamaan).
Setelah representasi jaringan aktivitas telah dikerjakan, sumber daya dialokasikan untuk setiap aktivitas. Alokasi sumber daya biasanya dilakukan dengan menggunakan bagan Gantt. Setelah alokasi sumber daya dilakukan, representasi grafik evaluasi dan teknik tinjauan proyek (PERT) dikembangkan. Representasi grafik PERT berguna bagi manajer proyek untuk melakukan pemantauan dan pengendalian proyek. Sekarang mari kita bahas struktur perincian kerja, jaringan aktivitas, bagan Gantt dan PERT.
Struktur rincian kerja/Work Breakdown Structure (WBS)
Work Breakdown Structure (WBS) digunakan untuk secara rekursif menguraikan sekumpulan aktivitas tertentu menjadi aktivitas yang lebih kecil. Tugas adalah aktivitas kerja tingkat terendah dalam hierarki WBS. Mereka juga membentuk unit kerja dasar yang dialokasikan untuk developer dan dijadwalkan. Pertama, mari kita pahami mengapa perlu untuk memecah aktivitas proyek menjadi tugas. Setelah kegiatan proyek telah didekomposisi menjadi satu set tugas menggunakan WBS, kerangka waktu kapan setiap kegiatan akan dilakukan harus ditentukan. Akhir dari setiap aktivitas penting disebut milestone. Manajer proyek melacak kemajuan proyek dengan memantau penyelesaian tepat waktu dari tonggak sejarah. Jika dia mengamati bahwa beberapa tonggak mulai tertunda, dia dengan hati -hati memantau dan mengontrol kemajuan tugas, sehingga tenggat waktu keseluruhan masih dapat dipenuhi.
Gambar 3.7 Struktur rincian kerja dari masalah MIS.
WBS menyediakan notasi untuk merepresentasikan aktivitas, sub aktivitas, dan tugas yang diperlukan untuk menyelesaikan suatu masalah. Masing-masing diwakili menggunakan persegi panjang (lihat Gambar 3.7). Akar pohon diberi label dengan nama proyek. Setiap node dari pohon dipecah menjadi aktivitas-aktivitas yang lebih kecil yang dijadikan anak-anak dari node tersebut. Untuk menguraikan suatu aktivitas menjadi sub-aktivitas, pengetahuan yang baik tentang aktivitas dapat bermanfaat. Gambar 3.7 merepresentasikan WBS dari sistem informasi manajemen/Management Information System (MIS) perangkat lunak.
Berapa lama terurai?
Penguraian aktivitas dilakukan sampai salah satu dari berikut ini terpenuhi:
• Subaktivitas tingkat daun (tugas) membutuhkan sekitar dua minggu untuk berkembang.
• Kompleksitas tersembunyi terungkap, sehingga pekerjaan yang harus dilakukan dipahami dan dapat ditugaskan sebagai unit kerja ke salah satu pengembang.
• Peluang untuk menggunakan kembali komponen perangkat lunak yang ada diidentifikasi.
Memecah tugas ke tingkat yang terlalu kasar versus tingkat yang terlalu halus
Mari kita selidiki terlebih dahulu implikasi dari melakukan dekomposisi ke tingkat yang sangat halus versus membiarkan dekomposisi pada butiran yang agak kasar. Penting untuk memecah aktivitas besar menjadi banyak tugas yang lebih kecil, karena tugas yang lebih kecil memungkinkan tonggak untuk ditempatkan pada jarak yang lebih pendek. Hal ini memungkinkan pemantauan yang ketat terhadap proyek dan tindakan korektif dapat dimulai segera setelah ada masalah yang diketahui. Namun, pembagian yang sangat halus berarti bahwa jumlah waktu yang tidak proporsional harus dihabiskan untuk mempersiapkan dan merevisi berbagai bagan.
Sekarang mari kita selidiki implikasi dari melakukan dekomposisi ke tingkat yang sangat kasar versus penguraian ke tingkat yang sangat halus. Ketika perinci an tugas adalah beberapa bulan, pada saat masalah (penundaan jadwal) diketahui dan tindakan korektif dimulai, mungkin sudah terlambat bagi proyek untuk pulih. Di sisi lain, jika tugas didekomposisi menjadi granularity yang sangat kecil (masing-masing satu atau dua hari), maka jarak pencapaian menjadi terlalu dekat. Ini akan membutuhkan pemantauan status proyek yang sering dan memerlukan revisi yang sering pada dokumen rencana. Ini menjadi overhead yang tinggi pada manajer proyek dan efektivitasnya dalam pemantauan dan pengendalian proyek berkurang.
Saat memecah suatu aktivitas menjadi tugas-tugas yang lebih kecil, seorang manajer sering kali harus membuat beberapa keputusan sulit. Jika suatu aktivitas dipecah menjadi sejumlah besar sub-aktivitas yang sangat kecil, ini dapat didistribusikan ke lebih banyak pengembang. Jika pemesanan tugas memungkinkan solusi untuk ini dapat dilakukan secara mandiri (secara paralel), menjadi mungkin untuk mengembangkan produk lebih cepat (tentu saja dengan bantuan tenaga kerja tambahan!). Oleh karena itu, untuk dapat menyelesaikan sebuah proyek dalam waktu yang paling singkat, manajer perlu memecah tugas-tugas besar menjadi tugas-tugas yang lebih kecil, dengan harapan menemukan lebih banyak paralelisme.
Namun, tidak berguna untuk membagi tugas ke dalam unit yang membutuhkan waktu kurang dari satu atau dua minggu untuk dieksekusi.
Contoh 3.8 Pertimbangkan sebuah proyek untuk pengembangan sistem informasi manajemen (SIM). Manajer proyek telah mengidentifikasi kegiatan pengembangan utama, spesifikasi persyaratan, desain, kode, pengujian, dan dokumen. menguraikan kegiatan menjadi tugas menggunakan teknik struktur rincian kerja.
Jawaban: Berdasarkan pengetahuan domain manajer, dia bisa sampai pada struktur rincian kerja yang ditunjukkan pada Gambar 3.8.
Gambar 3.8 Representasi jaringan aktivitas dari masalah MIS.
Activity on Edge (AoE): Dalam tugas representasi ini diasosiasikan dengan edge. Tepi juga dijelaskan dengan durasi tugas. Node dalam grafik mewakili tonggak proyek. Jaringan aktivitas awalnya direpresentasikan menggunakan representasi aktivitas di tepi (AoE). Namun, belakangan aktivitas pada simpul (AoN) menjadi populer karena representasi ini lebih mudah dipahami dan direvisi. Manajer dapat memperkirakan durasi waktu untuk tugas yang berbeda dalam beberapa cara. Satu kemungkinan adalah bahwa mereka dapat secara empiris menetapkan durasi untuk tugas yang berbeda. Namun ini mungkin bukan ide yang bagus, karena developer perangkat lunak sering kali tidak menyukai keputusan sepihak seperti itu.
Namun, beberapa manajer lebih suka memperkirakan waktu untuk berbagai kegiatan sendiri.
Mereka percaya bahwa jadwal yang agresif akan memotivasi para developer untuk melakukan pekerjaan yang lebih baik dan lebih cepat. Di sisi lain, eksperimen yang cermat telah menunjukkan bahwa jadwal agresif yang tidak realistis tidak hanya menyebabkan developer berkompromi pada aspek kualitas tidak berwujud, tetapi juga menyebabkan penundaan jadwal yang lebih besar dibandingkan dengan pendekatan lainnya. Alternatif yang mungkin adalah membiarkan setiap developer sendiri memperkirakan waktu untuk aktivitas yang akan ditugaskan kepadanya. Pendekatan ini dapat membantu untuk secara akurat memperkirakan durasi tugas tanpa menciptakan tekanan jadwal yang tidak semestinya.
Contoh 3.9: Tentukan representasi jaringan Aktivitas untuk proyek pengembangan MIS dari Contoh 3.7. Asumsikan bahwa manajer telah menentukan tugas yang akan diwakili dari struktur rincian kerja Gambar 3.7, dan telah menentukan durasi dan ketergantungan untuk setiap tugas seperti yang ditunjukkan pada Tabel 3.7.
Jawaban: Representasi jaringan aktivitas telah ditunjukkan pada Gambar 3.8.
Tabel 3.7 Parameter Proyek yang Dihitung dari Jaringan Aktivitas
Nomor Tugas Tugas Durasi Tergantung tugas
T1 Spesifikasi 15 -
T2 Desain database 45 T1
T3 Desain GUI 30 T1
T4 Kode Database 105 T2
T5 Kode bagian GUI 45 T3
T6 Integrasi dan pengujian 120 T4 dan T5
T7 Tulis pedoman pengguna 60 T1
Metode Jalur Kritis/Critical path Method(CPM)
CPM dan PERT adalah teknik riset operasi yang dikembangkan pada akhir 1950-an.
Sejak itu, mereka tetap sangat populer di kalangan manajer proyek. Akhir-akhir ini, kedua teknik ini telah digabungkan dan banyak alat manajemen proyek mendukungnya sebagai CPM/PERT. Jalur dalam grafik jaringan aktivitas adalah kumpulan simpul dan tepi yang berurutan dalam grafik ini dari simpul awal hingga simpul terakhir. Jalur kritis terdiri dari satu set tugas dependen yang perlu dilakukan secara berurutan dan yang bersama-sama membutuhkan waktu paling lama untuk diselesaikan. Tugas kritis adalah tugas dengan waktu kosong nol. Jalur dari node awal ke node akhir yang hanya berisi tugas-tugas kritis disebut jalur kritis. CPM adalah pendekatan algoritmik untuk menentukan jalur kritis dan waktu kendur untuk tugas yang tidak berada di jalur kritis melibatkan penghitungan jumlah berikut:
• Minimum time (MT): Ini adalah waktu minimum yang diperlukan untuk menyelesaikan proyek. Ini dihitung dengan menentukan maksimum semua jalur dari awal hingga akhir.
• Earlyest start (ES): Merupakan waktu maksimum dari suatu tugas dari semua jalur dari awal hingga tugas ini. ES untuk suatu tugas adalah ES dari tugas sebelumnya ditambah durasi tugas sebelumnya.
• Lates Start Time (LST): Ini adalah perbedaan antara MT dan maksimum semua jalur dari tugas ini hingga selesai. LST dapat dihitung dengan mengurangi durasi tugas berikutnya dari LST tugas berikutnya.
• Earliest Finish Tme (EF): EF untuk suatu tugas adalah jumlah waktu mulai paling awal dari tugas dan durasi tugas.
• Latest Finish (LF): LF menunjukkan waktu terakhir dimana tugas dapat diselesaikan tanpa mempengaruhi waktu penyelesaian akhir proyek. Sebuah tugas yang diselesaikan di luar LF-nya akan menyebabkan penundaan proyek. LF tugas dapat diperoleh dengan mengurangi maksimum semua jalur dari tugas ini hingga selesai dari MT.
• Slack time (ST): Waktu slack (atau waktu mengambang) adalah total waktu bahwa tugas mungkin tertunda sebelum akan mempengaruhi waktu akhir proyek. Waktu slack menunjukkan “fleksibilitas” dalam memulai dan menyelesaikan tugas. ST untuk suatu tugas adalah LS-ES dan secara ekuivalen dapat ditulis sebagai LF-EF.
Contoh 3.10 Gunakan jaringan Aktivitas Gambar 3.8 untuk menentukan ES dan EF untuk setiap tugas untuk masalah MIS Contoh 3.7.
Jawaban: Jaringan aktivitas dengan nilai ES dan EF yang dihitung telah ditunjukkan pada Gambar 3.9.
Gambar 3.9 AoN untuk masalah MIS dengan (ES,EF).
Contoh 3.11 Gunakan jaringan Aktivitas Gambar 3.9 untuk menentukan LS dan LF untuk setiap tugas untuk masalah MIS Contoh 3.7.
Jawaban: Jaringan aktivitas dengan nilai LS dan LF yang dihitung telah ditunjukkan pada Gambar 3.10.
Gambar 3.10 AoN masalah MIS dengan (LS,LF).
CPM dapat digunakan untuk menentukan perkiraan durasi minimum suatu proyek dan waktu slack yang terkait dengan berbagai tugas non-kritis. Jadi setiap jalur yang durasinya sama dengan MT adalah jalur kritis. Perhatikan bahwa, mungkin ada lebih dari satu jalur kritis untuk sebuah proyek. Tugas yang termasuk dalam jalur kritis harus mendapat perhatian khusus baik oleh manajer proyek maupun personel yang ditugaskan untuk melakukan tugas tersebut. Salah satu cara adalah menggambar jalur kritis dengan garis ganda, bukan garis tunggal. Jalur kritis dapat berubah seiring berjalannya proyek. Ini mungkin terjadi ketika tugas diselesaikan baik di belakang atau lebih cepat dari jadwal. Parameter proyek untuk tugas yang berbeda untuk masalah MIS dapat dihitung sebagai berikut:
1. Hitung ES dan EF untuk setiap tugas. Gunakan aturan: ES sama dengan EF terbesar dari pendahulunya
2. Hitung LS dan LF untuk setiap tugas. Gunakan aturan: LF sama dengan LS terkecil dari penerus langsung
3. Hitung ST untuk setiap tugas. Gunakan aturan: ST=LF-EF
Pada Gambar 3.9 dan Gambar 3.10 saya menunjukkan perhitungan (ES,EF) dan (LS,LF) masing-masing. Dari parameter proyek ini untuk tugas yang berbeda untuk masalah MIS telah direpresentasikan dalam Tabel 3.8.
Tabel 3.8 Parameter Proyek yang Dihitung Dari Jaringan Aktivitas
Tugas ES EF LS LF ST
Spesifikasi 0 15 0 15 0
Desain database 15 60 15 60 0
Desain GUI 15 45 90 120 75
Kode Database 60 165 60 165 0
Kode bagian GUI 45 90 120 165 75
Integrasi dan pengujian 165 285 165 285 0
Tulis pedoman pengguna 15 75 225 285 210
Jalur kritis adalah semua jalur yang durasinya sama dengan MT. Jalur kritis pada Gambar 3.8 ditunjukkan menggunakan panah tebal.
Grafik PERT
Durasi aktivitas yang dihitung menggunakan jaringan aktivitas hanya perkiraan durasi.
Oleh karena itu, tidak mungkin untuk memperkirakan perkiraan kasus terburuk (pesimis) dan kasus terbaik (optimis) menggunakan diagram aktivitas. Karena, durasi sebenarnya mungkin berbeda dari perkiraan durasi, kegunaan diagram jaringan aktivitas terbatas. CPM dapat digunakan untuk menentukan durasi proyek, tetapi tidak memberikan indikasi apa pun tentang kemungkinan memenuhi jadwal tersebut.
Grafik evaluasi dan teknik peninjauan proyek/Project evaluation and review technique (PERT) adalah bentuk grafik aktivitas yang lebih canggih. Manajer proyek tahu bahwa ada ketidakpastian yang cukup besar tentang berapa banyak waktu yang dibutuhkan untuk menyelesaikan suatu tugas. Durasi yang ditetapkan untuk tugas oleh manajer proyek bagaimanapun juga hanyalah perkiraan. Oleh karena itu, pada kenyataannya durasi suatu kegiatan adalah variabel acak dengan beberapa distribusi probabilitas. Dalam konteks ini, grafik PERT dapat digunakan untuk menentukan waktu probabilistik untuk mencapai berbagai batu mil proyek, termasuk batu mil terakhir. Bagan PERT seperti jaringan aktivitas terdiri dari jaringan kotak dan panah. Kotak mewakili aktivitas dan panah mewakili dependensi tugas.
Bagan PERT mewakili variasi statistik dalam perkiraan proyek dengan asumsi ini adalah distribusi normal. PERT memungkinkan untuk beberapa keacakan dalam waktu penyelesaian tugas, dan oleh karena itu memberikan kemampuan untuk menentukan probabilitas untuk mencapai tonggak proyek berdasarkan kemungkinan menyelesaikan setiap tugas di sepanjang jalan ke tonggak tersebut. Setiap tugas dijelaskan dengan tiga perkiraan:
• Optimis (O): Waktu penyelesaian tugas kasus terbaik.
• Perkiraan kemungkinan besar (M): Kemungkinan besar waktu penyelesaian tugas.
• Kasus terburuk (W): Kemungkinan waktu penyelesaian tugas kasus terburuk.
Gambar 3.11 Representasi grafik PERT dari masalah MIS.
Gambar 3.12 Representasi Gantt chart dari masalah MIS.
Gantt Chart
Gantt chart dinamai menurut nama pengembangnya Henry Gantt. Gantt chart adalah salah satu bentuk diagram batang. Sumbu vertikal mencantumkan semua tugas yang harus dilakukan. Batang digambar sepanjang sumbu y, satu untuk setiap tugas. Bagan Gantt yang digunakan dalam manajemen proyek perangkat lunak sebenarnya adalah versi yang disempurnakan dari bagan Gantt standar. Dalam bagan Gantt yang digunakan untuk manajemen proyek perangkat lunak, setiap batang terdiri dari bagian yang tidak diarsir dan bagian yang diarsir. Bagian bilah yang diarsir menunjukkan lamanya waktu yang diperkirakan untuk setiap tugas. Bagian yang tidak diarsir menunjukkan slack time atau lax time.
Kelonggaran waktu menunjukkan kelonggaran atau keluwesan yang tersedia dalam memenuhi waktu paling akhir di mana suatu tugas harus diselesaikan. Representasi Gantt
chart untuk masalah MIS pada Gambar 3.8 ditunjukkan pada Gambar 3.12. Bagan Gantt berguna untuk perencanaan sumber daya (yaitu mengalokasikan sumber daya untuk kegiatan). Berbagai jenis sumber daya yang perlu dialokasikan untuk kegiatan termasuk staf, perangkat keras, dan perangkat lunak.
Bagan Gantt adalah jenis bagan batang khusus di mana setiap batang mewakili suatu aktivitas. Bar digambar sepanjang garis waktu. Panjang setiap batang sebanding dengan durasi waktu yang direncanakan untuk aktivitas yang bersangkutan. Representasi bagan Gantt dari jadwal proyek sangat membantu dalam merencanakan pemanfaatan sumber daya, sedangkan bagan PERT berguna untuk memantau kemajuan kegiatan secara tepat waktu. Juga, lebih mudah untuk mengidentifikasi aktivitas paralel dalam sebuah proyek menggunakan grafik PERT. Manajer proyek perlu mengidentifikasi aktivitas paralel dalam proyek untuk penugasan ke developer yang berbeda.
Pemantauan dan pengendalian proyek
Setelah proyek berjalan, manajer proyek memantau proyek secara terus menerus untuk memastikan bahwa proyek berjalan sesuai rencana. Manajer proyek menunjuk peristiwa penting tertentu seperti penyelesaian beberapa aktivitas penting sebagai tonggak sejarah. Beberapa contoh tonggak adalah sebagai berikut—sebuah tonggak dapat berupa persiapan dan peninjauan dokumen SRS, penyelesaian pengkodean dan pengujian unit, dll.
Setelah tonggak tercapai, manajer proyek dapat mengasumsikan bahwa beberapa kemajuan terukur telah dibuat. Jika keterlambatan dalam mencapai tonggak diprediksi, maka tindakan korektif mungkin harus diambil. Ini mungkin memerlukan pengerjaan ulang semua jadwal dan menghasilkan jadwal baru.
Seperti yang telah disebutkan, grafik PERT sangat berguna dalam pemantauan dan pengendalian proyek. Lintasan dalam graf ini adalah himpunan simpul dan tepi yang berurutan dari simpul awal hingga simpul terakhir. Jalur kritis dalam grafik ini adalah jalur di mana setiap tonggak penting untuk memenuhi tenggat waktu proyek. Dengan kata lain, jika ada penundaan yang terjadi di sepanjang jalur kritis, seluruh proyek akan tertunda. Oleh karena itu, penting untuk mengidentifikasi semua jalur kritis dalam jadwal—mengikuti jadwal tugas yang muncul di jalur kritis adalah sangat penting untuk memenuhi tanggal pengiriman. Harap dicatat bahwa mungkin ada lebih dari satu jalur kritis dalam jadwal. Tugas di sepanjang jalur kritis disebut tugas kritis. Tugas-tugas kritis perlu dipantau secara ketat dan tindakan korektif perlu dimulai segera setelah keterlambatan diketahui. Jika perlu, seorang manajer dapat mengalihkan sumber daya dari tugas non-kritis ke tugas kritis sehingga semua tonggak sepanjang jalur kritis terpenuhi.
Beberapa alat tersedia yang dapat membantu Anda untuk mengetahui jalur kritis dalam jadwal yang tidak dibatasi, tetapi mencari tahu jadwal yang optimal dengan keterbatasan sumber daya dan dengan sejumlah besar tugas paralel adalah masalah yang sangat sulit. Ada beberapa produk komersial untuk mengotomatisasi teknik penjadwalan yang tersedia. Alat populer untuk membantu menggambar grafik terkait jadwal termasuk perangkat lunak MS-Project yang tersedia di komputer pribadi.