Selasa, Maret 25, 2008

Memahami konsep CMM (bukan : Cwi Mie Malang)

Coba bayangkan dalam sebuah pertandingan bola.

Ketika sebuah bola ditendang oleh seorang pemain, kemudian bola tersebut melayang bebas ke arah sebuah tim apa yang terjadi? Mungkin Anda pernah melihat sebuah pertandingan sepak bola yang ada di kampung dan diadakan dalam rangka ulang tahun kemerdekaan, dimana para pemainnya adalah para amatir yang terdiri dari pemuda-pemuda kampung. Bagaimana cara mereka bertanding? Ya tentu saja ketika ada bola yang harus diperebutkan, mungkin mereka akan serta merta berlarian saling merebutkan bola. Atau mungkin ada pula yang dengan tenang-tenang saja berjalan-jalan tanpa melakukan apa-apa. Ketika bola tersebut ditendang lagi, mungkin mereka juga akan melakukan hal yang berbeda dari sebelumnya. Kadang, bisa jadi seorang kiper bisa merangkap menjadi penyerang :D

Coba bandingkan dengan pertandingan sepak bola dunia, misalnya Piala Dunia dimana pemain-pemainnya adalah pemain profesional. Ketika sebuah bola ditendang, mungkin setiap pemain akan langsung pindah ke posisi yang semestinya. Kadang mungkin mereka gagal bermain dengan baik, tapi selalu saja mereka akan mencoba melakukan sesuatunya dengan benar sesuai dengan porsinya masing-masing.

Tim kesebelasan profesional jelas lebih matang (mature) dibandingkan dengan tim kesebelasan cap kampung tadi. Mereka akan selalu bermain dengan baik, melakukan regenerasi dan selalu mencari cara-cara baru untuk bermain lebih baik lagi.

Sama halnya dengan membangun sebuah perangkat lunak. Sebuah organisasi pengembang profesional yang berkualitas bagus tentu berbeda dengan pengembang perangkat lunak kelas amatir. CMM (capability maturity model) mencoba menangkap perbedaan-perbedaan itu. CMM berusaha keras untuk menciptakan pengembang software yang 'matang' atau lebih matang dibandingkan sebelum menerapkan CMM.

CMM di deskripsikan menjadi 5 level yang bisa dilihat di gambar berikut :

Level 1 : Initial

Perusahaan dengan predikat CMM - Level 1, berkarakter : Pengelolaan yang tidak menentu, tidak dikelola dengan baik, tidak ada dokumentasi, proyek terkadang melebihi deadline dan tidak terencana.

Level 2 : Repeatable

Pada level ini, perusahaan mulai sadar akan pentingnya kualitas. Tidak hanya kualitas pada software sebagai ‘produk’ tapi juga kualitas pada cara penanganan proyek. Mulai memperhitungkan kelayakan proyek terhadap kemampuan organisasi (perusahaan).

Mulai mendokumentasi perencanaan dan perhitungan cost, dan menjadikannya rujukan di proyek-proyek selanjutnya.

Di level ini mulai ada Key Process Area (KPA) :

  • Requiremets Analisys
  • Software Project Planning
  • Software Project Tracking
  • Software sub-contract management (out-sourcing)
  • Software Quality Assurance
  • Software Configuration Management

Level 3 : Defined

Tidak hanya mulai sadar, tapi sudah mulai melakukan peningkatan-peningkatan baik dari segi organisational atau di level project quality. Istilah kerennya mulai “Tercerahkan”.

Tak hanya pemuasan konsumen (stake holder) tapi juga ada pencerahan untuk developer, training tentang kesadaran kualitas (quality awareness) dan penerapannya di semua divisi.

KPA-nya meliputi :

  • Organisation Process Focus
  • Organisation Process Definition
  • Training Program
  • Integrated Software Management
  • Software product re-engineering
  • Inter-group coordination
  • Peer Reviews

Level 4 : Managed

Peningkatan kualitas sudah membudaya, sehingga kualitas proyek sudah bisa di prediksi sejak awal. Statistik sudah mulai diterapkan untuk mengukur dan mengontrol variasi proyek dan diterapkan di semua divisi organisasi.

KPA :

  • Quantitative Process Management
  • Software Quality Management

Level 5 : Optimized

Kualitas adalah segalanya, di semua lini organisasi sudah aware akan pentingnya kualitas baik untuk operasional organisasi ataupun terhadap proyek yang ditangani.

KPA :

  • Defect Prevention
  • Technology Change Management
  • Process Change Management
Intinya point CMM pada dasarnya adalah bagimana mengelola sebuah software process.

Bagaimana menerapkan CMM dalam organisasi kita? Ada beberapa cara, diantaranya :
1. Menyewa assesor resmi yang telah bersetifikat CMM untuk conduct evaluasi secara formal. Misalnya untuk memenangkan tender pemerintah, untuk mencari sub kontraktor pengembang software yang berkualitas baik atau hanya untuk pure development shop --> memberi kesan kualitas yang baik kepada klien.
2. Mengirim pegawai/karyawan untuk mengikuti training CMM kemudian melakukan internal asessement
dll.

Referensi :
- Kim Caputo, CMM Implementation Guide : Choreographing Software Process Improvement, Addison Wesley, 1998
- http://goblog.wordpress.com/2006/11/28/cmm-is-a-religion/

» Baca juga artikel yang berkaitan:

3 komentar. Sampeyan sudah?:

elyn mengatakan...

wah RPL bangged... :p
mantabs deh d serap semua materinya walaupun dosennya membosankan :D
btw punya slidenya(materi)ga? d share donk

elyn mengatakan...

wah RPL bangged... :p
mantabs deh d serap semua materinya walaupun dosennya membosankan :D
btw punya slidenya(materi)ga? d share donk

mazirwan mengatakan...

mosok dosennya membosankan seh?
materi slide ada nich... mau dikirm ke mana?