Monday, July 19, 2010

Meningkatkan Kualitas Produksi Piranti Lunak Dalam Negeri dengan Menerapkan CMM-SW

ABSTRACT

Saat ini kebutuhan akan adanya piranti lunak disetiap sektor pembangunan, demikian tinggi. Di sisi lain dengan semakin terbukanya keran pasar bebas, mendorong pengembang piranti lunak dalam negeri harus bisa bersaing dengan pengembang piranti lunak luar negeri. Pasar pasti akan memiliki piranti lunak yang berkualitas, karena akan sangat berpengaruh pada bisnis mereka. Bagi pasar, baik atau tidaknya kualitas sebuah piranti lunak, akan mereka lihat dari sejauh mana penerapan Capability Maturity Model for Software (CMM-SW) pada pengembang piranti lunak yang bersangkutan.

Oleh karena itu, pengembang piranti lunak dalam negeri harus bisa meningkatkan kualitas produksinya dengan menerapkan CMM-SW. Penerapan CMM-SW ini bukan semata-mata untuk meningkatkan prestise, tapi lebih kepada peningkatan kualitas produksi piranti lunak.

Kata kunci: Capability Maturity Model for Software (CMM-SW), Piranti Lunak, Software Process


I. PENDAHULUAN

Ada tiga hal yang sangat penting dalam perkembangan teknologi saat ini. Ketiga hal tersebut adalah software (piranti lunak), hardware (piranti keras), dan sumber daya manusia. Ketiga hal ini dipastikan ada di dalam setiap organisasi.

Salah satu hal yang menjadi bahasan utama dalam makalah ini adalah piranti lunak. Piranti lunak sudah menjadi tulang punggung dalam setiap bussiness proses di tiap-tiap organisasi. Seiring dengan kemajuan zaman, maka kebutuhan akan piranti lunak semakin tinggi. Tidak hanya itu, pasar akan semakin jeli dalam memilih piranti lunak yang akan digunakan dalam organisasinya. Piranti lunak yang mereka pilih adalah yang berkualitas. Karena tingkat kualitas piranti lunak akan sangat mempengaruhi bussiness proses organisasi. Jika bussiness processnya baik, maka akan meningkatkan pelayanan, meningkatkan kinerja, dan meningkatkan revenue.

Secara umum, pasar tidak begitu memahami secara mendalam tentang bagaimana kualitas piranti lunak yang baik itu. Oleh karena itu, dalam menilai kualitas sebuah produk piranti lunak, pasar akan menilainya secara pragmatis, salah satunya yaitu dengan melihat sejauh mana penerapan CMM-SW pada organisasi piranti lunak yang bersangkutan. Semakin tinggi level penerapan CMM-SW-nya, maka dipastikan akan semakin baik kualitas produksinya.


II. CAPABILITY MATURITY MODEL FOR SOFTWARE (CMM-SW)

Dalam sebuah organisasi pengembang piranti lunak, Software Process adalah inti utamanya. Software Process merupakan sekumpulan aktivitas, metode, praktek, dan berbagai transformasi yang digunakan oleh sekumpulan manusia di dalamnya untuk membangun dan memelihara piranti lunak serta hal-hal yang berkaitan dengannya, misalnya project plan, dokumen desain, code, testing, cases, dan user manual.

Berkaitan dengan Software Process tersebut, terdapat istilah Software Process Capability, Software Process Performance, dan Software Process Maturity. Software Process Capability mendeskripsikan jangkauan akan hasil yang diharapkan dari Software Process. Sedangkan Software Process Performance merupakan hasil yang saat ini diraih dari Software Process.

Satu hal yang sangat penting yaitu Software Process Maturity. Hal ini berkaitan dengan cakupan proses tertentu yang benar-benar telah terdefinisikan secara eksplisit, sudah dapat diatur, dapat diukur, dikontrol, dan efektif. Dengan kata lain, Software Process Maturity berkaitan dengan tingkat kematangan dalam Software Process, dan akan berakibat pada kualitas produk piranti lunak yang dihasilkan. Berkaitan dengan inilah, maka kini terdapat sebuah model untuk menggambarkan tingkat kematangan Software Process pada sebuah pengembang piranti lunak, hal tersebut dikenal dengan Capability Maturity Model for Software (CMM-SW).

CMM-SW adalah sebuah metode untuk mengevaluasi dan mengukur tingkat kematangan (maturity) dari proses rekayasa piranti lunak. Dalam dokumen resminya, dijelaskan bahwa CMM-SW menyediakan pedoman kepada pengembang piranti lunak tentang bagaimana untuk meningkatkan kontrol terhadap proses mereka dalam membangun dan memelihara piranti lunak, dan tentang bagaimana untuk mengembangkan lebih jauh sebuah kultur rekayasa piranti lunak dan majemen yang baik. CMM-SW didesain sebagai pedoman pengembang piranti lunak dalam memilih strategi peningkatan proses, dengan mengukur kematangan proses yang sedang berjalan dan mengidentifikasi beberapa isu yang paling kritikal sehubungan dengan kualitas piranti lunak dan peningkatan proses.

