(1) Bagaimana Implementasi Software Configuration Management (SCM) pada proyek Scrum?
(2) Apakah metode Scrum sesuai dengan perspektif SCM?
Jawab:
A. Configuration Identification
Sama seperti implementasi SCM pada umumnya, tahap Configuration Identification
menjadi tahapan yang pertama dilakukan. Dalam Scrum, tahap ini dilakukan secara berulang
selama pengembangan proyek (di tahap awal pembuatan Sprint) dan hanya mengidentifikasi
perubahan apa yang benar-benar menghasilkan nilai bisnis. Artinya, tahap seperti pembuatan
project plan, design documents, test plans, dan SCM plans, tidak dilakukan. Jadi,
Configuration Identification pada Scrum lebih sedikit dan sederhana.
B. Configuration Control
Dalam Scrum, tidak ada Change Control Board (CCB) seperti pada implementasi
SCM pada umumnya. Melainkan, permintaan perubahan (change request) akan dibahas,
diprioritaskan, dan diputuskan oleh Product Owner dalam Sprint Planning Meeting.
Anggota tim akan mengambil prioritas teratas dan memasukkannya ke Sprint Backlog. Bila
dibandingkan, aktivitas-aktivitas yang dilakukan pada tahap ini mirip dengan aktivitas dari
CCB, seperti evaluasi, koordinasi, maupun persetujuan, hanya saja dalam Scrum dilakukan
secara tidak terlalu formal.
C. Configuration Audit
Configuration audit pada umumnya adalah verifikasi secara formal bahwa semua
bagian proyek yang dikembangkan, sudah memenuhi persyaratan yang dibutuhkan. Sekali
lagi, dalam Scrum aktivitas ini dilakukan tidak terlalu formal. Configuration audit dilakukan
saat Sprint Review Meeting. Anggota tim akan mendemonstrasikan setiap hasil pada Sprint
Backlog ke Product Owner, agar dapat diverifikasi apakah hasil sudah sesuai dengan
peryaratan.
D. Version Control
Version Control merupakan tahapan untuk memanajemen versi berbeda dari
konfigurasi yang telah dilakukan selama pengembangan proyek. Version control berguna
untuk pemantauan dan penyimpanan semua perubahan perangkat lunak yang telah terjadi
selama pengembangan, di suatu tempat penyimpanan. Dalam Scrum, tahap ini dilakukan
oleh Scrum Team.
E. Workspace Management
Seperti yang sudah dijelaskan di atas, Version Control menyimpan semua perubahan
perangkat lunak yang telah terjadi selama pengembangan, di suatu tempat penyimpanan.
Karena tempat penyimpanan ini dibagikan ke semua anggota tim, maka tiap individu tidak
bisa seenaknya menggunakan dan memodifikasi versi-versi perangkat lunak tersebut.
Melainkan, mereka akan meng-copy versi yang diinginkan di workspace pribadi mereka dan
memodifikasinya sesuai keinginan. Hasilnya, setiap pengembang akan dapat bekerja secara
paralel tanpa mengganggu yang lain, karena prinsip dari Scrum adalah bekerja secara
mandiri. Selain itu, untuk mengintegrasikan workspace dari tiap individu, maka digunakan
Continuous Integration (CI).
F. Build Management
Dalam Scrum, terdapat tiga tipe pengembang, yaitu:
1. The Private Developer Build, yaitu mereka yang meng-copy versi yang tersimpan, ke
workspace pribadi mereka dan memodifikasinya sesuai keinginan.
2. The Team Integration Build, yang bertugas mensinkronisasi tiap workspace individu
tersebut.
3. The Formal Release Build, yang bertanggung jawab terhadap hasil akhir perangkat lunak
yang akan dirilis, berdasarkan apa yang telah dikerjakan dua tipe pengembang
sebelumnya.
G. Change Management
Tahap Change Management dalam Implementasi SCM, pada umumnya di-handle
melalui Change Control Board yang mengatur apakah perubahan dapat diimplementasikan.
Sedangkan dalam Scrum, perubahan akan disetujui oleh Product Owner di Sprint Planning
Meeting. Pada metode Scrum, setiap hari dilakukan Daily Scrum, di mana tiap anggota tim
harus menjawab pertanyaan di bawah ini:
1. Apa yang telah dilakukan sejak pertemuan terakhir?
2. Apa rencana yang akan dilakukan sampai pertemuan berikutnya?
3. Apa ada hal yang menghalangi pekerjaan kita sehingga belum bisa selesai?
Dengan diadakannya pertemuan ini setiap hari, maka masalah-masalah yang muncul
akan lebih mudah dipantau, serta memudahkan pembuatan keputusan terkait apakah
sebaiknya dilakukan perubahan, dan jika iya, maka sebelum pertemuan selanjutnya
perubahan tersebut harus sudah diimplementasikan. Artinya, Scrum lebih responsif terhadap
permintaan perubahan (change request) dan secara cepat mengimplementasi perubahan
tersebut.
DAFTAR PUSTAKA
Koskela, Juha. 2003. Software Configuration Management in Agile Methods. Diambil dari:
https://www.vtt.fi/inf/pdf/publications/2003/P514.pdf (Diakses 22 Mei 2019)
Situmorang, Greace Maulina. 2018. Istilah pada Metodologi Scrum. Diambil dari:
https://medium.com/@greacemaulinasitumorang/istilah-pada-metodologi-Scrum-8a7d58896448
(Diakses 22 Mei 2019)