Friday, September 25, 2009

Capability Maturity Model

By:

Mungkin ada pernah mendengar atau membaca tentang Capability Maturity Model (CMM) pada profil perusahaan yang bergerak dalam software development. Dan perusahaan itu menyebutkan dalam informasi profilnya telah mencapai CMM level 4.

CMM ini merupakan mekanisme kualifikasi sebuah Software Development House yang dapat memberikan gambaran tentang kemampuan perusahaan tersebut dalam melakukan development software. Artikel ini adalah bagian pertama dari tulisan bersambung mengenai Capability Maturity Model (CMM). Tujuan penulisan dokumen ini adalah untuk memberikan gambaran sederhana tentang CMM beserta kegunaanya.
Capability Maturity Model adalah sebuah model yang dikembangkan oleh Software Engineering Institute atas permintaan Departement of Defense(DOD) Amerika Serikat dengan tujuan membuat ujian saringan masuk bagi kontraktor yang mendaftarkan diri untuk menjadi konsultan DOD. Capability diterjemahkan menjadi kapabilitas yang berarti kemampuan yang bersifat laten. Capability lebih mengarah kepada integritas daripada kapabilitas itu sendiri. Definisi integritas adalah kemampuan untuk menepati janji. Maturity berarti matang atau dewasa. Matang merupakan hasil proses. Dewasa merupakan hasil pertumbuhan. Model didefinisikan sebagai suatu penyederhanaan yang representatif terhadap keadaan di dunia nyata. Jadi secara keseluruhan CMM dapat didefinisikan sebagai berikut : CMM adalah sebuah penyederhanaan yang representatif yang digunakan untuk mengukur tingkat kematangan sebuah software development house dalam menyajikan/membuat/mengembangkan perangkat lunak sebagaimana telah dijanjikan secara tertulis dalam perjanjian kerjasama.Keyword utama dari CMM adalah mengukur. Mengukur didefinisikan sebagai suatu proses untuk memetakan sebuah kondisi ke dalam sebuah skala/ukuran. Berbicara mengukur kita berbicara :
•Apa yang diukur (parameter)

•Bagaimana cara mengukurnya(metode)

•Bagaimana standard penilaiannya(skalapenilaian)

• Bagaimana interpretasinya (artinya bagi manusia)

Parameter adalah attribut dari sebuah entity yang akan diukur. Interpretasi adalah pemetaan dari hasil pengukuran ke dalam bahasa manusia. Mungkin sulit dipahami untuk itu saya beri ilustrasi sebagai berikut : Nilai rata-rata IP mahasiswa perguruan tinggi X adalah 3,5 dari nilai maximum 4. Fakta di atas dapat diinterpretasikan sebagai:
•Mahasiswanya pintar

•Materinya terlalu dangkal

•Mahasiswa jago nyontek

•Nilai bisa dibeli

Untuk mengukur tingkat kematangan sebuah organisasi tidaklah mudah. Proses ini melibatkan serangkaian parameter untuk diukur. Mekanisme yang digunakan adalah mekanisme oberservasi oleh lembaga sertifikasi independen yang melakukan pengamatan terhadap organisasi yang akan dinilai. Untuk menilainya digunakan metode analitical hirarki process (AHP). Sebagai ilustrasi dari metode AHP adalah sistem SKS di kampus kita masing-masing yaitu dengan ada sebuah parameter, nilai dan bobot (sks matakuliah)

Capability Maturity Model membuat 5 level/skala kematangan yaitu :
•Initial
•Repeatable
•Defined
•Managed
• Optimized

Level initial bercirikan sebagaiberikut:

- Tidak adanya manajemen proyek

- Tidak adanya quality assurance

- Tidak adanya mekanisme manajemen perubahan(change management)

- Tidak ada dokumentasi

- Adanya seorang guru/dewa yang tahu segalanya tentang perangkat lunak yang dikembangkan.
- Sangat bergantung pada kemampuan individual

Level Repeatable bercirikan sebagai berikut:

