Dr. Dwi Prasetyo, Dipl.Inf, S.Kom, M.Si. , Dr. (H.C) Zaid Romegar Mair, S.T., M.Cs., Reni Kurniah, S.Kom., M.Kom., Rudi Budi Agung, S.Si.,MMSI., Tati Ernawati, M.T., Novita Lestari Anggreini, M.Kom., Rachmat Iskandar, M.Kom., Evi Yulianti, S.Kom.,M.S.I., Anis Yusrotun Nadhiroh, S.Kom., M.MT., Shandy Tresnawati, M.Kom., Ahlijati Nuraminah, S.Kom., M.T.I., Ajang Sopandi, S.Kom., M.Kom.
Manajemen Proyek Perangkat Lunak Copyright© PT Penamudamedia, 2024 Penulis: Dr. Dwi Prasetyo, Dipl.Inf, S.Kom, M.Si., Dr. (H.C) Zaid Romegar Mair, S.T., M.Cs., Reni Kurniah, S.Kom., M.Kom., Rudi Budi Agung, S.Si.,MMSI., Tati Ernawati, M.T., Novita Lestari Anggreini, M.Kom., Rachmat Iskandar, M.Kom., Evi Yulianti, S.Kom.,M.S.I., Anis Yusrotun Nadhiroh, S.Kom., M.MT., Shandy Tresnawati, M.Kom., Ahlijati Nuraminah, S.Kom., M.T.I., Ajang Sopandi, S.Kom., M.Kom., Dadan S. Ramdan, SST., M.Kom., MPU. Editor: Neny Rosmawardi, S.Kom., M.Kom. ISBN: 978-623-8586-11-0 Desain Sampul: Tim PT Penamuda Media Tata Letak: Enbookdesign Diterbitkan Oleh PT Penamuda Media Casa Sidoarium RT 03 Ngentak, Sidoarium Dodeam Sleman Yogyakarta HP/Whatsapp : +6285700592256 Email : [email protected] Web : www.penamuda.com Instagram : @penamudamedia Cetakan Pertama, April 2024 xii + 199, 15x23 cm Hak cipta dilindungi oleh undang-undang Dilarang memperbanyak sebagian atau seluruh isi buku tanpa izin Penerbit
v Kata Pengantar Hormat kami, Dengan antusiasme, kami mempersembahkan buku ini tentang manajemen proyek perangkat lunak. Buku ini disusun untuk memberikan panduan komprehensif dalam mengelola proyek-proyek perangkat lunak dengan efisiensi dan keberhasilan. Manajemen proyek perangkat lunak menjadi kunci dalam pengembangan produk teknologi informasi yang sukses. Melalui buku ini, kami mengajak pembaca untuk memahami konsepkonsep esensial dalam manajemen proyek perangkat lunak, mulai dari perencanaan proyek hingga pengendalian risiko dan penyelesaian proyek. Dengan memahami praktik terbaik dalam manajemen proyek perangkat lunak, diharapkan pembaca dapat mengelola proyekproyek mereka dengan lebih efektif, mengidentifikasi dan mengatasi hambatan yang mungkin muncul, serta menghasilkan produk yang berkualitas tinggi sesuai dengan tujuan proyek. Kami berharap buku ini dapat menjadi sumber pengetahuan yang berharga bagi para manajer proyek, pengembang perangkat lunak, dan siapa pun yang terlibat dalam dunia pengembangan teknologi informasi. Terima kas kepada semua yang telah mendukung pembuatan buku ini.
vi Semoga buku ini memberikan kontribusi positif dalam meningkatkan pemahaman dan keterampilan dalam manajemen proyek perangkat lunak, serta membawa kesuksesan bagi proekproyek yang akan datang.
vii Daftar Isi Kata Pengantar................................................................................................v Daftar Isi ..........................................................................................................vii BAB 1 Definisi & Konsep Dasar Manajemen Proyek Perangkat Lunak.......1 A. Definisi Manajemen Proyek Perangkat Lunak.........................3 B. Konsep Dasar Manajemen Proyek Perangkat Lunak .............4 C. Metodologi Manajemen Proyek Perangkat Lunak.................10 BAB 2 Proses Pengembangan Perangkat Lunak .............................................17 A. Proses Pengembangan Perangkat Lunak ..............................18 B. Tiga Pilar Dalam Manajemen Proyek Perangkat Lunak......18 C. Model Proses Perangkat Lunak...............................................19 D. Kebutuhan Proses Pengembangan Perangkat Lunak..........22 E. Pendekatan Pengembangan Perangkat Lunak......................24 F. Matrik Proses Pengembangan Perangkat Lunak..................28
viii BAB 3 Perencanaan Proyek Perangkat Lunak..................................................31 A. Perencanaan Pada Proyek.......................................................32 B. Tujuan Perencanaan Proyek.....................................................33 C. Ruang Lingkup Proyek Perangkat Lunak ...............................33 D. Estimasi Proyek Perangkat Lunak ..........................................37 E. Teknik Dekomposisi ...................................................................38 F. Menyusun Rencana Manajemen Proyek.................................39 BAB 4 Estimasi Proyek Perangkat Lunak ..........................................................41 A. Persiapan kebutuhan infrastruktur .........................................44 B. Persiapan kebutuhan software pendukung ...........................45 C. Persiapan kebutuhan sumber daya manusia.........................46 D. Persiapan kebutuhan lain-lain.................................................49 BAB 5 Penyusunan Rencana Manajemen Proyek Perangkat Lunak..........51 A. Knowledge Areas Manajemen Proyek ....................................52 B. Tahapan Penyusunan Rencana Proyek...................................54 C. Isi Dokumen Perencanaan Proyek...........................................60 D. Tools Perencanaan.....................................................................61
ix BAB 6 Manajemen Kualitas Perangkat Lunak..................................................65 A. Manajemen Kualitas Perangkat Lunak ...................................66 B. Kegiatan Manajemen Mutu........................................................66 C. Kualitas Perangkat Lunak dan Siklus Hidup Perangkat Lunak............................................................................................69 D. Tautan Metode TI.........................................................................71 E. Asosiasi dan Organisasi............................................................73 BAB 7 Analisis dan Dokumentasi Persyaratan Perangkat Lunak..............75 A. Ringkasan Eksekutif Metodologi..............................................76 B. Metodology Secara Garis Besar...............................................78 C. Persyaratan dan Analisis Pengembangan .............................86 BAB 8 Manajemen Konfigurasi Perangkat Lunak ...........................................99 A. Manajemen Konfigurasi Perangkat Lunak ...........................100 B. Konfigurasi perangkat lunak ..................................................101 C. Skenario SCM............................................................................102 D. Elemen Sistem Manajemen Konfigurasi...............................104 E. Baseline .....................................................................................104 F. Pokok-Pokok Konfigurasi Perangkat Lunak........................106
x G. Repositori SCM .........................................................................108 H. Fitur-Fitur dan Isi Umum ........................................................108 I. Fitur-Fitur SCM.........................................................................110 J. Proses SCM...............................................................................111 K. Identifikasi objek dalam konfigurasi perangkat lunak........113 L. Kontrol Versi .............................................................................114 M. Pengendalian Perubahan ........................................................115 N. Audit konfigurasi ......................................................................116 O. Pelaporan status ......................................................................117 P. Manajemen Konfigurasi Untuk Aplikasi Web .......................118 Q. Objek Konfigurasi Aplikasi Web .............................................118 R. Manajemen Perubahan............................................................121 S. Kontrol Versi .............................................................................123 T. Audit dan Pelaporan.................................................................123 BAB 9 Komunikasi Internal dan Eksternal dalam Proyek Perangkat Lunak...............................................................................................................125 A. Komunikasi dalam Pelaksanaan Proyek ..............................126 B. Komunikasi................................................................................127 C. Fungsi Komunikasi...................................................................128 D. Manajemen komunikasi proyek .............................................129 E. Perencanaan Komunikasi .......................................................130 F. Distribusi Informasi..................................................................132
xi G. Output dari Distribusi Informasi.............................................133 H. Saran Untuk Meningkatkan Komunikasi Proyek .................134 I. Menggunakan Kemampuan Komunikasi untuk Mengelola Konflik ........................................................................................135 J. Mengembangkan Kemampuan Komunikasi yang Lebih Baik .....................................................................................................137 K. Mengembangkan Infrastruktur Komunikasi ........................140 L. Menggunakan Template untuk Komunikasi Proyek............140 BAB 10 Manajemen Risiko dalam Proyek Perangkat Lunak........................143 A. Risiko Pada Perangkat Lunak ................................................144 B. Pengertian Manajemen Risiko................................................146 C. Pengukuran dan Pengkajian Risiko.......................................149 BAB 11 Perencanaan dan Pengendalian Biaya Proyek Perangkat Lunak153 A. Perencanaan Biaya Proyek Perangkat Lunak .....................154 B. Pengendalian Biaya Proyek Perangkat Lunak.....................160 BAB 12 Manajemen Proyek Agile untuk Perangkat Lunak...........................163 A. Apa itu Agile? ............................................................................164 B. Sejarah Agile.............................................................................165
xii C. Agile Manifesto .........................................................................166 D. Prinsip Agile: .............................................................................167 E. Jenis-jenis Agile Development ..............................................168 F. Manfaat dari Agile dalam Pengembangan Perangkat Lunak .....................................................................................................170 G. Cara mengimplementasikan proses cepat (agile) ..............172 H. Kekurangan Metode Agile .......................................................174 BAB 13 Pengendalian dan Pelaksanaan Proyek Perangkat Lunak ............175 A. Memahami Manajemen Proyek ..............................................176 B. Alur Kerja Pengembangan Perangkat Lunak ......................179 Daftar Pustaka ............................................................................................ 183 Tentang Penulis ...........................................................................................190
Manajemen Proyek Perangkat Lunak 1 Definisi & Konsep Dasar Manajemen Proyek Perangkat Lunak Dr. Dwi Prasetyo, Dipl.Inf, S.Kom, M.Si. BAB 1
2 Manajemen Proyek Perangkat Lunak alam era di mana teknologi menjadi inti dari banyak aspek kehidupan kita, pengembangan perangkat lunak menjadi semakin penting. Namun, pengembangan perangkat lunak tidak selalu berjalan lancar. Banyak proyek perangkat lunak mengalami kendala seperti penundaan, biaya melebihi anggaran, atau tidak memenuhi harapan pengguna. Inilah mengapa manajemen proyek perangkat lunak menjadi kunci untuk keberhasilan proyek tersebut. Manajemen proyek perangkat lunak menjadi begitu penting karena di dunia yang semakin didorong oleh teknologi, perangkat lunak telah menjadi tulang punggung banyak aspek kehidupan sehari-hari. Mulai dari aplikasi perbankan hingga platform media sosial, hampir semua yang kita lakukan secara digital didukung oleh perangkat lunak. Dengan kompleksitas dan skala proyek perangkat lunak yang semakin meningkat, kebutuhan akan manajemen proyek yang efektif juga meningkat. Manajemen proyek perangkat lunak memungkinkan tim untuk mengelola proyek dengan lebih efisien, mengurangi risiko kegagalan, dan mencapai hasil yang diinginkan sesuai dengan batas waktu dan anggaran yang telah ditetapkan. Pemahaman yang kuat tentang definisi dan konsep dasar manajemen proyek perangkat lunak merupakan fondasi bagi kesuksesan dalam pengembangan perangkat lunak. Tanpa pemahaman yang memadai tentang apa itu manajemen proyek perangkat lunak dan bagaimana konsep-konsep dasarnya diterapkan, tim proyek mungkin akan menghadapi kesulitan dalam merencanakan, melaksanakan, dan mengelola proyek dengan efektif. Definisi yang jelas tentang manajemen proyek perangkat lunak membantu memandu langkah-langkah selanjutnya yang harus diambil dalam siklus pengembangan D
Manajemen Proyek Perangkat Lunak 3 perangkat lunak, sementara konsep dasar seperti perencanaan, pelaksanaan, dan pengendalian memberikan panduan tentang bagaimana mengelola proyek dengan baik. Dalam bagian ini, pembaca dapat mengharapkan pemahaman yang lebih dalam tentang apa itu manajemen proyek perangkat lunak dan bagaimana konsep-konsep dasarnya diterapkan dalam praktiknya. Kami akan membahas definisi manajemen proyek perangkat lunak secara rinci, menjelaskan peran dan tanggung jawab manajer proyek perangkat lunak, serta menguraikan pentingnya manajemen proyek dalam konteks pengembangan perangkat lunak. Selain itu, kita akan melihat konsep dasar seperti perencanaan, pelaksanaan, pemantauan, dan pengendalian, serta bagaimana konsep-konsep ini berperan dalam keseluruhan siklus hidup proyek. Dengan pemahaman yang mendalam tentang pendahuluan ini, pembaca akan siap untuk menjelajahi topik-topik yang lebih spesifik tentang manajemen proyek perangkat lunak dalam babbab berikutnya. Ini akan memberi mereka landasan yang kuat untuk memahami bagaimana manajemen proyek perangkat lunak diterapkan dalam praktiknya, serta bagaimana mereka dapat mengintegrasikan konsep-konsep ini ke dalam proyek perangkat lunak mereka sendiri. A. Definisi Manajemen Proyek Perangkat Lunak Manajemen proyek perangkat lunak adalah disiplin yang mencakup perencanaan, pelaksanaan, pemantauan, dan pengendalian proyek perangkat lunak dari awal hingga selesai. Tujuan utamanya adalah untuk mencapai tujuan
4 Manajemen Proyek Perangkat Lunak proyek dalam batas waktu, anggaran, dan spesifikasi yang ditetapkan. Manajemen proyek perangkat lunak melibatkan koordinasi berbagai aspek proyek, termasuk sumber daya manusia, waktu, biaya, dan lingkungan kerja. Tujuan utamanya adalah untuk mencapai hasil proyek yang memenuhi kebutuhan dan harapan pemangku kepentingan, seperti pelanggan, pengguna, dan pemilik proyek. Dalam konteks yang lebih luas, manajemen proyek perangkat lunak juga melibatkan manajemen risiko, pengelolaan komunikasi, dan pengambilan keputusan yang tepat untuk memastikan kesuksesan proyek. Dengan memanfaatkan prinsip-prinsip manajemen proyek yang terbukti dan menerapkan metodologi yang sesuai, tim proyek dapat mengoptimalkan penggunaan sumber daya, mengurangi risiko kegagalan, dan menghasilkan produk perangkat lunak yang berkualitas tinggi sesuai dengan tujuan proyek. Oleh karena itu, pemahaman yang kuat tentang konsep dan praktik manajemen proyek perangkat lunak menjadi kunci untuk mencapai keberhasilan dalam pengembangan produk perangkat lunak. B. Konsep Dasar Manajemen Proyek Perangkat Lunak Konsep dasar manajemen proyek perangkat lunak mencakup sejumlah prinsip dan praktik yang menjadi fondasi bagi keberhasilan pengembangan perangkat lunak. Dengan memahami konsep-konsep ini, tim pengelola proyek dapat mengelola risiko, mengatasi tantangan, dan mencapai tujuan proyek dengan lebih efektif.
Manajemen Proyek Perangkat Lunak 5 Gambar 1. Ilustrasi gambar Konsep Manajemen Proyek 1. Perencanaan Proyek Sebuah proyek perangkat lunak dimulai dengan tahap perencanaan yang cermat. Ini melibatkan identifikasi kebutuhan proyek, penjadwalan kegiatan, dan penentuan sumber daya yang diperlukan. Tanpa perencanaan yang baik, risiko penundaan dan kegagalan proyek meningkat secara signifikan. Perencanaan proyek merupakan tahap kritis dalam siklus pengembangan perangkat lunak yang memungkinkan tim proyek untuk mengarahkan upaya mereka menuju tujuan yang jelas. Langkah-langkah perencanaan proyek melibatkan identifikasi kebutuhan dan tujuan proyek, penentuan sumber daya yang diperlukan, serta penjadwalan kegiatan yang diperlukan untuk mencapai hasil yang diinginkan. Pertama, tim proyek harus secara cermat menganalisis kebutuhan pengguna dan pemangku kepentingan lainnya untuk memahami tujuan proyek
6 Manajemen Proyek Perangkat Lunak secara menyeluruh. Ini melibatkan pengumpulan persyaratan fungsional dan non-fungsional, serta penentuan kriteria keberhasilan yang jelas. Selanjutnya, tim proyek perlu merencanakan alokasi sumber daya yang efisien, termasuk tenaga kerja, perangkat lunak, perangkat keras, dan anggaran yang tersedia. Hal ini memastikan bahwa proyek memiliki dukungan yang cukup untuk mencapai tujuan-tujuan yang telah ditetapkan. Terakhir, penjadwalan kegiatan proyek adalah langkah kunci dalam perencanaan. Dengan menggunakan teknik seperti diagram PERT/CPM, tim proyek dapat mengidentifikasi urutan kegiatan, estimasi durasi, dan menentukan jalur kritis untuk mengelola waktu secara efektif. Dengan perencanaan yang matang, tim proyek dapat mengurangi risiko penundaan dan memastikan proyek berjalan sesuai dengan jadwal yang ditetapkan. 2. Pelaksanaan Proyek Tahap pelaksanaan melibatkan eksekusi rencana proyek yang telah disusun. Ini mencakup koordinasi tim, pengelolaan risiko, dan pengendalian kualitas produk perangkat lunak. Komunikasi yang efektif antara anggota tim sangat penting untuk memastikan bahwa proyek berjalan sesuai rencana. Pelaksanaan proyek adalah tahap di mana rencana yang telah disusun diimplementasikan dalam praktiknya. Ini melibatkan koordinasi aktif antara anggota tim, pelaksanaan aktivitas proyek, dan
Manajemen Proyek Perangkat Lunak 7 pengelolaan semua aspek yang terlibat dalam pengembangan perangkat lunak. Pertama, koordinasi tim adalah kunci dalam pelaksanaan proyek. Tim harus bekerja secara sinergis, berkomunikasi secara teratur, dan saling mendukung satu sama lain untuk mencapai tujuan bersama. Pertemuan rutin, pemantauan kemajuan, dan resolusi masalah secara proaktif merupakan praktik terbaik dalam menjaga keharmonisan dan kohesi tim. Kedua, pelaksanaan aktivitas proyek melibatkan penerapan rencana perencanaan ke dalam tindakan konkret. Ini termasuk pengembangan kode, pengujian perangkat lunak, integrasi modul, dan pengelolaan konfigurasi. Setiap langkah harus dijalankan sesuai dengan standar industri yang ditetapkan dan dengan memperhatikan persyaratan dan spesifikasi proyek. Terakhir, pengelolaan aspek-aspek proyek lainnya seperti risiko, kualitas, dan perubahan juga sangat penting selama pelaksanaan. Tim harus aktif dalam mengidentifikasi, mengevaluasi, dan mengelola risiko yang mungkin timbul selama proses pengembangan. Selain itu, kontrol kualitas harus dilakukan secara terus-menerus untuk memastikan bahwa produk perangkat lunak memenuhi standar kualitas yang ditetapkan. Pengelolaan perubahan juga menjadi kunci, karena kebutuhan dan persyaratan proyek dapat berubah seiring berjalannya waktu. Dengan pelaksanaan proyek yang efektif, tim dapat mengoptimalkan penggunaan sumber daya, me-
8 Manajemen Proyek Perangkat Lunak minimalkan risiko, dan mencapai hasil proyek yang sukses sesuai dengan tujuan yang ditetapkan. 3. Pemantauan dan Pengendalian Pemantauan dan pengendalian proyek perangkat lunak dilakukan secara terus-menerus selama siklus hidup proyek. Ini melibatkan pemantauan kemajuan proyek, pengendalian biaya dan jadwal, serta pengelolaan perubahan yang mungkin terjadi selama proses pengembangan. Pemantauan dan pengendalian proyek merupakan tahap penting dalam manajemen proyek perangkat lunak yang memungkinkan tim untuk mengawasi dan mengatur jalannya proyek secara efektif. Tahap ini memungkinkan identifikasi perubahan yang diperlukan dan penyesuaian rencana proyek jika diperlukan. Pertama, pemantauan kemajuan proyek melibatkan pengumpulan data tentang kinerja proyek secara teratur. Ini bisa berupa pengukuran kemajuan terhadap jadwal, pengeluaran anggaran, atau tingkat kepuasan pengguna. Dengan memantau metrik-metrik ini, tim dapat mengidentifikasi potensi masalah atau hambatan yang mungkin muncul selama pengembangan. Kedua, pengendalian biaya dan jadwal adalah aspek kunci dari pengendalian proyek. Tim harus memastikan bahwa pengeluaran tetap sesuai dengan anggaran yang telah ditetapkan dan bahwa proyek bergerak sesuai dengan jadwal yang telah ditetapkan. Jika terjadi penyimpangan, tindakan korektif harus
Manajemen Proyek Perangkat Lunak 9 diambil untuk meminimalkan dampaknya terhadap proyek secara keseluruhan. Selain itu, pengelolaan perubahan juga merupakan bagian integral dari pemantauan dan pengendalian proyek. Ketika perubahan terjadi dalam persyaratan atau lingkungan proyek, tim harus mengevaluasi dampaknya dan membuat penyesuaian yang diperlukan dalam rencana proyek. Dengan melakukan pemantauan dan pengendalian proyek secara teratur, tim dapat mengidentifikasi masalah dengan cepat, mengurangi risiko kegagalan, dan memastikan bahwa proyek berjalan sesuai dengan rencana yang telah ditetapkan. 4. Penyelesaian Proyek Tahap penyelesaian proyek terjadi ketika produk perangkat lunak dikirim kepada pengguna akhir. Evaluasi proyek dilakukan untuk mengevaluasi keberhasilan proyek dan mengidentifikasi pelajaran yang dapat dipetik untuk proyek mendatang. Penyelesaian proyek adalah tahap penting dalam siklus pengembangan perangkat lunak di mana produk akhir diserahkan kepada pengguna akhir atau pelanggan. Ini menandai akhir dari upaya yang telah dilakukan oleh tim proyek dan merupakan momen penting untuk mengevaluasi keberhasilan proyek serta menyusun pelajaran yang dapat dipetik untuk proyek berikutnya. Pertama, pengiriman produk perangkat lunak kepada pengguna akhir merupakan fokus utama dalam
10 Manajemen Proyek Perangkat Lunak tahap penyelesaian proyek. Produk harus diserahkan sesuai dengan spesifikasi yang telah ditetapkan dan harus melalui serangkaian uji coba untuk memastikan bahwa ia memenuhi standar kualitas yang diharapkan. Selanjutnya, evaluasi proyek dilakukan untuk mengevaluasi kesuksesan proyek dan untuk mengidentifikasi area di mana perbaikan dapat dilakukan di masa mendatang. Ini melibatkan penilaian terhadap pencapaian tujuan proyek, kinerja tim, pengeluaran anggaran, dan kepuasan pelanggan. Terakhir, penyelesaian proyek juga merupakan kesempatan untuk merayakan pencapaian tim dan mengakui kontribusi individu yang telah berpartisipasi dalam proyek. Mengadakan acara penutupan proyek atau merayakan pencapaian secara informal dapat meningkatkan motivasi dan memperkuat ikatan di antara anggota tim. Dengan penyelesaian proyek yang sukses, tim dapat melihat kembali perjalanan mereka dengan bangga, sambil memperhitungkan pelajaran yang telah dipelajari untuk diterapkan dalam proyek mendatang. C.Metodologi Manajemen Proyek Perangkat Lunak Metodologi manajemen proyek perangkat lunak adalah kerangka kerja atau pendekatan sistematis yang digunakan untuk mengelola dan mengarahkan pengembangan perangkat lunak dari awal hingga selesai. Ada berbagai
Manajemen Proyek Perangkat Lunak 11 metodologi yang tersedia, dan setiap metodologi memiliki karakteristik, kelebihan, dan kelemahan yang berbeda. Salah satu metodologi yang umum digunakan adalah model Waterfall, yang mengikuti alur linier dengan tahaptahap yang ditentukan sebelumnya, mulai dari analisis kebutuhan hingga pengiriman produk akhir. Pendekatan ini cocok untuk proyek dengan persyaratan yang stabil dan jelas. Di sisi lain, metodologi Agile menekankan kolaborasi tim, fleksibilitas, dan responsif terhadap perubahan. Pendekatan ini memecah proyek menjadi iterasi pendek yang disebut sprint, di mana fungsionalitas dapat diuji dan disesuaikan secara teratur. Gambar 2. Metodologi AGILE Metodologi Scrum adalah implementasi khusus dari pendekatan Agile, dengan fokus pada peran-peran tim yang jelas, pertemuan harian singkat, dan siklus pengembangan yang teratur.
12 Manajemen Proyek Perangkat Lunak Gambar 3. Metodologi Scrum Setiap metodologi memiliki keunggulan dan kelemahan yang perlu dipertimbangkan sesuai dengan kebutuhan dan karakteristik proyek. Dengan memilih metodologi yang sesuai, tim dapat meningkatkan peluang keberhasilan proyek, meningkatkan efisiensi, dan menghasilkan produk perangkat lunak yang berkualitas. Ada berbagai metodologi yang dapat digunakan dalam manajemen proyek perangkat lunak, termasuk pendekatan tradisional seperti Waterfall dan pendekatan lebih iteratif seperti Agile dan Scrum. Setiap metodologi memiliki kelebihan dan kelemahan masing-masing, dan pemilihan metodologi harus disesuaikan dengan kebutuhan dan karakteristik proyek yang bersangkutan.
Manajemen Proyek Perangkat Lunak 13 Gambar 4. Waterfall Project Management Kesimpulan tentang definisi dan konsep manajemen proyek perangkat lunak mencerminkan pentingnya pemahaman yang kuat terhadap prinsip-prinsip dasar ini dalam mencapai keberhasilan dalam pengembangan perangkat lunak. Manajemen proyek perangkat lunak tidak hanya sekedar tentang menyelesaikan proyek tepat waktu dan dalam anggaran yang ditetapkan, tetapi juga tentang menghasilkan produk perangkat lunak yang memenuhi kebutuhan dan harapan pengguna akhir. Definisi manajemen proyek perangkat lunak mencakup disiplin yang mencakup perencanaan, pelaksanaan, pemantauan, dan pengendalian proyek perangkat lunak dari awal hingga selesai. Tujuan utamanya adalah untuk mencapai tujuan proyek dalam batas waktu, anggaran, dan spesifikasi yang telah ditetapkan.
14 Manajemen Proyek Perangkat Lunak Konsep dasar manajemen proyek perangkat lunak melibatkan serangkaian langkah kunci yang diperlukan untuk mengelola proyek dengan efektif. Pertama-tama, perencanaan proyek melibatkan identifikasi kebutuhan proyek, penjadwalan kegiatan, dan alokasi sumber daya. Ini penting untuk mengarahkan upaya proyek ke arah yang benar sejak awal. Pelaksanaan proyek memerlukan koordinasi tim yang efektif, manajemen risiko yang cermat, dan pengendalian kualitas produk perangkat lunak. Selama tahap ini, fokus utama adalah menjalankan rencana proyek dengan tepat dan memastikan bahwa semua aspek proyek berjalan sesuai rencana. Pemantauan dan pengendalian proyek adalah tahap berkelanjutan selama siklus hidup proyek di mana kemajuan proyek dipantau secara teratur dan tindakan korektif diambil jika diperlukan. Ini memungkinkan tim untuk mengidentifikasi masalah dengan cepat, mengurangi risiko kegagalan, dan memastikan proyek berjalan sesuai dengan rencana. Terakhir, penyelesaian proyek adalah tahap di mana produk perangkat lunak dikirim kepada pengguna akhir atau pelanggan. Ini melibatkan evaluasi kesuksesan proyek dan merayakan pencapaian tim. Pemilihan metodologi manajemen proyek perangkat lunak juga merupakan langkah penting dalam keseluruhan proses. Ada berbagai metodologi yang tersedia, seperti Waterfall, Agile, dan Scrum, masing-masing dengan kelebihan dan kelemahan uniknya. Pemilihan metodologi
Manajemen Proyek Perangkat Lunak 15 yang sesuai harus didasarkan pada kebutuhan dan karakteristik proyek yang bersangkutan. Dalam kesimpulan, pemahaman yang kuat tentang definisi dan konsep manajemen proyek perangkat lunak merupakan fondasi penting bagi kesuksesan pengembangan perangkat lunak. Dengan menerapkan prinsip-prinsip ini dengan cermat, tim proyek dapat mengurangi risiko kegagalan, meningkatkan efisiensi, dan menghasilkan produk perangkat lunak yang berkualitas tinggi sesuai dengan tujuan yang ditetapkan. Oleh karena itu, kesadaran akan pentingnya manajemen proyek perangkat lunak menjadi semakin penting dalam era di mana perangkat lunak memainkan peran kunci dalam berbagai aspek kehidupan kita. Dalam bab ini, kita telah membahas definisi dan konsep dasar manajemen proyek perangkat lunak. Dengan memahami prinsip-prinsip dasar ini, diharapkan pembaca dapat meningkatkan kemungkinan keberhasilan proyek perangkat lunak mereka dan menghindari kendala yang umum terjadi selama pengembangan.
16 Manajemen Proyek Perangkat Lunak
Manajemen Proyek Perangkat Lunak 17 Proses Pengembangan Perangkat Lunak Dr. (H.C) Zaid Romegar Mair, S.T., M.Cs BAB 2
18 Manajemen Proyek Perangkat Lunak A. Proses Pengembangan Perangkat Lunak Ada tiga pilar dalam manajemen proyek perangkat lunak terdiri dari : orang (manusia), masalah (masalah), dan proses. Manusia membantu organisasi perangkat lunak menjadi lebih siap untuk menjalankan aplikasi yang semakin kompleks. Masalah membantu menetapkan objektif dan ruang lingkup proyek, memikirkan pemecahan alternatif, dan mendefinisikan batasan dan teknik. Proses memberikan kerangka kerja untuk rencana pengembangan perangkat lunak yang kompleks Manajemen proyek perangkat lunak adalah bagian dari manajemen rekayasa perangkat lunak, yang dimulai sebelum aktivitas teknis dimulai dan berlanjut pada batasan, pengembangan, dan pemeliharaan perangkat lunak komputer secara keseluruhan. B. Tiga Pilar Dalam Manajemen Proyek Perangkat Lunak Berikut ini penjabaran dari pilar-pilar dalam manajemen projek perangkat lunak yaitu : Permasalahan terdapat dua bagian: Pertama Ruang Lingkup yang terdiri dari Konteks, tujuan, informasi, fungsi, dan unjuk kerja. kedua Dekomposisi Masalah terdiri dari Fungsionalitas, Proses, dan Fungsi. Dalam sebuah proyek dengan n manusia, maka ada tiga pilihan yang dapat diambil untuk menerapkan sumber daya manusia: pertama n manusia dapat mengerjakan tugas fungsional yang berbeda sebanyak m dengan sedikit kombinasi kerja; kedua m sama dengan n, sehingga terbentuk tim informal; dan ketiga yaitu n orang
Manajemen Proyek Perangkat Lunak 19 diatur dalam t tim, dimana setiap tim mengerjakan satu tugas fungsional atau lebih. Struktur tim "terbaik" bergantung pada jenis manajemen organisasi. Terdapat 3 Organisasi tim yang umum: 1. Desentralisasi Demokratis Pemimpin tidak permanen, tugasnya pendek, koordinator berganti, keputusan dibuat oleh kesepakatan kelompok, dan komunikasi bersifat horisontal. 2. Terkontrol Desentralisasi: Pemimpin primer mengkoordinasi tugas khusus, dan pemimoin sekunder bertanggung jawab atas masalah sub-sub. Komunikasi bersifat horisontal, tetapi kontrol dilakukan vertikal. 3. Terkontrol Sentralisasi: Pemimpin tertinggi bertanggung jawab atas pemecahan masalah dan membentuk tim internal. C. Model Proses Perangkat Lunak Pengembangan perangkat lunak mungkin mencakup peningkatan desain dan manajemen produk dengan membagi tugas menjadi langkah atau proses yang lebih kecil. Gambar 1. Proses Pengembangan Perangkat lunak
20 Manajemen Proyek Perangkat Lunak Proses pengembangan perangkat lunak adalah kumpulan tindakan yang menghasilkan produk perangkat lunak. Berikut ini adalah langkah-langkah dalam proses pengembangan perangkat lunak: 1. Komunikasi (Communication) Langkah pertama dan paling penting adalah menghubungi penyedia layanan perangkat lunak untuk memulai permintaan produk perangkat lunak yang diinginkan oleh pengguna. Organisasi perangkat lunak mendiskusikan kebutuhan pengguna dan kemudian menyediakan solusi untuk kebutuhan tersebut. 2. Pengumpulan Kebutuhan (Requirement Gathering) Pada langkah ini, tim pengembang perangkat lunak memberikan sebanyak mungkin informasi tentang kebutuhan produk perangkat lunak dengan melibatkan berbagai pemangku kepentingan dari domain masalah. Ada banyak bentuk persyaratan, seperti persyaratan sistem, persyaratan fungsional, dll. 3. Studi Kelayakan (Feasibility Study) Tim menganalisis apakah proyek tersebut layak secara finansial, praktis, dan teknologi untuk organisasi atau tidak setelah mengumpulkan kebutuhan pengguna dengan bantuan banyak algoritma. 4. Analisis Sistem (A planning phase) Pengembang perangkat lunak menentukan rencana mereka dan menciptakan model perangkat lunak yang paling stabil untuk proyek. Analisis sistem juga dapat mencakup memahami keterbatasan produk dan menemukan dan mengatasi dampak proyek
Manajemen Proyek Perangkat Lunak 21 terhadap organisasi. Proyek menganalisis luasnya dan merencanakan sumber daya. 5. Software Design Untuk merencanakan desain produk perangkat lunak, seluruh pengetahuan tentang persyaratan dan analisis digabungkan dalam desain perangkat lunak. Input pengguna dan data yang dikumpulkan selama fase pengumpulan kebutuhan diperlukan. Ini memberikan output dalam bentuk desain fisik dan logis. 6. Coding Implementasi desain perangkat lunak dimulai dengan penulisan kode pemrograman yang tepat dan pengembangan program bebas kesalahan. 7. Testing Pengujian perangkat lunak dilakukan oleh anggota tim pengembangan selama proses coding. Pengujian dilakukan pada berbagai tingkatan, seperti modul, produk, program, dan pengujian pengguna akhir. 8. Integration Perangkat lunak dapat terintegrasi dengan perpustakaan, database, dan program lainnya setelah kode frontend, backend, dan database selesai ditulis. 9. Implementation Pada tahap ini, produk perangkat lunak akhirnya siap untuk diinstal pada mesin pengguna. Perangkat lunak diuji untuk kemampuan beradaptasi, profitabilitas, dan integrasi. 10. Operation and Maintenance Dalam hal efisiensi dan kesalahan yang lebih rendah, fase ini memastikan pengoperasian perangkat
22 Manajemen Proyek Perangkat Lunak lunak. Jika diperlukan, instruksi diberikan kepada pengguna tentang cara mengoperasikan perangkat lunak dan menjaga agar perangkat lunak tetap berfungsi. Kode perangkat lunak ini diperbarui secara otomatis sesuai dengan perubahan pengguna, lingkungan, dan teknologi. D. Kebutuhan Proses Pengembangan Perangkat Lunak Proses pengembangan perangkat lunak diperlukan karena menciptakan perangkat lunak secara terorganisir. Ini digunakan untuk mengetahui kapan proyek selesai. Selain itu, ini mempertimbangkan kebutuhan klien dan proyek. metode ini memungkinkan pengujian dan perbaikan berulang, yang dapat membantu mengidentifikasi dan memperbaiki masalah pada tahap awal. Ada beberapa alasan mengapa proses pengembangan perangkat lunak diperlukan. 1. Meeting requirement (Persyaratan pertemuan): Proses pengembangan perangkat lunak memastikan bahwa produk akhir memenuhi kebutuhan tertentu pelanggan. 2. Pengiriman Tepat Waktu: Mengikuti proses pengembangan perangkat lunak membantu merencanakan proyek. Ini memastikan suatu proyek selesai tepat waktu. 3. Pengendalian Anggaran: Proses pengembangan perangkat lunak membantu pengendalian anggaran dengan memungkinkan estimasi dan pelacakan sumber daya dan biaya yang lebih baik.
Manajemen Proyek Perangkat Lunak 23 4. Jaminan Kualitas: Aktivitas pengujian dan jaminan kualitas dilakukan selama prosesnya, yang memungkinkan penemuan dan penyelesaian kesalahan, cacat, dan masalah kegunaan. Tujuan utama proses pengembangan perangkat lunak adalah untuk mengembangkan perangkat lunak secepat mungkin sambil mempertahankan kualitas dan keamanan. Berikut adalah tujuan utamanya: Organisasi dan Struktur: Kerangka kerja untuk mengatur tugas dan aktivitas yang terlibat dalam pengembangan perangkat lunak disediakan oleh proses pengembangan. Ini menetapkan posisi, tugas, dan cara berkomunikasi dalam tim pengembangan. Jaminan Kualitas: Proses ini melibatkan langkahlangkah pengujian dan jaminan kualitas untuk memastikan bahwa perangkat lunak memenuhi spesifikasi, bebas cacat, dan berjalan sesuai harapan. Manajemen Risiko: Proses yang terdefinisi dengan baik membantu identifikasi awal potensi risiko dan menawarkan alat untuk mengendalikan dan mengurangi risiko tersebut. Efisiensi dan Produktivitas: Tim pengembangan dapat meningkatkan efisiensi dan produktivitas dengan mengikuti proses. Komunikasi dan Kolaborasi: Proses pengembangan perangkat lunak memungkinkan anggota tim, pemangku kepentingan, dan pihak terkait lainnya untuk berkomunikasi dan bekerja sama.
24 Manajemen Proyek Perangkat Lunak E. Pendekatan Pengembangan Perangkat Lunak Metodologi yang digunakan untuk mengatur dan merencanakan proses pembangunan perangkat lunak adalah pendekatan pengembangan perangkat lunak. Masing-masing pendekatan, seperti V-Model, Agile, Waterfall, Iterative, dan lainnya, memiliki prinsip dan prosedur yang unik. Mari kita pelajari dengan teliti. 1. Metode Waterfall (Air Terjun) Di bidang rekayasa perangkat lunak, pendekatan air terjun adalah metode tradisional yang terdiri dari pendekatan klasik yang populer. Ini juga merupakan versi populer dari siklus hidup pengembangan perangkat lunak. Keuntungan dari Metode Waterfall (Air Terjun) Metodologi air terjun terdiri dari tenggat waktu tahapan pengembangan yang berbeda, yang membuatnya mudah untuk mengelola proyek kecil. Dalam metodologi air terjun, ini terdiri dari tenggat waktu tahapan pengembangan yang terpisah. Gambar 2. Model Waterfall
Manajemen Proyek Perangkat Lunak 25 2. Metodologi Spiral Metodologi spiral, model siklus hidup yang sangat canggih, berguna untuk identifikasi awal dan pengurangan risiko proyek. Metodologi ini memastikan pengembang perangkat lunak dapat membuat perubahan desain atau kode yang diperlukan pada tahap pengujian. Keuntungan dari Strategi Spiral Metodologi spiral menggunakan analisis risiko besar untuk menghasilkan risiko yang lebih kecil. Salah satu keunggulan utama model spiral adalah bahwa perubahan yang diperlukan dapat dilakukan bahkan saat tahap pengujian terakhir dilakukan. Kerugian Metode Spiral Metodologi spiral tidak menghabiskan sumber daya untuk proyek dengan faktor risiko rendah. Gambar 3. Model Spiral 3. Metode Inkremental Salah satu metode terbaik dalam hal penghematan biaya, model ini mengutamakan desain untuk perencanaan dan analisis karena membutuhkan waktu
26 Manajemen Proyek Perangkat Lunak yang lebih sedikit. Kemampuan untuk disesuaikan membuat metode ini populer, memungkinkan tim menerapkan persyaratan tanpa perencanaan sebelumnya, dan pengembang dapat membuat versi baru dalam waktu singkat. Pembaruan juga dapat diberikan dengan metode ini. Keuntungan dari Metode Inkremental Metode inkremental memungkinkan pengiriman beberapa fungsi lebih awal, sehingga pengguna dapat mulai menggunakan dan merasakan beberapa fitur lebih awal daripada metode air terjun konvensional. Hal ini mengurangi kemungkinan proyek gagal. Kekurangan Metode Inkremental Perangkat lunak dikembangkan secara bertahap, sehingga sistem penuh mungkin tidak dapat diakses hingga siklus pengembangan selesai. Gambar 4. Model Inkremental Agile adalah metode pengembangan perangkat lunak yang menekankan fleksibilitas, kerja tim, dan penyampaian siklus berulang. Metodologi tangkas seperti Scrum dan Kanban memprioritaskan kerja sama tim yang efektif, umpan balik teratur, perbaikan
Manajemen Proyek Perangkat Lunak 27 berkelanjutan, dan kemampuan untuk menyesuaikan diri dengan perubahan. Survei terbaru dari VersionOne menunjukkan bahwa 87% organisasi menggunakan pengembangan tangkas untuk beberapa proyek pengembangan perangkat lunak atau seluruh proyek. Keuntungan dari Metode Agile Ini menghasilkan produk berkualitas tinggi karena keterlibatan iterasi yang minimal. Metodologi Agile populer karena ketergantungan dan adaptasi yang minimal terhadap dokumentasi awal, memungkinkan peningkatan kreatif saat mengerjakan produk perangkat lunak. Kekurangan Teknik Agile Metodologi tangkas tidak memiliki tenggat waktu dan kurang memiliki visi dan kejelasan proyek. Gambar 5. Model Agile
28 Manajemen Proyek Perangkat Lunak F. Matrik Proses Pengembangan Perangkat Lunak Dalam pengembangan perangkat lunak, matrik sangat penting untuk mengukur dan meningkatkan efisiensi, kualitas, dan kemajuan proses pengembangan. Matrikmatrik ini dibagi menjadi beberapa bidang: 1. Metrik Produktivitas: Lines of Code (LOC): Ini adalah alat untuk mengukur ukuran basis kode, tetapi tidak boleh digunakan sebagai satu-satunya ukuran produktivitas. Poin Fungsi: Mengevaluasi kemampuan perangkat lunak. Velocity (Kecepatan): Ini adalah metrik yang sering digunakan oleh pendekatan Agile dan digunakan untuk menghitung jumlah pekerjaan yang diselesaikan dalam satu sprint atau iterasi. 2. Matriks Kualitas a. Defect dencity: jumlah bug atau cacat yang terjadi per unit kode, misalnya seribu baris kode. b. Code Review Feedback Time / Waktu Umpan Balik Tinjauan Kode: Jumlah waktu yang diperlukan untuk menanggapi tinjauan kode. c. Code Churn: Kecepatan perubahan kode, yang dapat menunjukkan ketidakstabilan. 3. Matriks Efisiensi a. Lead Time: Waktu yang dibutuhkan untuk menyelesaikan permintaan perangkat lunak hingga pengiriman.
Manajemen Proyek Perangkat Lunak 29 b. Cycle Time (Waktu Siklus): Istilah yang sering digunakan dalam pengembangan Agile adalah jumlah waktu yang diperlukan untuk menyelesaikan satu siklus atau tugas. c. Throughput adalah jumlah cerita pengguna atau fitur yang diselesaikan dalam waktu tertentu. 4. Matrik Kepuasan Pelanggan: a. Net Promoter Score (NPS) adalah metrik yang digunakan untuk mengevaluasi kepuasan pelanggan serta kemungkinan untuk merekomendasikan perangkat lunak kepada orang lain. b. Customer Support Response Time / Waktu Respons Dukungan Pelanggan: Kecepatan respons dukungan pelanggan terhadap permasalahan. 5. Codebase Metrics a. Kompleksitas Kode: Kualitas kode dinilai dengan metrik seperti indeks pemeliharaan atau kompleksitas siklomatik. b. Cakupan Kode: Menghitung jumlah pengujian otomatis yang mencakup kode. c. Technical Debt: Menghitung berapa banyak kode yang tidak optimal yang perlu ditangani masa depan. 6. Matrik Tim Kepuasan Tim: survei atau mekanisme umpan balik untuk mengukur semangat dan keterlibatan tim. Kecepatan Tim: output rata-rata tim selama suatu periode, berguna di Agile.
30 Manajemen Proyek Perangkat Lunak
Manajemen Proyek Perangkat Lunak 31 Perencanaan Proyek Perangkat Lunak Reni Kurniah, S.Kom., M.Kom BAB 3
32 Manajemen Proyek Perangkat Lunak A. Perencanaan Pada Proyek Perencanaan dalam proyek perangkat lunak merupakan hal yang sangat penting hal ini dilakukan agar dapat menghindari kekacauan dalam proyek. Perencanaan yang baik dapat akan mempengaruhi aktivitas selanjutnya seperti pelaksanaan, Kontrol, penyelesaian dan pemeliharaan proyek. Kegagalan suatu proyek dapat terjadi karena lemahnya dalam perencanaan.Salah satu penyebab kurang sempurnanya suatu perencanaan adalah dikarenakan Sebagian pengelola proyek beranggapan bahwa aktivitas utama dari Proyek Perangkat Lunak adalah mendesaian mendesain dan memprogram aplikasi perangkat lunak. Dapat disimpulkan bahwa dalam sebuah perencanaan proyek merupakan dokumen yang resmi yang akan menjadi pedoman dalam sebuah pelaksanaan, pengawasan, dan penutupuna sebuah proyek, yang akan menjamin proyek akan mencapai sesuai target apabila diikuti dengan baik. Dalam perancanaan sebuah proyek yang akan disetujuio oleh tim proyek kemudian akan diberikan kepada pihak-pihak yang akan dicantumkan dalam rencana manajemen komunikasi. Ada beberapa hal yang dijadikan pedomonan dalam pelaksanaan, pengawasan, dan penutupan proyek, perencanaan proyek manajemen dapat juga digunakan sebagai: (Windihastuty & Ainur Rony, p. 2020) 1. Mendokumentasikan asumsi-asumsi yang dapat diajadikan dasar dalam perencanaan 2. Mendokumentasikan keputisan penting dan pertimbangannya 3. Memfasilitasi komunikasi diantara stakecholder
Manajemen Proyek Perangkat Lunak 33 4. Mendefinisikan pemeriksaan manajemen dalam hal isi, cakupan dan waktu 5. Dapat dijadikan dasar unttuk menilai kinerja dalam kegiatan pengawasan proyek 6. Kegiatan ini mendokumentasikan Tindakan yang diperlukan untuk mendefinisikan, menyiapakan, mengintegrasikan, mengkoordinasikan semua rencana yang bersifat parsial ke dalam satu rencana manajemen proyek 7. Proses penyusunan rencana manajemen proyek berlangsung iterative. B. Tujuan Perencanaan Proyek Perencanaan proyek perangkat lunak bertujuan untuk menyediakan prosedur yang memungkinkan seorang manajer dalam menentukan estimasi berupa sumber daya, biaya dan juga jadwal yang dapat dipertanggung jawabkan Untuk dapat mencapai tujuan yang dapat dipertanggung jawabkan dapat melalui suatu proses Dimana informasi yang menunjuk pada keestimasi harus dapat dipertanggung jawabkan. C. Ruang Lingkup Proyek Perangkat Lunak Ada beberapa hal yang digambarkan pada ruang lingkup perangkat lunak yaitu, Fungsi, Kinerja, Batasan, Interface dan juga reabilitas. (Yulianti, n.d.) Semua fungsi akan digambarkan didalam bentuk statement ruang lingkup yang akan dievaluasi dan disaring agar mendapatkan awalan yang lebih terperinci pada saat estimasi akan dimulai.
34 Manajemen Proyek Perangkat Lunak Untuk mendapatkan informasi antara pelanggang dan pengembang dibutuhkan suatu Teknik yang akan menjembatani komunikasi antara pelanggan dan pengembang. Langkah-langkah yang dapat dilakukan dalam menganalisa salah satunya adalah engann mengajukan pertanyaan Dimana pertanyaan tersebut bebas konteks, yaitu serangkaian pertanyaan yang akan membawa kepada pemahaman paling mendasar terhadap suatu masalah sesorang yang menginginkan suatu Solusi,dan efektivitas pada pertemuan tersebut. Agar dapat membangun ruang lingkup dalam sebuah proyek beberapa peneliti melakukan pendekatan yang berorientasi pada tim yaitu menggunakan Teknik yang dikenal teknikk spesifikasi apliaksi perangkat lunak atau disebut dengan istilah FAST. Melalui pendekatan ini maka akan dapat menumbuhkan kreasi pada tim gabungan antara pelanggang dan pengembang Dalam pendekatan ini dapat menumbuhkan kreasi tim gabungan pelanggang dan pengemban, yang bekerja bersama-sama untuk agar dapat memecahkan masalah, mencari solusi, membahas pendeketan-pendekatan yang berbeda serta menentukan serangkaian kebutuhan di awal. 1. Sumber Daya Untuk dapat menyelesaikan suatu pengembang-an perangkat lunak dibutuhkan sumber daya.Sumber daya tersebut adalah manusia, Komponen perangkat lunak, piranti perangkat keras dan perangkat lunak .
Manajemen Proyek Perangkat Lunak 35 Jika digambarkan pengembangan sumber daya dapat dilihat sebagai pyramid.Dimana yang menjadi pondasi adalah perangkat keras dan perangkat lunak yang berfungsi sebagai penyedia infrastruktur dalam mendukung usaha pengembangan (lingkungan pengembangan). Sedangkang posisi pada tingkatan yang lebih tinggi terdapat komponen perangkat lunak reusable-blok bagunan perangkat lunak ini dapat digunakan sebagai pengembangan yang dapat mengurangi biaya dari pengembangan perangkat lunak dan juga dapat mempercepat proses penyampaian. Pada tingkatan level yang tertinggi dari sebuah pyramid pengembangan perangkat lunaka adalah sumber daya utama yaitu manusia. Masing-masing sumber daya ditentukan dengan empat karakteristik: (Windihastuty & Ainur Rony, 2020) a. Deskripsi sumber daya b. Stament Ketersediaan c. Waktu kronologis sumber daya diperlukan d. Durasi waktu sumber daya diaplikasikan. 2. Sumber Daya Manusia Pada perencanaan sumber daya manusia akan dimulai dari mengevaluasi apa saja yang ada di ruang lingkup serta pemilihan kecakapan yang dibutuhkan dalam menyelesaikan suatu pengembangan.Seperti posisi organsasi maupun specialty.Setelah mnegetahui estemasi usaha makan dapat ditentukan jumlah orang yang diperlukan dalam sebuah proyek.
36 Manajemen Proyek Perangkat Lunak 3. Sumber Daya Perangkat Lunak Reusable Ada empat kategori sumber daya perangkat lunak yang harus dipertimbangkan pada saat perencanaan berlangsung, yaitu: a. Komponen Off the selft Pada kategori ini perangkat lunak telah dikembangkan baik secara internal pada proyek sebelumnya.Sehingga komponen tersebut bisa digunakan pada proyek sekarang atau yang telah disetujui seluruhnya b. Komponen Full-Experience Pada ketegori ini komponen Spesifikasi, kode, desain atau pengujian data yang telah ada dan sudah dikembangkan pada proyek yang lalu tetapi serupa dengan perangkat lunak yang akan dibangun pada proyek saat ini. c. Komponen Partial-Experience Pada ketegori ini Aplikasi Perangkat lunak, Kode, desain, atau data pengujian yang ada pada proyek yang lalu dihubungkan dengan perangkat lunak yang akan dibangun untuk proyek saat ini tetapi akan membutuhkan modifikasi substansial d. Komponen Baru Komponen perangkat lunak yang harus dibangun oleh tim perangkat lunak khususnya adalah untuk kebutuhan proyek sekarang. 4. Sumber Daya Lingkungan Agar dapat menggabungakan sebuah perangkat lunak dan perangkat keras dibutuhkan lingkungan yang dapat mendukung proyek perangat lunak atau yang
Manajemen Proyek Perangkat Lunak 37 lebih dikenal dengan Software Engineering Enviroment (SEE) Disebabkan karena Sebagian besar organisasi perangkat lunak memiliki konstituen ganda yang memerlukan akses ke SEE, oleh karena itu perencanaan proyek harus menentukan jendela waktu yang dibutuhkan bagi perangkat keras dan perangkat lunak serta membuktikan bahwa sumber-sumber daya tersebut dapat diperoleh. Pada saat system berbasis computer akan direkayasa, tim perangkat lunak mungkin akan membutuhkan akses ke elemen perangkat keras yang sedang dikembangkan oleh tim rekayasa yang lain. D. Estimasi Proyek Perangkat Lunak Pada masa awal perhitungan, biaya perangkat lunak terdiri dari persentase kecil biaya system berbasis computer secara keseluruhan. Pada saat sekarang perangkat lunak merupakan elemen yang paling mahal di dalam sebagaian besar system berbasis komputer. Jika terjadi kesalahan estimasi biaya yang besar dapat memberikan perbedaan anatara keuntungan dan kerugian. Apabila biaya yang dikeluarkan terlalu banyak dapat menjadi bencana bagi pengembang perangkat lunak (Santoso, 2019) 1. Menunda estimasi sampai akhir proyek 2. Berdasarkan estimasi pada proyek-proyek serupa yang telah dilakukan sebelumnya
38 Manajemen Proyek Perangkat Lunak 3. Menggunakan “ Teknik dekomposisi” yang relative sederhana untuk melakukan estimasi biaya dan usaha proyek 4. Menggunakan satu atau lebih model empiris bagi estimasi uasaha dan baiaya perangkat lunak E. Teknik Dekomposisi Ada tiga macam Teknik dekomposisi yaitu: 1. Software Sizing Untuk akurasi estimasi perangkat lunak dapat didasarkan pada sejumlah hal : a. Tingkat Dimana perencana telah dengan tepat mengestimasi ukuran produk yang akan dibuat b. Kemampuan untuk menterjemahkan estimasi ukuran ke dalam kerja manusia, waktu, kalender dan dolar c. Tingkat Dimana rencana proyek mencerminkan kemampuan tim perangkat lunak d. Stabilitas sayarat produk serta lingkungan yang mendukung usaha dari pengembangan perangkat lunak 2. Perkiraan Berdasarkan Masalah Baris kode (LOC) dan titik fungsi (FP) digambarkan sebagai pengukuran dasar Dimana meterik produktivitas dapat dihitung Selama estimasi perangkat lunak data LOC dan FP digunakan dalam dua cara: