Manajemen konfigurasi perangkat lunak adalah proses mengelola perubahan dan evolusi perangkat lunak sepanjang siklus hidupnya untuk memastikan sistem berfungsi sesuai harapan. Hal ini mencakup mengidentifikasi, mengontrol, mencatat status, dan mengaudit item konfigurasi seperti kode, dokumen, dan perangkat lunak pendukung menggunakan berbagai teknik seperti berbasis kuesioner, model, arsitektur, atau kebijak
2. Definisi
• Suatu proses untuk mengelola perubahan
dan evolusi perangkat lunak dari awal
hingga akhir siklus hidupnya.
3. Tujuan
• Memastikan bahwa sistem perangkat
lunak dapat diandalkan, aman, dan
berfungsi seperti yang diharapkan
4. Komponen SCM
• Item konfigurasi: komponen infrastruktur
atau layanan apa pun yang memerlukan
manajemen untuk mengaktifkan layanan TI
• Kontrol perubahan: proses mengelola
perubahan pada item konfigurasi
• Kontrol versi: proses mengelola berbagai
versi perangkat lunak
• Manajemen rilis: proses mengelola rilis
perangkat lunak ke lingkungan produksi
6. Idenifikasi Konfigurasi
• Proses identifikasi dan pencatatan status dari seluruh
elemen perangkat lunak yang harus dikonfigurasi
dan dikelola oleh tim manajemen konfigurasi
software.
• Elemen-elemen ini dapat berupa kode sumber,
dokumen spesifikasi, rancangan, skrip konfigurasi,
dan perangkat lunak pendukung lainnya.
• Proses identifikasi konfigurasi dapat melibatkan
pemberian label dan nomor identifikasi yang
mencakup nomor rilis, nomor versi, dan nomor
revisi.
7. Kontrol Konfigurasi
• Proses untuk mengelola perubahan pada
perangkat lunak, termasuk perubahan kode
sumber, dokumen spesifikasi, rancangan,
dan konfigurasi perangkat keras.
• Tujuannya: memastikan bahwa perangkat
lunak tetap stabil dan dapat dipercaya, serta
memungkinkan tim pengembang dan
manajemen konfigurasi untuk melacak dan
memeriksa setiap perubahan yang terjadi.
8. Tahap Kontrol Konfigurasi
• Identifikasi: pengumpulan informasi tentang
perubahan, termasuk detail tentang perubahan yang
diusulkan, termasuk jenis dan tujuannya
• Evaluasi: penilaian terhadap dampak perubahan
pada perangkat lunak secara keseluruhan. Ini
melibatkan analisis risiko dan pemilihan perubahan
yang paling layak dilakukan
• Implementasi: penerapan perubahan pada perangkat
lunak, termasuk memperbarui kode sumber,
dokumen spesifikasi, dan lainnya.
9. Catatan Status Konfigurasi
• Alat untuk mencatat informasi tentang
konfigurasi perangkat lunak pada suatu
waktu tertentu, seperti versi, rilis, atau
revisi.
10. Audit Konfigurasi
• Memastikan bahwa konfigurasi perangkat
lunak telah diimplementasikan dengan
benar dan sesuai dengan kebutuhan bisnis
• Audit konfigurasi melibatkan serangkaian
aktivitas untuk memverifikasi dan
mengevaluasi konfigurasi perangkat lunak,
termasuk verifikasi konfigurasi, pengujian
keamanan, pengecekan kepatuhan, dan
verifikasi dokumen.
11. Pentingnya Audit Konfigurasi
• Membantu untuk mengevaluasi
efektivitas dan efisiensi dari sistem
konfigurasi yang digunakan
• Membantu untuk menentukan kepatuhan
terhadap kebijakan dan standar
perusahaan
12. Hubungannya dengan
Manajemen Proses Bisnis
• Manajemen konfigurasi software
membantu mengelola perubahan pada
perangkat lunak, sementara manajemen
proses bisnis membantu mengelola proses
bisnis yang digunakan dalam
pengembangan perangkat lunak.
• Proses bisnis dapat berubah seiring waktu
dan seringkali memerlukan perubahan
pada perangkat lunak.
14. Questionnaire-driven
Configuration
1. Melibatkan pengguna untuk mengisi
kuesioner untuk konfigurasi
2. Cepat dan mudah untuk digunakan
3. Cocok untuk lingkungan yang
terstruktur dan memiliki keterbatasan
4. Tidak cocok untuk lingkungan yang
kompleks dan tidak terstruktur
15. Model-driven Configuration
1. Menggunakan model sebagai
representasi sistem
2. Dapat mensimulasikan dan memvalidasi
sistem
3. Memungkinkan analisis dampak
perubahan pada sistem
4. Memerlukan upaya dan biaya untuk
membuat model
16. Ontology-driven Configuration
1. Menggunakan ontologi sebagai
representasi pengetahuan
2. Memungkinkan penyelesaian masalah
dan pengambilan keputusan yang lebih
baik
3. Memerlukan upaya untuk membuat
ontologi dan memahami domain
17. Architecture-driven
Configuration
1. Berfokus pada arsitektur sistem
2. Dapat meminimalkan kompleksitas dan
meningkatkan fleksibilitas sistem
3. Memerlukan pemahaman yang baik
tentang arsitektur sistem
18. Requirements-driven
Configuration
1. Berfokus pada kebutuhan fungsional dan
non-fungsional dari sistem
2. Memungkinkan pengujian dan validasi
sistem secara lebih baik
3. Memerlukan pemahaman yang baik
tentang kebutuhan sistem dan proses
bisnis yang terkait
19. Semantically-driven
Configuration
1. Menggunakan representasi semantik
untuk konfigurasi sistem
2. Memungkinkan pengambilan keputusan
yang lebih baik dan lebih mudah untuk
dimengerti
3. Memerlukan pemahaman yang baik
tentang bahasa formal dan ontologi
terkait
20. Policy-driven Configuration
1. Berfokus pada kebijakan dan aturan
yang diterapkan pada sistem
2. Memungkinkan pengaturan dan
penerapan kebijakan secara konsisten
3. Memerlukan pemahaman yang baik
tentang kebijakan organisasi dan proses
bisnis terkait
21. Connector-driven
Configuration
1. Berfokus pada konektivitas dan integrasi
sistem
2. Memungkinkan pengembangan dan
penerapan integrasi secara lebih cepat
dan mudah
3. Memerlukan pemahaman yang baik
tentang sistem yang akan diintegrasikan
dan teknologi yang digunakan untuk
integrasi