• Kualitas perangkat lunak mulai bergantung pada proses bukan pada orang


Ada manajemen proyek sederhana

•Ada qualitya ssurance sederhana

•Ada dokumentasi sederhana

Ada software configuration management sederhana

•Tidak adanya knowledge management

•Tidak ada komitment untuk selalu mengikuti SDLC dalam kondisi apapun


•Tidak ada statiskal control untuk estimasi proyek

• Rentan terhadap perubahan struktur organisasi.

Level Defined bercirikan:

•SDLC sudah dibuat dan dibakukan

•Ada komitmen untuk mengikuti SDLC dalam keadaan apapun

• Kualitas proses dan produk masih bersifat kwalitatif bukan kualitatif (tidak terukur hanya kira-kira saja)

•Tidak menerapkan Activity Based Costing.

• Tidak ada mekanisme umpan balik yang baku

LevelManagedbercirikan:

• Sudah adanya Activity Based Costing dan dan digunakan untuk estimasi untuk proyekberikutnya

• Proses penilaian kualitas perangkat lunak dan proyek bersifat kuantitatif.
• Terjadi pemborosan biaya untuk pengumpulan data karena proses pengumpulan data masihdilakukansecaramanual

• Cenderung bias. Ingat efect thorne, manusia ketika diperhatikan maka prilakunya cenderungberubah.

•Tidak adanya mekanisme pencegahan defect

• Ada mekanisme umpan balik.

Level Optimized bercirikan :

•Pengumpulan data secara automatis

•Adanya mekanisme pencegahan defect

•Adanya mekanisme umpan balik yang sangat baik

• Adanya peningkatan kualitas dari SDM dan peningkatan kualitas proses.

Ekivalensi CMM dengan programming. Programming atau pembuatan program dapat dibuat kesamaannya dengan CMM. Programming in small (coding red) ekivalen dengan CMM level 1. Programming in large (proyek managemen, documentasi, dll) ekivalen dengan CMM level 2. Keduanya dapat dikelompokan menjadi programming as art proccess karena tidak memiliki unsur engineering. Unsur engineering yang perlu ditambahkan adalah standarisasi (pembakuan) dan pengukuran. Jika sudah dilakukan standarisasi maka ekivalen dengan CMM level 3. Jika sudah ada pengukuran maka ekivalen dengan CMM level 4. Jika sudah sampai di level 4 maka programming dapat dianggap sebagai engineering process. Keseluruhan level dari 1-4 dapat dipandang sebagai programming as discreet process dimana tidak ada pengembangan berkelanjutan (life time quality improvment) . Baru pada level 5 programming dapat dianggap sebagai continues process dimana peningkatan kualitas sumber daya manusia dan proses dilakukan secara terus menerus.

Kegunaan CMM meliputi:

• Menilai tingkat kematangan sebuah organisasi pengembang perangkat lunak
• Memfilter kontraktor yang akan menjadi pengembang perangkat lunak
• Memberikan arah untuk peningkatan organisasi bagi top managemen di dalam sebuah organisasi pengembang perangkat lunak

• Sebagai alat bantu untuk menilai keunggulan kompetitif yang dimiliki sebuah perusahaan dibandingkan perusahaan pesaingnya.

Skala maturity dari model COBIT

Writing by shelma on Friday, 20 of March , 2009 at 2:51 pm

Sebelum membahas skala maturity, kita bahas dulu apa yang dimaksud COBIT. COBIT kependekan dari Control Objective for Information and Related Technology. COBIT adalah suatu standart/framework yang diterbitkan oleh ISACA untuk audit Teknologi Informasi. lalu apa yang dimaksud dengan skala maturity ? skala maturity merupakan alat bantu bagi perusahaan / pihak pengelola untuk melakukan self assessment pengelolaan TI yang diterapkan. Maturity model dapat digunakan untuk memetakan :

1. Status pengelolaan TI perusahaan pada saat itu.