Dengan demikian, bila sebuah pengembang piranti lunak menerapkan CMM-SW pada organisasinya, diharapkan pengembang tersebut dapat lebih mengontrol dan mengarahkan Software Process mereka. Sehingga cara kerjanya tidak lagi dilakukan seperti halnya sebuah proyek dadakan tanpa rencana. Hal ini juga dapat dijadikan sebagai acuan bagi pengembang piranti lunak yang baru untuk mengetahui bagaimana seharusnya proses sebuah pengembangan piranti lunak berlangsung. Sehingga proses "building block" akan lebih efektif dan efisien. dalam hal mengembangkan perusahaan yang bersangkutan. Aktivitas pengontrolannya pun dapat dilakukan secara terukur.

Dengan CMM-SW, pengembang piranti lunak akan benar-benar menjadi pengembang piranti lunak yang sesungguhnya. Karena CMM-SW akan membentuk kultur internal dan manajemen yang baik. Kultur dan struktur dari hasil CMM-SW tersebut akan sangat terintegrasi dengan pengembangan piranti lunak.


III. LIMA LEVEL PADA CMM-SW

Dalam pelaksanaan teknisnya, CMM-SW terdiri dari 5 level dilihat dari tingkat kematangan Software Process. Kelima level tersebut terdiri dari Initial (level 1), Repeatable (level 2), Defined (level 3), Managed (level 4), dan Optimizing (level 5). Semakin tinggi status level CMM pada sebuah pengembang piranti lunak, maka bisa dipastikan kualitas produksinya semakin baik.

Secara singkat, berikut ini adalah penjelasan dari masing-masing level tersebut:

Level 1: Initial. Software process dikarakteristikan sebagai sebuah ad hoc, dan kadang-kadang terjadi peristiwa chaos. Hanya sedikit dari proses yang telah didefinisikan dengan jelas, dan kesuksesan tergantung pada usaha individu. Semua pengembang piranti lunak minimal sudah pasti ada pada level ke-1 ini.

Level 2: Repeatable. Proses-proses pada manajemem proyek yang fundamental telah berjalan baik dalam hal untuk menelusuri pembiayaan, penjadwalan, dan fungsionalitas. Ketertiban proses yang diperlukan adalah dalam hal untuk mengulangi kembali kesuksesan-kesuksesan dalam proyek dengan aplikasi yang serupa.

Level 3: Defined. Pada level ini, pengembangan piranti lunak untuk manajemen dan aktivitas rekayasa telah didokumentasikan dengan baik, distandarisasikan, dan diintegrasikan dalam sebuah standar Software Process untuk organisasi yang bersangkutan. Semua proyek menggunakan standarisasi Software Process milik organisasi yang telah disetujui dan disesuaikan, untuk membangun dan memelihara piranti lunak.

Level 4: Managed. Pada level ini, ukuran-ukuran mendetail dari Software Process dan kualitas produksi telah dimiliki. Software process dan produksi secara kuantitatif sudah dipahami dan dapat dikontrol.

Level 5: Optimizing. Peningkatan proses secara kontinyu diberlakukan dengan feedback kuantitatif dari proses tersebut, dan dari teknologi-teknologi serta ide-ide pilot-project yang inovatif.

Secara umum, kelima level diatas merupakan gambaran adanya suatu tahapan dalam upaya untuk meningkatkan kualitas piranti lunak. Setiap level harus dilalui secara sekuensial. Tidak bisa melakukan lompatan-lompatan ke level atas, sebelum menerapkan CMM-SW pada level dibawahnya. Di sini dapat dilihat bahwa usaha peningkatan kualitas tersebut dilakukan dengan berorientasi kepada peningkatan proses.

Jika ilustrasikan dengan sebuah perjalanan menuju suatu tujuan, maka kelima level tersebut ibaratkan titik-titik pada peta perjalanan yang harus dilalui oleh pengembang piranti lunak agar dapat mencapai tujuannya dengan lebih efisien dan efektif. Jika tanpa peta perjalanan, mungkin akan sampai tujuan, tapi mungkin tidak efisien dan/atau tidak efektif. Bahkan mungkin tujuan tidak tercapai.


IV. ALAT BANTU MENINGKATKAN KUALITAS

CMM-SW inilah yang merupakan "alat bantu" agar pengembang piranti lunak dapat mencapai tujuannya, meningkatkan kualitas produksinya.

