Process Mining: Solusi Optimalisasi Pipeline CI/CD di Era DevOps
Dalam dunia pengembangan perangkat lunak modern, efisiensi dan kualitas pipeline deployment menjadi fokus utama untuk mencapai proses pengiriman yang cepat dan tepat. Hal ini semakin penting dalam lingkungan DevOps yang mengedepankan integrasi dan pengiriman berkelanjutan. Artikel karya Ana Filipa Nogueira dan Mário Zenha-Rela berjudul "Process Mining Software Engineering Practices: A Case Study for Deployment Pipelines" yang dipublikasikan pada Information and Software Technology Volume 168 (Desember 2023) membahas bagaimana teknik Process Mining dapat digunakan untuk mengidentifikasi penyimpangan dan meningkatkan efisiensi pipeline CI/CD. Berdasarkan penelitian terhadap enam tim teknik di perusahaan e-commerce besar di Eropa, penelitian ini menggali bagaimana variasi lokal dalam pipeline dapat memengaruhi kualitas dan kecepatan pengiriman perangkat lunak.
Salah satu tantangan utama dalam lingkungan DevOps adalah mengelola kompleksitas pipeline deployment. Meskipun sudah ada standar yang diterapkan, artikel ini menunjukkan bahwa setiap tim memiliki variasi lokal yang sangat terkait dengan konteks bisnis yang mereka tangani. Nogueira dan Zenha-Rela mengumpulkan data dari ribuan event pipeline GitLab untuk menghitung metrik DevOps seperti lead time dan change failure rate, menghasilkan angka yang cukup mencolok. Misalnya, mereka menemukan bahwa siklus commit dapat memakan waktu rata-rata 7 hingga 10 menit untuk menyelesaikan proses, sementara siklus produksi bisa memakan waktu hingga 6.390 menit (sekitar 4,5 hari) di beberapa tim, menunjukkan adanya peluang besar untuk perbaikan.
Temuan ini menyoroti bahwa meskipun standar DevOps sudah mapan, realitas implementasi di lapangan sering kali jauh lebih kompleks. Dengan adanya variasi ini, sangat jelas bahwa penggunaan Process Mining tidak hanya membantu memahami proses yang sebenarnya terjadi, tetapi juga menjadi alat penting untuk mengoptimalkan efisiensi pengiriman perangkat lunak di lingkungan yang sangat dinamis.
***
Salah satu aspek menarik dari artikel Nogueira dan Zenha-Rela adalah bagaimana mereka menggunakan Process Mining untuk menganalisis dan meningkatkan pipeline CI/CD di lingkungan yang kompleks. Berdasarkan data dari enam tim teknik di perusahaan e-commerce, mereka menemukan bahwa meskipun ada template standar untuk pipeline deployment, realitasnya setiap tim menunjukkan variasi proses yang signifikan. Variasi ini sangat dipengaruhi oleh konteks bisnis dari masing-masing tim, yang menunjukkan bahwa standar satu ukuran untuk semua sering kali tidak cukup efektif dalam implementasi.
Artikel ini memberikan angka-angka yang relevan dan membuka mata terkait efisiensi proses. Sebagai contoh, dalam siklus commit, semua tim memiliki waktu penyelesaian antara 5 hingga 10 menit. Namun, ketika proses berlanjut ke siklus penerimaan dan produksi, terdapat perbedaan besar. Tim yang paling cepat menyelesaikan siklus penerimaan memakan waktu 14,8 menit, sementara tim dengan kinerja terendah membutuhkan hingga 2.416 menit (sekitar 40 jam). Sementara itu, dalam siklus produksi, tim terlama membutuhkan hingga 6.390 menit (lebih dari 4 hari) untuk menyelesaikan pipeline dari commit hingga pengujian otomatis di lingkungan produksi. Data ini menunjukkan bahwa bottleneck dalam pipeline sangat mungkin terjadi di bagian manual seperti pengujian atau persetujuan deployment, yang sangat bergantung pada kecepatan tim untuk merespons.
Selain itu, Process Mining juga membantu mengidentifikasi change failure rate, yang dihitung dari persentase kegagalan dalam pipeline deployment. Dari data yang dikumpulkan, mereka menemukan bahwa kegagalan dalam siklus penerimaan dan produksi cenderung bervariasi, dengan angka rata-rata antara 0% hingga 12%. Tim dengan change failure rate yang tinggi sering kali mengalami kegagalan deployment akibat langkah manual yang tidak diselesaikan dengan baik. Namun, dengan adanya visibilitas yang diberikan oleh Process Mining, tim-tim ini dapat menemukan akar masalah mereka dan mengurangi kegagalan di masa depan.
Selain memperbaiki kecepatan dan kualitas, artikel ini juga menyoroti pentingnya standar metrik yang digunakan untuk mengukur kinerja pipeline. Nogueira dan Zenha-Rela menggunakan metrik seperti flow efficiency, yang mengukur seberapa efisien waktu yang digunakan untuk bekerja dibandingkan dengan waktu yang dihabiskan untuk menunggu. Mereka menemukan bahwa tim yang paling efisien memiliki rata-rata flow efficiency sebesar 77% untuk feature branch dan 68% untuk main branch, sementara tim dengan performa lebih rendah menunjukkan angka yang jauh lebih rendah, mengindikasikan adanya ruang besar untuk optimasi.
Secara keseluruhan, artikel ini menunjukkan bahwa Process Mining adalah alat yang sangat efektif untuk memberikan wawasan mendalam tentang pipeline deployment, memungkinkan organisasi untuk mengidentifikasi area perbaikan yang signifikan dan mendorong tim teknik untuk lebih produktif dalam siklus pengiriman perangkat lunak mereka.
***