2. Status standart industri dalam bidang TI saat ini (sebagai pembanding)

3. status standart internasional dalam bidang TI saat ini (sebagai pembanding)

4. strategi pengelolaan TI perusahaan (ekspetasi perusahaan terhadap posisi pengelolaan TI perusahaan)

Tingkat kemampuan pengelolaan TI pada skala maturity dibagi menjadi 6 level :

· Level 0(Non-existent); perusahaan tidak mengetahui sama sekali proses teknologi informasi di perusahaannya

· Level 1(Initial Level); pada level ini, organisasi pada umumnya tidak menyediakan lingkungan yang stabil untuk mengembangkan suatu produk baru. Ketika suatu organisasi kelihatannya mengalami kekurangan pengalaman manajemen, keuntungan dari mengintegrasikan pengembangan produk tidak dapat ditentukan dengan perencanaan yang tidak efektif, respon sistem. Proses pengembangan tidak dapat diprediksi dan tidak stabil, karena proses secara teratur berubah atau dimodifikasi selama pengerjaan berjalan beberapa form dari satu proyek ke proyek lain. Kinerja tergantung pada kemampuan individual atau term dan varies dengan keahlian yang dimilikinya.

· Level 2(Repeatable Level); pada level ini, kebijakan untuk mengatur pengembangan suatu proyek dan prosedur dalam mengimplementasikan kebijakan tersebut ditetapkan. Tingkat efektif suatu proses manajemen dalam mengembangankan proyek adalah institutionalized, dengan memungkinkan organisasi untuk mengulangi pengalaman yang berhasil dalam mengembangkan proyek sebelumnya, walaupun terdapat proses tertentu yang tidak sama. Tingkat efektif suatu proses mempunyai karakteristik seperti; practiced, dokumentasi, enforced, trained, measured, dan dapat ditingkatkan. Product requirement dan dokumentasi perancangan selalu dijaga agar dapat mencegah perubahan yang tidak diinginkan.

· Level 3(Defined Level); pada level ini, proses standar dalam pengembangan suatu produk baru didokumentasikan, proses ini didasari pada proses pengembangan produk yang telah diintegrasikan. Proses-proses ini digunakan untuk membantu manejer, ketua tim dan anggota tim pengembangan sehingga bekerja dengan lebih efektif. Suatu proses yang telah didefenisikan dengan baik mempunyai karakteristik; readiness criteria, inputs, standar dan prosedur dalam mengerjakan suatu proyek, mekanisme verifikasi, output dan kriteria selesainya suatu proyek. Aturan dan tanggung jawab yang didefinisikan jelas dan dimengerti. Karena proses perangkat lunak didefinisikan dengan jelas, maka manajemen mempunyai pengatahuan yang baik mengenai kemajuan proyek tersebut. Biaya, jadwal dan kebutuhan proyek dalam pengawasan dan kualitas produk yang diawasi.

· Level 4(Managed Level); Pada level ini, organisasi membuat suatu matrik untuk suatu produk, proses dan pengukuran hasil. Proyek mempunyai kontrol terhadap produk dan proses untuk mengurangi variasi kinerja proses sehingga terdapat batasan yang dapat diterima. Resiko perpindahan teknologi produk, prores manufaktur, dan pasar harus diketahui dan diatur secara hati-hati. Proses pengembangan dapat ditentukan karena proses diukur dan dijalankan dengan limit yang dapat diukur.

· Level 5(Optimized Level); Pada level ini, seluruh organisasi difokuskan pada proses peningkatan secara terus-menerus. Teknologi informasi sudah digunakan terintegrasi untuk otomatisasi proses kerja dalam perusahaan, meningkatkan kualitas, efektifitas, serta kemampuan beradaptasi perusahaan. Tim pengembangan produk menganalisis kesalahan dan defects untuk menentukan penyebab kesalahannya. Proses pengembangan melakukan evaluasi untuk mencegah kesalahan yang telah diketahui dan defects agar tidak terjadi lagi.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home