Anda di halaman 1dari 5

Tugas Kualitas Perangkat Lunak

Resume Studi Kasus Implementasi Software Configuration


Management (SCM) pada Proyek Scrum

Nama : I Gede Made Agni Sinara Rasa


NIM : 16/400364/TK/45378

Software Configuration Management (SCM) adalah bagian penting dari


pengembangan perangkat lunak. SCM yang diimplementasikan dengan benar, dapat menjaga
keadaan tetap terkendali dan membantu tim pengembang membuat perangkat lunak dengan
kualitas yang baik. Umumnya, Configuration Manager adalah seseorang yang bertanggung
jawab terhadap implementasi SCM dalam pengembangan proyek.
Scrum adalah salah satu metode pengembangan perangkat lunak berbasis agile yang
populer saat ini. Scrum mirip seperti sebuah framework dan tidak menyinggung tentang
bagaimana cara untuk membangun perangkat lunak (tidak seperti eXtreme programming),
sebaliknya Scrum lebih ke arah bagaimana memanajemen proses pengembangan. Menurut
(Schwaber & Beedle 2002), tim Scrum sepenuhnya mandiri dan berjalan dengan berbekal
pengetahuan dan pengalaman mereka saja, daripada mengikuti project plan yang telah
ditetapkan. Scrum tidak mendefinisikan teknik atau metode pengembangan perangkat lunak apa
yang akan diimplementasikan dalam pengembangan, melainkan memberikan wewenang
sepenuhnya kepada pengembang. Jadi, tidak ada peran khusus dalam tim Scrum karena semua
bergerak mandiri, yang berarti tidak ada yang berperan sebagai Configuration Manager.
Dengan tidak adanya Configuration Manager, dapat disimpulkan bahwa muncul
sebuah risiko yang jelas, di mana tidak ada yang akan bertanggung jawab terhadap kegiatan
SCM dan kemungkinan bahwa proyek tidak akan terkendali setelah beberapa waktu, terutama
jika para anggota tidak berpengalaman di tim tersebut dan mereka tidak tahu manfaat dari SCM.
Dari sini timbul pertanyaan:

(1) Bagaimana Implementasi Software Configuration Management (SCM) pada proyek Scrum?
(2) Apakah metode Scrum sesuai dengan perspektif SCM?
Jawab:

Implementasi Software Configuration Management (SCM) pada proyek Scrum, berbeda


dengan implementasi SCM pada umumnya. Jika pada umunya yang bertanggung jawab terhadap
implementasi SCM dalam pengembangan proyek adalah Configuration Manager dan SCM
Team, maka dalam Scrum, SCM adalah tanggung jawab dari seluruh tim. Prinsip dari Scrum
sendiri adalah membuat seluruh anggota tim bekerja sama dengan tujuan yang sama, tanpa
adanya batasan akan peran yang berbeda dalam tim. SCM menjadi bagian dari tugas dan
kegiatan sehari-hari dari setiap anggota tim. Setiap orang bertanggung jawab untuk
mengintegrasikan, membangun, dan menguji secara teratur di workspace mereka sebelum
melakukan perubahan.
Sebelum membahas lebih lanjut terkait implementasi SCM dalam Scrum, perlu diketahui
arti istilah-istilah dalam Scrum yang akan sering disebutkan nanti:
 Sprint, merupakan sebuah kotak waktu, rentang waktu yang dimiliki oleh tim pengembang
dalam menyelesaikan suatu target yang jelas. Biasanya, satu sprint memiliki rentang waktu
1–4 minggu.
 Product backlog, diperoleh dari client atau customer kita, yang ingin kita kumpulkan semua
informasi terkait fitur aplikasi yang akan dibangun.
 Product Owner, yaitu seseorang yang berperan sebagai perwakilan tunggal yang mewakili
stakeholders internal dan eksternal. Contohnya mewakili user, investor, manager, partner,
dan lainnya.
 Daily Scrum, dilakukan oleh tim Scrum dengan melakukan rapat maksimal 15 menit untuk
membahas kesinkronan kerja, masalah yang terjadi selama sprint berlangsung, dan solusi
terhadap masalah.

Berikut adalah langkah-langkah implementasi SCM dalam Scrum:

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.

Demikianlah implementasi SCM dalam metode Scrum, dan untuk menjawab


pertanyaan nomor dua, yaitu “Apakah metode Scrum sesuai dengan perspektif SCM?”,
jawabannya adalah tidak. Metode Scrum tidak menyebutkan SCM secara eksplisit, tetapi juga
tidak bertentangan dengan tahapan-tahapan dari SCM. Pada akhirnya, tahapan SCM dalam
Scrum bergantung pada kemampuan dan tanggung jawab masing-masing anggota tim.

DAFTAR PUSTAKA

Bergstrom, Andreas. 2008. Software Configuration Management in Scrum Projects. Diambil


dari: http://sam.cs.lth.se/ExjobGetFile?id=162 (Diakses 22 Mei 2019)

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)

Anda mungkin juga menyukai