Monorepo dan Polyrepo: Studi Perbandingan dalam Siklus Hidup Pengembangan Perangkat Lunak

Awwabi, Labba (2025) Monorepo dan Polyrepo: Studi Perbandingan dalam Siklus Hidup Pengembangan Perangkat Lunak. Masters thesis, Institut Teknologi Sepuluh Nopember.

[thumbnail of Buku Thesis vFinal - compressed.pdf] Text
Buku Thesis vFinal - compressed.pdf - Accepted Version
Restricted to Repository staff only until 1 April 2027.

Download (2MB) | Request a copy

Abstract

Dalam dunia pengembangan perangkat lunak, pengelolaan kode sumber yang efisien sangat penting untuk produktivitas dan percepatan siklus rilis. Di antara strategi pengaturan repositori, konfigurasi Monorepo dan Polyrepo menonjol karena pendekatan pengelolaan kode sumber yang berbeda. Meski banyak digunakan oleh perusahaan teknologi besar, belum ada penelitian akademik yang menyebutkan konfigurasi mana yang lebih baik secara jelas. Penelitian ini membahas hal tersebut melalui analisis komparatif terhadap kedua konfigurasi dalam siklus pengembangan perangkat lunak, dengan fokus pada kecepatan pengembangan dan durasi operasional. Penelitian ini melibatkan 10 pengembang yang mengerjakan sembilan skenario pembaruan pada aplikasi dengan variasi jumlah layanan yang terlibat, dengan bergantian menggunakan Monorepo dan Polyrepo. Hasil menunjukkan bahwa konfigurasi Monorepo memiliki proses pengembangan lebih cepat, berkat struktur terintegrasinya yang mendukung pembaruan simultan, kemudahan navigasi dan mengurangi durasi deployment. Penelitian ini juga didukung oleh keterlibatan peneliti yang memiliki pengalaman langsung sejak awal proyek, memberikan wawasan mendalam tentang implikasi praktis dari kedua konfigurasi. Temuan ini menyoroti keunggulan operasional Monorepo terhadap proyek terhadap kecepatan pengembangan. Hasil penelitian memberikan panduan penting bagi organisasi dalam mengelola repositori secara strategis dan membuka peluang penelitian lebih lanjut terkait dampak jangka panjang pada kolaborasi tim, kualitas kode, dan pemeliharaan.
===========================================================================================================================
In the dynamic realm of software development, efficient management of source code is pivotal for maintaining productivity and expediting release cycles. Version control systems, essential in this process, offer structured management of code changes. Among the various strategies for organizing repositories, Monorepo and Polyrepo configurations are particularly notable due to their distinct approaches to source code management. Despite their widespread adoption by leading technology enterprises, a definitive academic consensus on which configuration yields superior efficiency remains elusive. This research paper aims to address this gap by conducting a detailed comparative analysis of these configurations within the software development lifecycle, emphasizing development speed and operational efficiency. The study engaged 10 developers, divided into two groups, each alternating between Monorepo and Polyrepo setups. There were nine (9) scenarios for updating the projects, each involving a different combination of services. Our empirical findings reveal that Monorepo configurations significantly outperform Polyrepo in terms of development speed. This efficiency is attributed to the integrated structure of Monorepo, which facilitates simultaneous updates across services and minimizes the complexities associated with sequential deployments typical in Polyrepo setups. Moreover, the involvement of a researcher with direct experience in the project from its inception to the writing of this thesis provided deep insights into the practical implications of each setup. This study underscores the operational efficiencies of Monorepo over Polyrepo in development speed aspect. These findings provide crucial insights for organizations looking to optimize their software development practices through strategic repository management and suggest areas for future research, including the long-term impacts on team collaboration, code quality, and maintenance overhead.

Item Type: Thesis (Masters)
Uncontrolled Keywords: Software Development Lifecycle, Development Speed, Monorepo, Polyrepo, Repository Management.
Subjects: T Technology > T Technology (General) > T58.5 Information technology. IT--Auditing
T Technology > T Technology (General) > T58.6 Management information systems
T Technology > T Technology (General) > T58.64 Information resources management
T Technology > T Technology (General) > T58.8 Productivity. Efficiency
Divisions: Faculty of Intelligent Electrical and Informatics Technology (ELECTICS) > Informatics Engineering > 55101-(S2) Master Thesis
Depositing User: Labba Awwabi
Date Deposited: 06 Feb 2025 07:09
Last Modified: 06 Feb 2025 07:09
URI: http://repository.its.ac.id/id/eprint/118502

Actions (login required)

View Item View Item