Software Maintenance Maturity Model
Pengertian Maturity Model
Maturity model adalah suatu metode untuk mengukur level pengembangan manajemen proses, yang berarti adalah mengukur sejauh mana kapabilitas manajemen tersebut. Seberapa bagusnya pengembangan atau kapabilitas manajemen tergantung pada tercapainya tujuan-tujuan COBIT yang Sebagai contoh adalah ada beberapa proses dan sistem kritikal yang membutuhkan manajemen keamanan yang lebih ketat dibanding proses dan sistem lain yang tidak begitu kritikal. Di sisi lain, derajat dan kepuasan pengendalian yang dibutuhkan untuk diaplikasikan pada suatu proses adalah didorong pada selera resiko Enterprise dan kebutuhan kepatuhan yang diterapkan.
Secara umum, maturity model biasanya memiliki ciri sebagai berikut :
1. Proses pengembangan dari suatu organisasi disederhanakan dan dideskripsikan dalam wujud tingkatan kematangan dalam jumlah tertentu (biasanya empat hingga enam tingkatan).
2. Tingkatan kematangan tersebut dicirikan dengan beberapa persyaratan tertentu yang harus diraih.
3. Tingkatan-tingkatan yang ada disusun secara sekuensial, mulai dari tingkat inisial sampai pada tingkat akhiran (tingkat terakhir merupakan tingkat kesempurnaan).
4. Selama pengembangan, sang entitas bergerak maju dari satu tingkatan ke tingkatan berikutnya tanpa boleh melewati salah satunya, melainkan secara bertahap berurutan.
Pengertian Software Maintenance
Perawatan perangkat lunak (software maintenance) adalah aktivitas yang dimulai sejak perangkat lunak mulai digunakan (after delivery) hingga akhirnya perangkat lunak tersebut tidak dapat digunakan lagi (retired). Tujuannya adalah untuk memperbaiki kesalahan (to correct), meningkatkan kinerja/fungsionalitas (to improve), menyesuaikan dengan lingkungan (to adapt), atau untuk mencegah terjadinya kesalahan (to prevent).
Proses Software Maintenance
Bagian ini menjelaskan proses pemeliharaan perangkat lunak enam sebagai :
1. Proses implementasi mengandung persiapan perangkat lunak dan kegiatan transisi, seperti konsepsi dan penciptaan rencana pemeliharaan; persiapan untuk menangani masalah yang diidentifikasi selama pengembangan, dan tindak lanjut pada manajemen produk konfigurasi.
2. Masalah dan proses modifikasi analisis, yang dieksekusi sekali aplikasi telah menjadi tanggung jawab kelompok perawatan. Programmer pemeliharaan harus menganalisa setiap permintaan, konfirmasikan (dengan mereproduksi situasi) dan periksa validitas, menyelidiki dan mengusulkan solusi, mendokumentasikan permintaan dan usulan solusi, dan akhirnya, memperoleh semua otorisasi yang diperlukan untuk menerapkan modifikasi.
3. Proses mempertimbangkan pelaksanaan modifikasi sendiri.
4. Penerimaan proses modifikasi, dengan mengkonfirmasi karya yang dimodifikasi dengan individu yang mengajukan permohonan dalam rangka untuk memastikan modifikasi memberikan solusi.
5. Proses migrasi (migrasi platform, misalnya) luar biasa, dan bukan merupakan bagian dari tugas pemeliharaan sehari-hari. Jika perangkat lunak harus porting ke platform lain tanpa ada perubahan dalam fungsi, proses ini akan digunakan dan tim proyek pemeliharaan kemungkinan akan ditugaskan untuk tugas ini.
6. Akhirnya, proses pemeliharaan lalu, juga suatu peristiwa yang tidak terjadi setiap hari, adalah pensiun dari sebuah software.
Ada sejumlah proses, kegiatan dan praktek yang unik untuk pengelola, misalnya :
a. Transisi : Urutan terkontrol dan terkoordinasi kegiatan selama sistem ditransfer progresif dari pengembang untuk pengelola.
b. Service Level Agreements (SLA) dan kontrak pemeliharaan khusus (domain-spesifik) dinegosiasikan oleh pengelola.
c. Modifikasi Permintaan dan Masalah Meja Laporan Bantuan : Proses penanganan masalah yang digunakan oleh pengelola untuk memprioritaskan, dokumen dan rute permintaan yang mereka terima.
d. Modifikasi Permintaan Penerimaan / Penolakan : Permintaan modifikasi bekerja lebih dari ukuran tertentu / usaha / kompleksitas mungkin ditolak oleh pengelola dan dialihkan untuk pengembang.
Aspek Kegiatan Maintenance
Aktivitas pemeliharaan yang pertama terjadi karena asumsi yang salah pada saat uji coba yaitu kesalahan-kesalahan tersembunyi pada perangkat lunak yang cukup besar. Menurut O’Brien (2005) bahwa dibutuhkan pembagian kegiatan maintenance ke dalam empat aspek. Pemeliharaan perangkat lunak dapat dibedakan menjadi :
1. Adaptive : Diartikan sebagai modifikasi sistem untuk mengatasi perubahan lingkungan software. Aktivitas ini terjadi karena pertumbuhan atau perkembangan perangkat lunak atau perangkat keras sehingga memerlukan modifikasi dari perangkat lunak yang telah dibuat.
2. Perfective : Diartikan sebagai tindakan baru implementasi atau perubahan pengguna peralatan yang mana memperhatikan fungsi tambahan untuk software. Aktivitas ini terjadi pada saat perangkat lunak yang telah dibuat dan dilakukan uji coba kemudian dipergunakan oleh user. Setelah dipergunakan oleh user mungkin timbul permintaan tambahan fungsi sesuai dengan keinginan pemakai.
3. Corrective : Diartikan sebagai deteksi dan perbaikan masalah, yang ditemukan oleh pengguna. Aktivitas ini terjadi pada saat produk dipakai dan hasil yang didapat oleh pamakai baik berupa kesalahan yang timbul maupun kesalahan dalam bentuk keluaran yang tidak sesuai.
4. Preventive : Diartikan sebagai peningkatan kemampuan software atau reabilitas untuk menghindari masalah di masa yang akan datang. Pemeliharaan yang terakhir dilakukan untuk menghadapi kemajuan perangkat lunak atau perangkat keras di masa mendatang, umpamanya penambahan fungsi-fungsi atau melengkapi fungsi-fungsi yang telah ada.
1. Pemeliharaan korektif : Perbaikan dari kerusakan yang tak terduga.
2. Pemeliharaan preventif : Perawatan berkala.
3. Pemeliharaan prediktif : Pemeriksaan dini pada kegagalan dan perencanaan perbaikan.
Teknik - Teknik Maintenance
Software maintenance yang efektif dilakukan dengan teknik yang spesifik atau khusus untuk maintenance. Beberapa teknik praktis yang biasa dipakai maintener :
1. Program Comprehension.
2. Re-engineering.
3. Reverse engineering.
4. Impact Analysis.
0 comments