Dalam setiap levelnya, CMM memiliki Key Process Area (KPA) sebagai rincian tentang hal-hal yang harus menjadi perhatian. Misalnya, pada level-2 KPA-nya antara lain Requirement Management, Software Project Planning, Software Project Tracking and Oversight, Software Subcontract Management, Software Quality Assurance, dan Sofware Configuration Management. Setiap KPA tersebut memiliki beberapa tujuan yang harus dicapai. Agar memudahkan dalam mencapai tujuan, CMM-SW menyediakan Common Feature, yang merupakan beberapa hal yang harus menjadi perhatian dalam implementasi. Setiap Common Feature tersebut memiliki Key Practice, yang merupakan garis-garis besar yang harus dilakukan oleh organisasi piranti lunak.

Khusus untuk level-1, di sini tidak ada Key Process Area. Karena semua organisasi piranti lunak sudah dianggap berada pada level ini.

Dari rincian struktur CMM-SW ini, dapat kita lihat bahwa CMM-SW dapat membimbing pengembang piranti lunak dalam melakukan proses yang baik dan benar. Proses pembimbingannya tersebut benar-benar didesain dalam bentuk yang terstruktur dan bertahap agar pengembang dapat mudah mengikutnya. Karena kebertahapan merupakan suatu keniscayaan untuk menuju sesuatu yang lebih baik.

CMM-SW berorientasi kepada peningkatan proses pada setiap levelnya. Karena pembangunan dan pemeliharaan piranti lunak sangat bergantung kepada prosesnya. Semakin baik prosesnya, maka akan semakin baik pula kualitas outputnya.


IV. PENTINGNYA KUALITAS PIRANTI LUNAK

Untuk pengembang piranti lunak dalam negeri, CMM-SW ini harus menjadi acuan agar mereka dapat bersaing dengan pengembang piranti lunak dari manca negara. Persaingannya adalah dalam hal berlomba-lomba dalam peningkatan kualitas, bukan dalam hal berlomba-lomba meningkatkan prestise. Prestise akan datang dengan sendirinya kalau produksi yang dihasilkan berkualitas baik.

Di sisi lain, manusia pada saat ini berbeda dengan manusia yang lalu. Saat ini manusia lebih cerdas, lebih kreatif, dan lebih kritis dalam menilai sesuatu. Sedangkan organisasi terdiri dari banyak manusia. Dengan demikian, organisasi saat ini pun akan semakin kritis dalam menilai sesuatu, termasuk dalam memilih piranti lunak. Apalagi pengembang piranti lunak semakin banyak, maka pasar pasti akan melakukan pemilihan, yaitu memilih yang berkualitas. Ini merupakan salah satu hal yang menggambarkan betapa pentingnya kualitas piranti lunak.

Selain itu, dengan adanya peningkatan kualitas piranti lunak akan mendorong pesatnya perkembangan sebuah organisasi. Sebagaimana telah disebutkan sebelumnya, dengan dukungan piranti lunak yang berkualitas, akan meningkatkan pelayanan, meningkatkan kinerja, dan revenue.

Semua itu akan mendukung daya saing pengembang piranti lunak dalam negeri terhadap pengembang piranti lunak manca negara. Apalagi kalau pengembang piranti dalam negeri hendak mengekspor produksinya ke luar negeri, CMM-SW ini merupakan syarat yang sangat penting.

Untuk membangun suasana pengembangan piranti lunak yang kondusif, pemerintah turut bertanggung jawab untuk mendorong agar perusahaan-perusahaan memiliki perhatian penuh terhadap peningkatan kualitas. Dukungan pemerintah terhadap hal ini berupa diterapkannya CMM-SW sebagai bakuan dalam setiap proyek pengembangan piranti lunak oleh pemerintah. Hal ini akan mendorong para pengembang piranti lunak dalam negeri untuk menerapkan CMM-SW pada organisasinya untuk peningkatan kualitas. Karena peningkatan kualitas tersebut secara umum akan meningkatkan pembangunan nasional.


V. MASA DEPAN

CMM-SW sudah dikembangkan sejak lebih dari 10 tahun yang lalu. Untuk masa kini dan masa depan, sudah muncul lagi yang bernama CMMI (Capability Maturity Model® Integration). CMMI merupakan pengembangan lebih lanjut dari CMM-SW. Atau boleh dikatakan bahwa CMMI ini merupakan CMM-SW versi baru. Para pengembang piranti lunak sudah mulai disarankan untuk bermigrasi dari CMM-SW ke CMMI. Namun tidak ada salahnya jika kita pelajari lebih dahulu tentang CMM-SW untuk memahami dasarnya, setelah itu baru beranjak kepada CMMI.


VI. KESIMPULAN

Tantangan kedepan dalam bersaing adalah tantangan pemenuhan kualitas yang baik. Oleh karena itu penerapan CMM-SW pada sebuah pengembang piranti lunak dalam negeri merupakan suatu keniscayaan. Selain itu, CMM-SW juga dapat membimbing pengembang piranti lunak yang baru, agar dapat establish menjadi sebuah pengembang piranti lunak yang sebenar-benarnya. Tahapan-tahapan dalam CMM-SW sudah didesain untuk menuntun agar sebuah pengembang piranti lunak dapat tumbuh berkembang.

sumber

No comments: