Saturday, July 10, 2010

Pemanfaatan CMM (Capability Maturity Model) Dalam Pengembangan Aplikasi Software

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 masing-masin 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.


sumber


No comments: