Capability Maturity Model (CMM)
Apa Itu CMM
- Capability adalah 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.
- Model didefinisikan sebagai suatu penyederhanaan yang representatif terhadap keadaan di dunia nyata.
Jadi secara umum Capability Maturiry Model (CMM) adalah suatu model kematangan kemampuan (kapabilitas) proses yang dapat membantu pendefinisian dan pemahaman proses-proses suatu organisasi.
Pengertian CMM Secara Harfiah:
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. Model didefinisikan sebagai suatu penyederhanaan yang representatif terhadap keadaan di dunia nyata. Jadi secara keseluruhan CMM dapat didefinisikan sebagai berikut : CMM adalah sebuah penyederhanaan representatif yang digunakan untuk mengukur tingkat kematangan sebuah software development house dalam menyajikan, membuat, dan mengembangkan perangkat lunak sebagaimana telah dijanjikan secara tertulis dalam perjanjian kerja sama.
Keyword utama dari CMM adalah mengukur. Mengukur didefinisikan sebagai suatu proses untuk memetakan sebuah kondisi ke dalam sebuah skala/ukuran.
- Nilai-nilai yang dilihat dalam pengukuran CMM:
- Apa yang diukur (Parameter)
- Bagaimana cara mengukurnya (Metode)
- Bagaimana standar penilaiannya (Skala Penilaian)
- Bagaimana Interpretasinya (Bagi Manusia)
Perkembangan CMM
CMM dikembangkan pertama kali oleh SEI (Software Engineering Institude) yang berbasis di Carnegie Mellon University in Pittsburgh berdasarkan pesanan dari Departemen Pertahanan Amerika Serikat. CMM awalnya ditujukan sebagai suatu alat untuk secara objektif menilai kemampuan kontraktor pemerintah untuk menangani proyek perangkat lunak yang diberikan.
Walaupun berasal dari bidang pengembangan perangkat lunak, model ini dapat juga diterapkan sebagai suatu model umum yang membantu pemahaman kematangan kapabilitas proses organisasi di berbagai bidang. Misalnya rekayasa perangkat lunak, rekayasa sistem, manajemen proyek, manajemen resiko, teknologi informasi, serta manajemen sumber daya manusia.
CMM dirumuskan oleh Software Engineering Institute di Carnegie Mellon University dengan mengamati proyek pembangunan perangkat lunak di seluruh dunia, mulai dari proyek kecil sampai proyek raksasa. Pengalaman yang dimiliki organisasi tersebut dirangkum dalam seperangkat aturan yang disebut CMM.
CMM dan ISO
Jika disetarakan dengan standar yang ditetapkan oleh Badan Standarisasi Internasional (ISO) maka CMM dapat disetarakan dengan ISO 9001 (bagian dari seri ISO 9000). Perbedaan yang cukup mendasar antara CMM dan ISO 9001 adalah pada fokus item pengujian atas sebuah proyek pengembangan aplikasi perangkat lunak komputer.
ISO 9001 lebih fokus pada standar minimum yang wajib dipenuhi dalam proses pengembangan software yang berkualitas. Sedangkan CMM dikembangkan sebagai framework yang dapat digunakan secara berkelanjutan dalam peningkatan proses dibandingkan hanya sekedar menetapkan standar minimum yang harus dipenuhi dalam memenuhi sebuah software yang berkualitas.
Level dalam Software Proses Maturity
Karakteristik CMM
- Initial
Ciri-ciri dari fungsi initial adalah tidak ada manajemen proyek, tidak adanya quality assurance, tidak adanya mekanisme manajemen perubahan (change management), tidak ada dokumentasi, adanya seorang ahli yang tau segalanya tentang perangkat lunak yang dikembangkan, dan sangat bergantung pada kemampuan individual.
Sukses pada level ini didasarkan pada kerja keras dan kompetensi yang tinggi orang-orang yang ada di dalam organisasi tersebut atau dapat juga dikatakan perusahaan ini belum menjalankan tujuan dan sasaran yang telah didefinisikan oleh CMMI.
- Repeatable
Ciri-ciri dari fungsi repeatable adalah kualitas perangkat lunak mulai bergantung pada proses bukan pada oprang, ada manajemen proyek sederhana, ada quality assurance sederhana, ada dokumen sederhana, ada software configuration management sederhana, tidak adanya knowledge management, tidak adanya komitmen untuk selalu mengikuti SDLC dalam kondisi apapun, tidak adanya stastikal control untuk estimasi proyek dan rentan perubahan struktur organisasi.
Semua pekerjaan yang berhubungan dengan dengan proses-proses yang terjadi saling menyesuaikan diri agar dapat diambil kebijakan. Setiap orang yang berada pada proses ini dapat mengakses sumber daya yang cukup untuk mengerjakan tugas masing-masing. Setiap orang terlibat aktif pada proses yang membutuhkan. Setiap aktivitas dan hasil pekerjaan berupa memonitor, mengontrol, meninjau, serta mengevaluasi untuk menjaga kekonsistenan pada deskripsi yang telah diberikan.
- Defined
Ciri-ciri dari level Defined adalah SDLC sudah ditentukan, ada komitmrn untuk mengikuti SDLC dalam keadaan apapun, kualitas proses dan produk masih bersifat kualitatif atau hanya perkiraan saja, idak menerapkan Activity Based Costing, dan tidak adanya mekanisme umpan balik yang baku.
Proses ini dicirikan dengan terjadinya penyesuaian dari kumpulan proses standar sebuah organisasi menurut pedoman-pedoman pada organisasi tersebut, menyokong hasil kerja, mengukur, dan proses menambah informasi lain menjadi milik organisasi.
- Managed
Proses ini merupakan sasaran kuantitatif untuk kualitas dan kinerja proses ditetapkan dan digunakan sebagai kreteria dalam manajemen proses.
- Optimizing
Pengumpulan data secara automatis, adanya mekanisme pencegahan defect, adanya mekanisme umpan balik yang sangat baik, dan adanya peningkatan kualitas dari SDM dan juga peningkatan kualitas proses.
Pada proses ini suatu organisasi telah mencapai seluruh specific dan generic goals yang ada di Level 2, 3, 4, dan 5. ML5 fokus kepada peningkatan proses secara berkesinambungan melalui inovasi teknologi.
Key Process Area (KPA) CMM
Ada Key Process Area (KPA) dalam masing-masing tingkat kematangan yang mencirikan tingkat itu, yaitu :
- Tujuan
- Komitmen
- Kemampuan
- Pengukuran
- Verifikasi
Ciri-Ciri CMM
Secara umum CMM memiliki ciri-ciri berikut:
- Proses pengembangan dari suatu organisasi disederhanakan dan dideskripsikan dalam wujud tingkatan kematangan dalam jumlah tertentu (biasanya empat hingga enam tingkatan)
- Tingkatan kematangan tsb dicirikan dengan beberapa persyaratan tertentu yang harus diraih
- Tingkatan-tingkatan yang ada disusun secara sekuensial, mulai dari tingkat inisial sampai pada tingkat akhiran (tingkat terakhir merupakan tingkat kesempurnaan)
- Selama pengembangan, sang entitas bergerak maju dari satu tingkatan ke tingkatan berikutnya tanpa boleh melewati salah satunya, melainkan secara bertahap berurutan.
Bagaimana penerapan CMM?
- Mempekerjakan CMM certified assessor untuk memandu evaluasi secara formal
- Untuk mendapatkan proyek pemerintahan
- Untuk memperoleh subkontraktor software yang berkualitas
- Untuk meyakinkan client terhadap kualitas dari software yang dihasilkan.
- Mengirim resource dari internal organisasi untuk mengikuti CMM training, untuk kemudian memimpin assessment di internal organisasi
- Menggunakan CMM sebagai sekumpulan panduan dan menerapkannya sesuai dengan kebutuhan.
Actors dan Istilah dalam implementasi CMM
- SCAMPI : Standard CMMI Appraisal Method for Process Improvement, identify strength and weakness of current process.
- Lead Appraiser (LA)
- Appraisal Team Member (ATM)
- Functional Area Representative (FAR)
Dalam SCAMPI (LA) akan merekrut beberapa orang dari perusahaan kita untuk membantunya mengaudit. Tim auditor ini disebut Appraisal Team Member (ATM). Perusahaan kita juga juga harus menyediakan tim yang akan diwawancarai oleh ATM, yang disebut dengan Functional Area Representative (FAR).
FAR merupakan perwakilan dari berbagai departemen dalam organisasi. Mungkin nantinya akan ada kelompok FAR dari procurement, tim project, network administrator, programmer, tester, dan lainnya. ATM dibutuhkan untuk menterjemahkan aturan CMMI ke dalam SOP perusahaan. Misalnya, dalam CMMI ada aturan mengenai analisa kebutuhan, yaitu process area Requirement Management (REQM) dan Requirement Development (RD).
Process area ini di perusahaan A mungkin diimplementasikan dengan dokumen Software Requirement Specification (SRS), tapi di perusahaan B mungkin namanya User Requirement Specification (URS), dan di perusahaan C berupa Use Case Diagram dan User Stories. Tugas ATM adalah menjembatani antara istilah CMMI dan istilah internal perusahaan.
Wawancara ATM untuk setiap proses area, dengan bertanya apakah FAR sudah mengimplementasikan. Bila sudah, mana buktinya. Bukti ini bisa berupa hardcopy, bisa juga softcopy. Kita bisa mengajukan email sebagai evidence. Bahkan kita juga bisa menunjukkan log Subversion atau item bug dalam aplikasi bug tracker. Berdasarkan hasil wawancara FAR oleh ATM, LA akan memutuskan ML berapa yang pantas untuk perusahaan kita. Semua hasil SCAMPI Class A akan dilaporkan pada SEI dan akan dipublikasikan di internet
Faktor-faktor yang mempengaruhi pelaksanaan CMM
- Manajemen Perubahan
Manajemen perubahan merupakan kunci sukses dari program perbaikan proses, beserta mekanisme-mekanisme untuk memfasilitasi pengembangan , implementasi , dan penerapan proses , metode , dan alat-alat . ( Kitson , 1992)
- Menyiapkan prioritas sesuai dengan visi perusahaan dan strategi bisnis .
- Koordinasi Proses Organisasi
- Kinerja dari Waktu pemasaran,kualitas , biaya , dan hasil produk akan didukung oleh proses organisasi .
- Kepemilikan proses
Seorang pemilik proses yaitu Software Engineering Process Group (SEPG) bertanggung jawab atas efektivitas proses dan efisiensi , metode , dan alat. Mengetahui bahwa manajer proyek dan pemilik proses mungkin memiliki pandangan yang bertentangan, maka kebijakan harus dalam bentuk tertulis untuk menangani konflik tersebut . Dalam hal terjadinya jalan buntu antara proyek manajer dan pemilik proses , keduanya akan menyajikan analisis risiko ke Komite Eksekutif untuk persetujuan akhir dari proses yang telah di sesuaikan .
- Kesadaran
Sebuah aspek penting dalam implemetasi dari model ini adalah untuk membuat seluruh organisasi menyadari inisiatif dan proses . Hal ini dapat dicapai melalui seminar dan lokakarya .
- Pedoman rapat
Dalam rangka memfasilitasi pelaksanaan kegiatan kelompok kerja , sejumlah pertemuan membutuhkan pemandu yang mana petunjuk diperlukan untuk menetapkan kebijakan. (Laporte , 1997) Fasilitator dalam pertemuan tersebut memainkan peran yang sangat penting menjelaskan hasil pada akhir pertemuan.
- Pengambilan Keputusan
Sebuah metode partisipatif pengambilan keputusan dengan mengacu pada proses perbaikan akan sangat membantu dalam menangkap praktek-praktek terbaik dari berbagai kelompok sehingga memperkaya proses organisasi dan kualitas produk dan mengurangi waktu pemasaran. ( Paulk , 1993)
- Tim Evaluasi
Survei periodik untuk mengevaluasi efisiensi tim akan menjadi alat yang efektif untuk meningkatkan kemampuan. Survey tersebut (Pfeffer, 1998) dapat mengatasi masalah berikut:
- Tujuan dan sasaran
- Pemanfaatan sumber daya
- Kepercayaan dan resolusi konflik
- Kontrol dan kepatuhan terhadap prosedur
- Komunikasi antarpribadi
- Pemecahan masalah
- Eksperimentasi dan kreativitas .
Hal ini akan membantu dalam memberikan masukan yang diperlukan pada waktu yang tepat untuk meningkatkan kemampuan pengetahuan Manajemen organisasi.
Kegunaan CMM
- Memfilter perusahaan mana yang berhak ikutan tender.
- Menentukan arah pengembangan software house (yang dikembangkan software housenya bukan software) yang paling efektif dalam meningkatkan kualitas proses (bukan kualitas product).
Implementasinya = kebijakan manajemen.
Contohnya :
- Standarisasi
- Pelatihan
- Penggunaan source control dan bug management
- Pembuatan dokument perencanaan dan design
- Pengukuran
- Penerapan sdlc
CMM dan CMMI
Pada tahun 2000 CMM dileburkan ke dalam CMMI (Capability Maturity Model Integration). Peleburan ini disebabkan karena adanya kritik bahwa pengaplikasian CMM di pengembangan perangkat lunak khususnya bisa menimbukan masalah karena model CMM yang belum terintegrasi di dalam dan di seantreo organisasi.
Ini kemudian memunculkan beban biaya dalam hal pelatihan, penaksiran kinerja, dan aktifitas perbaikan. Namun CMM masih tetap digunakan sebagai model acuan teoritis di ranah publik untuk konteks yang berbeda. CMM sendiri telah diganti namanya menjadi SE-CMM (Software Engineering CMM).
CMMI
Menurut Dennis M. Ahern, Aaron Clouse, dan Richard Turner, dalam buku mereka yang berjudul "CMMI Distilled: A Practical Introduction to Integrated Process Improvement", CMMI (Capability Maturity Model Integration) adalah suatu pendekatan yang berfungsi untuk meningkatkan proses piranti lunak (software process) di dalam organisasi agar menjadi lebih efisien dan efektif. CMMI merupakan salah satu model kematangan (maturity model) yang digunakan untuk meningkatkan proses (Process improvement) dalam organisasi.
Saat ini terdapat dua bidang minat yang dicakup oleh model CMMI: development (pengembangan) dan acquisition (akuisisi). Versi terkini CMMI adalah versi 1.2 dengan dua model yang tersedia yaitu CMMI-DEV (CMMI for Development) yang dirilis pada Agustus 2006 dan ditujukan untuk proses pengembangan produk dan jasa, serta CMMI-ACQ (CMMI for Acquisition) yang dirilis pada November 2007 dan ditujukan untuk manajemen rantai suplai, akuisisi, serta proses outsourcing di pemerintah dan industri.
CMMI menangani jalan yang harus ditempuh suatu organisasi untuk bisa mengelola proses yang terpetakan dengan baik, yang memiliki tahapan terdefinisi baik. Asumsi yang berlaku di sini adalah bahwa dalam organisasi yang matang, dimungkinkan untuk mengukur dan mengaitkan antara kualitas produk dan kualitas proses.
Terlepas model mana yang dipilih oleh suatu organisasi, praktik-praktik terbaik CMMI harus disesuaikan oleh masing-masing organisasi tergantung pada sasaran bisnisnya. Organisasi tidak dapat memperoleh sertifikasi CMMI, melainkan dinilai dan diberi peringkat 1-5. Hasil pemeringkatan penilaian ini dapat dipublikasikan jika dirilis oleh organisasi penilainya.
Tujuan dari penerapan CMMI di dalam organisasi adalah untuk meningkatkan proses pengembangan dan perawatan produk-produk piranti lunak organisasi tersebut. Pada masa-masa kompetitif seperti sekarang, ada banyak model-model peningkatan proses (process improvement model) yang dikembangkan untuk menambah daya saing dari berbagai organisasi bisnis.
Sebagai contoh, dengan menerapkan salah satu model peningkatan proses, maka proses pembuatan produk piranti lunak akan memakan waktu yang lebih singkat namun kualitasnya tidak menurun, bahkan bertambah baik. Hal ini menyebabkan penggunaan model-model peningkatan proses menjadi popular di kalangan bisnis.
CMMI merupakan penggabungan dan adaptasi dari banyak varian CMM yang dibesarkan dalam menanggapi tuntutan industri. Jika memahami CMM dari mana asalnya, maka anda akan memahami dasar dari CMMI.
Model CMMI mencakup 22 daerah proses yang mendefinisikan dimensi proses dari model. Daerah-daerah proses ini terbagi menjadi:
- Pengelolaan Proses (Process Management)
- Pengelolaan Proyek (Project Management)
- Perekayasaan (Engineering)
- Dukungan (Support)
Daerah-daerah pengelolaan proses, pengelolaan proyek, dan perekayasaan saling terkait satu sama lain, namun daerah proses dukungan berdiri sendiri.
Area Proses CMMI
Masing-masing area kunci proses, memiliki tujuan yang harus dicapai. Setiap Area Kunci Proses memiliki purpose statement, introductory notes, dan related process Areas.
- Purpose Statement menjelaskan tujuan yang hendak dicapai dalam area kunci proses tersebut.
- Introductory Notes menjelaskan konsep umum yang melatarbelakangi area kunci proses yang dimaksud.
- Related Process Area menjelaskan keterkaitan setiap area kunci proses yang ada.
Selanjutnya, untuk setiap area kunci proses, memiliki specific goals dan generic goals. Pengertian specific goals cenderung kepada tujuan khusus yang ingin dicapai dalam implementasi area kunci proses tersebut. Sedangkan untuk generic goals memiliki pengertian kepada tujuan yang lebih umum. Dari specific goals diturunkan specific practices, yang akan menjadi panduan manual atau operasional, yang harus dilaksanakan untuk mencapai setiap tujuan spesifik/khusus yang terkait. Begitu pula dengan generic practices, merupakan penerapan operasional yang harus dilakukan dalam mencapai generic goals. Untuk setiap generic goals dan specific goals memiliki generic practice elaborations, typical work products dan subpratices.
Typical works products merupakan daftar contoh keluaran atau output dari setiap specific practices. Sedangkan generic practice elaborations menjelaskan panduan bagaimana melaksanakan generic practices pada area kunci proses yang berkaitan. Untuk subpractices (pada specific practices dan generic practices) menjelaskan panduan untuk mengartikan dan melaksanakan specific dan generic practices terkait.
Hal yang dapat kita garis bawahi adalah CMMI merupakan program untuk perbaikan yang terus-menerus (continuous improvement programme). Perbaikan yang terus-menerus merupakan tujuan yang ingin dicapai dalam implementasi CMMI. Bukan hanya sekedar mendapatkan sebuah pengakuan, melainkan suatu pembentukan budaya baru dalam pengembangan perangkat lunak, yakni budaya perbaikan yang terus-menerus. Hal ini berarti, dalam mengimplementasi CMMI, diperlukan suatu perubahan pola pikir yang signifikan. Pola pikir yang diperbaharui dapat melahirkan suatu awareness baru, dan dengan adanya awareness tersebut, implementasi CMMI bisa berlangsung terus-menerus. Pada akhirnya, hasil improvement akan dikenali dan terukur, dan terutama memiliki pengaruh signifikan dalam menghasilkan produk yang berkualitas.
Praktik-praktik terbaik CMMI dipublikasikan dalam dokumen-dokumen yang disebut model, yang masing-masing ditujukan untuk berbagai bidang yang berbeda. Diantaranya :
- Development (pengembangan) pada agustus 2006 CMMI ver 1.2 CMMI-DEV (CMMI for Development) yang dirilis pada Agustus 2006 dan ditujukan untuk proses pengembangan produk dan jasa
- Acquisition (akuisisi) CMMI-ACQ (CMMI for Acquisition) yang dirilis pada November 2007 dan ditujukan untuk manajemen rantai suplai, akuisisi, serta proses outsourcing di pemerintah dan industri.
Langkah-langkah dalam CMMI :
- Mendefinisikan lima tingkat kematangan pengembangan perangkat lunak
- Mengidentifikasi masalah yang paling penting untuk kualitas perangkat lunak danperbaikan proses
- Organisasi melakukan penilaian praktek pengembangan perangkat lunak
- Menentukan di mana mereka cocok dalam model kemampuan
- Mengidentifikasi area untuk perbaikan
- Rencana yang diperlukan untuk meng-upgrade proses pembangunan
Perusahaan mengadopsi CMMI untuk berbagai tujuan. Ada yang bermotif marketing, yaitu meraih ML tertentu dengan harapan akan mendapat project besar dari pemerintah. Ada juga yang memang berniat meningkatkan kualitas prosesnya. Mengadopsi CMMI dengan harapan perusahaan akan menjadi lebih baik.
Pendekatan untuk mengadopsi CMMI.
- Mengadopsi per ML, misalnya tahun ini ML3, berikutnya ML4, dan seterusnya. Atau bisa juga kita hanya memfokuskan perbaikan pada satu process area tertentu saja, misalnya Requirement Management, atau Risk Management. Dengan berorientasi pada ML, maka organisasi mengambil pendekatan Staged Representation.
- Sedangkan bila kita berorientasi Process Area (PA), maka kita mengambil pendekatan Continuous Representation.
Kegunaan CMMI
Beberapa keuntungan yang diperoleh saat perusahaan menerapkan CMMI:
- Penilaian studi kualitas (assessing) atas proses kematangan (maturity) terkini.
- Meningkatkan kualitas struktur organisasi dan pemrosesan dengan mengikuti pendekatan best-practice.
- Digunakan dalam proses uji-kinerja (benchmarking) dengan organisasi lainnya.
- Tersedianya "Road Map" untuk peningkatan lebih lanjut.
- Meningkatkan produktivitas dan menekan resiko proyek.
- Menekan resiko dalam pengembangan perangkat lunak.
- Meningkatkan kepuasan pelanggan.
- Mempunyai fitur-fitur yang bersifat institusional, yaitu komitmen, kemampuan untuk melakukan sesuatu, analisis dan pengukuran serta verifikasi implementasi.
DAFTAR PUSTAKA
Riny Nurhajati, ST, MTI. 2012. Modul Kuliah Program Kuliah Karyawan & Profesional Stti Itech.
Pramono, Wisnu . 2011. Capability Maturity Model – CMM. http://Wishnu Arief Pramono Capability Maturity Mode - CMM.htm
Diakses pada 05 Maret 2014.
Choubey, Vinay. 2011. Model Kematangan Kemampuan. http://Model kematangan kemampuan _ Perangkat lunak (Bahasa Indonesia).htm
Diakses 20 Maret 2014.
Rinaldo, Degaz . 2011. CMMI (Capability Maturity Model Integration). http://Degaz Rinaldo CMMI (Capability Maturity Model Integration).htm
Diakses 20 Maret 2014.
Kumta, Gita A. 2002. CAPABILITY MATURITY MODEL A HUMAN PERSPECTIVE .
Niamfanie. 2011. CMM (Capability Maturity Model). http://www.niamfanie.wordpress.com
Diakses pada 05 Maret 2014.
Setiabudi. 2008. Pemanfaatan CMM (Capability Maturity Model) dalam
Pengembangan
Aplikasi Software. http://www.setiabudi.name/archives/461.htm
Diakses pada 05 Maret 2014.
Greiner, Lynn. 2007. Capability Maturity Model Integration (CMMI) Definition and Solutions. http://www.cio.com/article/147100/Capability_Maturity_Model_Integration_CMMI_Definition_and_Solutions.
Diakses pada 20 Maret 2014.
0 Komentar untuk "Capability Maturity Model (CMM)"