Perangkat lunak adalah suatu bidang yang masih baru dan banyak pendekatan dilakukan dalam mengembangkannya. Salah satu pendekatan adalah pendekatan rekayasa. Bermula di Amerika Serikat tahun 60an dimana pembuatan perangkat lunak selalu saja mengalami krisis. Sebuah proyek pembuatan perangkat lunak tak pernah kunjung selesai dan cenderung menjadi never ending project yang sangat menguras biaya, waktu dan tenaga. Karena itu dilakukan pendekatan rekayasa (engineering). Dengan pendekatan rekayasa kode kode program dibuat dalam bentuk modul modul yang bisa dipakai berulang ulang untuk keperluan membangun program yang serupa. Sebelum rekayasa perangkat lunak ditemukan pengembangan perangkat lunak dilakukan dengan pendekatan craftmanship atau meminjam istilah dosen kami Pak Eko Budiarjo PhD, pengrajin software, dimana keberhasilannya tidak bisa diperhitungkan dan sangat tergantung pada peran individual. F. Proses Manajemen Rekayasa Perangkat Lunak Rekayasa perangkat lunak semata mata tidak menjadi jaminan sebuah proyek pengembangan perangkat lunak bisa berhasil dengan tepat waktu dan tepat budget. Perlu dilakukan manajemen atas proses dari pengembangannya yang meliputi lebih banyak disiplin ilmu manajemen ketimbang ilmu rekayasa perangkat lunak. Banyak pihak melakukan proses yang berbeda beda hingga terdapat berbagai macam model proses. Model yang paling banyak diadopsi oleh industri perangkat lunak adalah model Capability Maturity Model (CMM) yang dikeluarkan oleh Software Engneering Institute (SEI) pada tahun 1986. G. Capability Maturity Model (CMM) CMM ini kemudian diakui secara defacto sebagai standar setelah Departemen Pertahanan Amerika Serikat mensyaratkan perusahaan perusahaan yang boleh ikut tender pengembangan perangkat lunak dalam lingkungan departmennya harus mengantongi sertifikasi CMM minimal level 2. H. Level Dalam CMM Dalam model CMM kematangan sebuah organisasi dalam mengembangkan perangkat lunak dibagi dalam tingkatan mulai dari level 1 hingga level 5 paling tinggi. Lima tingkat kematangan itu adalah: • • • • •
Level 1: Initial Level 2: Repeatable Level 3: Defined Level 4: Manageable Level 5: Optimazing
Capability Maturity Model Integration® (CMMI) adalah dokumentasi best-practice yang diarahkan sebagai panduan dalam pemberdayaan proses pengembangan teknologi informasi. Dokumentasi CMMI menyajikan model-model rekayasa sistem (system engineering), produk terpadu, pengembangan proses dan pengelolaan sumber daya dari pihak penyalur (supplier).
CMMI dipublikasikan oleh Software Engineering Institute (SEI) of Carnegie Mellon University. Dimana standar CMMI tersebut secara generik didasarkan pada Capability Maturity Model (CMM). Tujuan dari panduan dokumentasi CMMI meliputi peningkatan proses dalam membangun produk yang lebih baik yang berbasiskan proses pengembangannya. CMMI secara fungsional diterapkan pada kasus-kasus berikut: • • • • • •
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. Meningkatkan produktivitas dan menekan resiko proyek. Menekan resiko dalam pengembangan perangkat lunak. Meningkatkan kepuasan pelanggan.
Target pengguna dari CMMI adalah pengembang perangkat lunak (software developer), manajer sistem, program dan perangkat lunak, praktisi dari berbagai latar belakang yang terkait dengan sistem dan perangkat lunak serta pemerintah dan industri yang terkait dengan sistem intensif perangkat lunak. Versi pertama dari dokumentasi CMMI dipublikasikan pertama kali pada tahun 2002 dan masih terus dimutakhirkan sampai sekarang. Sertifikasi untuk CMMI diterbitkan oleh beberapa organisasi. Sedangkan process maturity appraisals diproses oleh beberapa organisasi dengan menggunakan standar SEI’s Standard CMMI Appraisal Method for Process Improvement (SCAMPI) or ISO/IEC 15504. 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 kerja sama. Capability Maturity Model (CMM) juga dapat didefinisikan sebagai suatu kerangka untuk menaksir level kedewasaan (maturity) dari pengembangan sistem informasi dari suatu organisasi serta manajemen proses dan produk. CMM terdiri dari 5 maturity level, antara lain :
* Level 1 – Initial : Level ini hiasa disebut anarchy atau chaos. Pada pengembangan sistem ini masing – masing developer menggunakan peralatan dan metode sendiri. Berhasil atau tidaknya tergantung dari project teamnya. Project ini seringkali menemukan saat – saat krisis, kadang kelebihan budget dan di belakang rencana. Dokumen sering tersebar dan tidak konsisten dari satu project ke project lainnya. Level initial bercirikan sebagai berikut : • 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 2 – Repeatable : Proses project management dan prakteknya telah membuat aturan tentang biaya projectnya, schedule, dan funsionalitasnya. Fokusnya adalah pada project management bukan pada pengembangan sistem. Proses pengembangan sistem selalu diikuti, tetapi akan berubah dari project ke project. Sebuah konsep upaya dibuat untuk mengulang kesuksesan project dengan lebih cepat. Level Repeatable bercirikan sebagai berikut : • Kualitas perangkat lunak mulai bergantung pada proses bukan pada orang • Ada manajemen proyek sederhana • Ada quality assurance sederhana • Ada dokumentasi sederhana • Ada software configuration managemen sederhana • Tidak adanya knowledge managemen • Tidak ada komitment untuk selalu mengikuti SDLC dalam kondisi apapun • Tidak ada statiskal control untuk estimasi proyek • Rentan terhadap perubahan struktur organisasi. * Level 3 – Defined : Standard proses pengembangan sistem telah dibeli dan dikembangkan dan ini telah digabungkan seluruhnya dengan unit sistem informasi dari organisasi. Dari hasil penggunaan proses standard, masing – masing project akan mendapatkan hasil yang konsisten dan dokumentasi dengan kualitas yang baik dan dapat dikirim. Proses akan bersifat stabil, terprediksi, dan dapat diulang. 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 * Level 4 – Managed : Tujuan yang terukur untuk kualitas dan produktivitas telah dibentuk. Perhitungan yang rinci dari standard proses pengembangan sistem dan kualitas produk secara rutin akan dikumpulkan dan disimpan dalam database. Terdapat suatu usaha untuk mengembangkan individual project management yang didasari dari data yang telah terkumpul. Level Managed bercirikan : • Sudah adanya Activity Based Costing dan dan digunakan untuk estimasi untuk proyek berikutnya • Proses penilaian kualitas perangkat lunak dan proyek bersifat kuantitatif.
• Terjadi pemborosan biaya untuk pengumpulan data karena proses pengumpulan data masih dilakukan secara manual • Cenderung bias. Ingat efect thorne, manusia ketika diperhatikan maka prilakunya cenderung berubah. • Tidak adanya mekanisme pencegahan defect • Ada mekanisme umpan balik * Level 5 – Optimized : Proses pengembangan sistem yang distandardisasi akan terus dimonitor dan dikembangkan yang didasari dari perhitungan dan analisis data yang dibentuk pada level 4. Ini dapat termasuk perubahan teknologi dan praktek – praktek terbaik yang digunakan untuk menunjukkan aktivitas yang diperlukan pada standard proses pengembangan sistem . 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.
CMM (Capability Maturity Model) CMM (Capability Maturity Model) Oleh: Muawana (060403020024) Ulya Rizqi A. (066403020030) Ida Putri W. (080403020148) Sofa Tri K (066403020026) CMM (Capability Maturity Model) dikembangkan pertama kali oleh SEI (Software Engineering Institute) yang berbasis di Carnegie Mellon University in Pittsburgh berdasarkan pesanan dari Departemen Pertahanan Amerika Serikat. CMM dikembangkan sebagai alat ukur dalam menguji para calon kontraktor yang akan direkrut oleh Departemen Pertahanan Amerika Serikat dalam melaksanakan kontrak pekerjaan pengembangan aplikasi perangkat lunak komputer di lembaga tersebut. Jika disetarakan dengan standar yang ditetapkan oleh Badan Standarisasi Internasional (ISO) maka CMM dapat disetarakan dengan ISO 9001 (bagian dari seri ISO 9000). Dimana ISO 9000 adalah standar yang ditetapkan bagi industri jasa dan manufaktur dari sisi sistem kendali mutu yang efektif. Sedangkan ISO 9001 diperuntukkan secara khusus sebagai standar dalam pengembangan dan pemeliharaan aplikasi perangkat lunak. 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. Nah, lantas apa manfaatnya CMM dalam sebuah proyek pengembangan aplikasi perangkat lunak komputer? Secara sederhana, CMM dapat diibaratkan sebagai tolok-ukur dalam menentukan tingkat
“kematangan” sebuah aplikasi perangkat lunak komputer. “Tingkat Kematangan” disini berarti semakin tinggi levelnya maka semakin baik kemampuan setiap elemen organisasi dalam mengembangkan dan mengelola softwarenya. Level disini didasarkan pada standar yang ditetapkan oleh CMM yang terdiri atas 5 (lima) tingkatan yaitu: Level 1 - Ad hoc (Chaotic) Dalam tingkatan ini, sebuah organisasi yang menerapkan aplikasi perangkat lunak komputer masih bersifat serabutan. Serabutan dalam arti masih belum memiliki standar yang menetapkan kebijakan pemanfaatan aplikasi tersebut dan bisa dikatakan “berantakan”. Berantakan karena tidak atau belum ada kebijakan dari top-management mengenai pengelolaan hingga pihak yang diberi otoritas untuk melaksanakannya. Dampaknya tentu bisa kita rasakan saat terjadi masalah pada sistem aplikasi yang dibangun dan sedang beroperasi. Tidak ada pihak yang secara responsif menanganinya apalagi tersedianya rencana penanggulangan jika masalah tersebut terjadi. Hingga salah satu akibatnya adalah menurunnya kualitas layanan kepada pelanggan hingga jatuhnya kepercayaan rekanan kepada organisasi tersebut. Level 2 - Repeatable Nah, setelah lolos dari kondisi “berantakan” dan “semrawut” seperti yang terjadi di Level 1 maka organisasi yang sedang menerapkan aplikasi perangkat lunak akan naik ke Level 2. Di Level 2 sudah mulai ditetapkan kebijakan dan tim yang akan menangani pengembangan serta pengelolaan aplikasi perangkat lunaknya. Manajemen proyek pun sudah mulai diterapkan oleh setiap elemen dalam organisasi/perusahaan. Sayangnya penerapannya masih belum dilaksanakan secara disiplin oleh sebagian atau bahkan seluruh elemen dalam organisasi. Hal tersebut tentu saja sangat beresiko dalam terjadinya proyek-proyek yang “cenderung berulang” sehingga memboroskan biaya dan sumber daya lainnya. Pengulangan tersebut biasanya terjadi karena hal-hal seperti lemahnya koordinasi, buruknya administrasi proyek, buruknya prosedur rekrutmen kontraktor, dsb. Level 3 - Defined Setelah mengatasi masalah-masalah yang timbul di dua level sebelumnya maka di Level 3 menurut CMM sebuah organisasi sudah mulai menyusun batasan-batasan yang digunakan dalam menetapkan kebijakan-kebijakannya yang terkait dengan pengembangan serta pengelolaan aplikasi perangkat lunak. Organisasi yang sudah mencapai Level 3 akan terlihat dari terbentuknya standar dan prosedur yang harus diikuti sebagai panduan setiap elemennya dalam mengembangkan maupun mengelola aplikasi perangkat lunaknya. Level 4 - Managed Organisasi yang sudah mencapai Level 4 menurut CMM biasanya sudah menerapkan sistem pengukuran yang terukur dalam proses pengembangan maupun pengelolaan aplikasi softwarenya. Dengan adanya sistem pengukuran yang obyektif maka pemborosan sumber daya dapat dicegah, dikendalikan dan diramalkan dari awal. Selain itu secara kualitatif sudah dapat diramalkan bagaimana sebuah proses akan terjadi dengan tingkat presisi yang tinggi. Nah, dari sudut pandang CMM jika sebuah organisasi mampu mencapai Level 4 maka dapat
dikategorikan “memiliki kelayakan” dalam mengembangkan sebuah aplikasi software. Level 5 - Optimized Sebuah organisasi yang mencapai Level 5 sudah memiliki fokus dalam proses pengembangan yang berkelanjutan. Pengembangan proses yang berkelanjutan tersebut diarahkan pada efisiensi performa aplikasi, baik dari sisi kuantitatif maupun inovasi dari teknologi yang dikembangkan. Lantas, apa yang bisa dimanfaatkan dari penerapan CMM? Jika melihat tingkatan-tingkatan yang harus dilalui untuk memperoleh “predikat matang” menurut standar CMM maka suatu organisasi harus memiliki road-map dari pengembangan aplikasi softwarenya. Road-map tersebut harus berangkat dari visi dan misi organisasi sehingga aplikasi softwarenya akan berkembang selaras dengan tujuan-tujuan yang ditetapkan oleh organisasi tersebut. Selain dari sisi internal, CMM sendiri dapat digunakan untuk mengukur “tingkat kemapanan” sebuah organisasi yang akan direkrut sebagai kontraktor proyek-proyek kita. Misalkan PT. X ingin mengembangkan aplikasi software ERP untuk internal perusahaannya. Nah, PT. X kemudian mengundang PT. A, PT. B dan PT. C untuk menjadi calon kontraktor yang akan melaksanakan proses pengembangan hingga transfer pengetahuan. Dengan menggunakan CMM maka PT. X dapat mengukur “tingkat kemapanan” dari masingmasin calon kontraktor tersebut. Dari hasil penilaian tersebut maka dapat ditentukan perusahaan mana yang akan menjadi kontraktor berdasarkan Level menurut CMM. PT. X tentunya akan memilih perusahaan yang sudah mencapai setidaknya Level 4 demi menjamin kesuksesan implementasi proyeknya. Sekilas Capability Maturity Model ® Integration (CMMI) Capability Maturity Model ® Integration (CMMI) adalah proses perbaikan yang menyediakan pendekatan organisasi dengan unsur-unsur penting proses efektif. It can be used to guide process improvement across a project, a division, or an entire organization. Dapat digunakan untuk memandu proses perbaikan di seluruh proyek, divisi, atau seluruh organisasi. CMMI helps integrate traditionally separate organizational functions, set process improvement goals and priorities, provide guidance for quality processes, and provide a point of reference for appraising current processes. CMMI membantu mengintegrasikan tradisional terpisah fungsi organisasi, perbaikan proses menetapkan tujuan dan prioritas, memberikan petunjuk untuk kualitas proses, dan memberikan titik acuan bagi proses appraising sekarang. This page points you to places where you can find more information about CMMI, and describes the worldwide adoption and benefits of CMMI. CMMI Information Sources CMMI Sumber Informasi Before you begin applying CMMI to your organization, collect information about it. Sebelum anda mulai menerapkan CMMI untuk organisasi Anda, mengumpulkan informasi tentang hal ini. The CMMI Overview presentation provides a good summary of CMMI, and the Adoption page is a good starting point for finding information most relevant to your situation. Sekilas presentasi yang CMMI menyediakan ringkasan CMMI baik, dan Adopsi halaman awal yang bagus untuk mencari informasi yang paling relevan dengan situasi Anda. The CMMI Version 1.2 Overview presentation introduces CMMI and can help you make decisions about your process improvement plans. The CMMI Versi 1,2 Overview presentasi dan memperkenalkan CMMI dapat membantu Anda membuat keputusan tentang proses perbaikan rencana. You also can use this presentation to inform others in your organization about CMMI. Anda juga dapat menggunakan presentasi ini untuk memberitahukan orang lain
di organisasi Anda tentang CMMI. The Adoption page contains information about CMMI-related conferences and events, online forums, presentations, mappings, and written publications. Adopsi halaman yang berisi informasi tentang CMMI yang berhubungan dengan konferensi dan acara, forum online, presentasi, pemetaan, dan publikasi tertulis. Consider bookmarking the Getting Started and Adoption pages to help you develop your process improvement program. Mempertimbangkan bookmark yang Memulai dan Adopsi halaman untuk membantu Anda mengembangkan proses perbaikan program. Worldwide Adopsi The SEI is excited about the response that organizations around the world are having to the CMMI Product Suite. SEI yang gembira adalah tentang respon yang organisasi di seluruh dunia mengalami ke CMMI Produk Suite. CMMI is being adopted worldwide, including North America, Europe, Asia, Australia, South America, and Africa. CMMI sedang diadopsi di seluruh dunia, termasuk Amerika Utara, Eropa, Asia, Australia, Amerika Selatan, dan Afrika. This kind of response has substantiated the SEI's commitment to the CMMI models and the Standard CMMI Appraisal Method for Process Improvement (SCAMPI SM ). Tanggapan semacam ini yang telah substantiated SEI komitmen kepada CMMI model dan Standar CMMI Appraisal Metode untuk Peningkatan Proses (SCAMPI SM). SCAMPI incorporates the best ideas of several process-improvement appraisal methods. Keuntungan Proses Peningkatan The following are some of the benefits and business reasons for implementing process improvement: Berikut adalah beberapa keunggulan bisnis dan alasan untuk melaksanakan proses perbaikan: The quality of a system is highly influenced by the quality of the process used to acquire, develop, and maintain it. Kualitas sistem sangat dipengaruhi oleh kualitas proses yang digunakan untuk memperoleh, mengembangkan, dan memelihara itu. Process improvement increases product and service quality as organizations apply it to achieve their business objectives. Proses perbaikan akan meningkatkan kualitas produk dan layanan sebagai organisasi yang berlaku untuk mencapai tujuan-tujuan bisnis mereka. Process improvement objectives are aligned with business objectives. Proses perbaikan tujuan aligned dengan tujuan-tujuan bisnis. CMMI BenefitsManfaat CMMI The CMMI Product Suite is at the forefront of process improvement because it provides the latest best practices for product and service development and maintenance. Produk yang CMMI Suite di bagian terdepan proses perbaikan karena menyediakan terbaru penerapan terbaik untuk pengembangan produk dan layanan dan pemeliharaan. The CMMI models improve the best practices of previous models in many important ways. CMMI model yang meningkatkan praktik terbaik dari model-model sebelumnya penting dalam banyak cara. CMMI best practices enable organizations to do the following: Praktik terbaik CMMI memungkinkan organisasi untuk melakukan berikut ini: more explicitly link management and engineering activities to their business objectives lebih eksplisit link manajemen dan rekayasa kegiatan mereka untuk tujuan-tujuan bisnis expand the scope of and visibility into the product lifecycle and engineering activities to ensure that the product or service meets customer expectations memperluas cakupan dan visibilitas ke dalam produk dan teknik Lifecycle kegiatan untuk memastikan bahwa produk atau layanan yang memenuhi harapan pelanggan incorporate lessons learned from additional areas of best practice (eg, measurement, risk management, and supplier management) menggabungkan pelajaran tambahan dari bidang praktek terbaik (misalnya, pengukuran, manajemen risiko, dan manajemen pemasok) implement more robust high-maturity practices melaksanakan lebih kuat tinggi jatuh tempo
praktek address additional organizational functions critical to their products and services alamat tambahan fungsi penting dalam organisasi mereka produk dan layanan more fully comply with relevant ISO standards lebih relevan sepenuhnya sesuai dengan standar ISO SUMBER: http://www.sei.cmu.edu/cmmi/ http://en.wikipedia.org/wiki/Capability_Maturity_Model#Level_1_-_Ad_hoc_.28Chaotic.29 http://www.opengroup.org/architecture/togaf8-doc/arch/chap27.html http://www.sei.cmu.edu/cmm/ http://www.sei.cmu.edu/cmm/papers/9001-cmm.pdf 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 kerja sama. 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 (skala penilaian) • 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 masingmasing 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 sebagai berikut : • 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 quality assurance sederhana • Ada dokumentasi sederhana • Ada software configuration managemen sederhana • Tidak adanya knowledge managemen • 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 Level Managed bercirikan : • Sudah adanya Activity Based Costing dan dan digunakan untuk estimasi untuk proyek berikutnya
• Proses penilaian kualitas perangkat lunak dan proyek bersifat kuantitatif. • Terjadi pemborosan biaya untuk pengumpulan data karena proses pengumpulan data masih dilakukan secara manual • Cenderung bias. Ingat efect thorne, manusia ketika diperhatikan maka prilakunya cenderung berubah. • 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.