Thursday, 20 December 2012

Membangun Kualitas IT dengan CMMI

Saat kita membeli sebuah meja baru, kita dapat mengamati dan menilai secara kasat mata mutu dari meja tersebut, apakah terdapat defect yang sangat mengganggu dan juga dapat menilai apakah design serta hasil akhir dari meja yang kita amati sesuai dengan keinginan kita.

Mari kita bayangkan saat membeli sebuah aplikasi atau pada saat penyedia IT menyampaikan hasil pengembangannya kepada kita. Apa yang harus kita lakukan untuk melihat apakah aplikasi tersebut benar-benar telah sesuai dengan keinginan kita, dapatkah kita melihat defect yang terdapat pada aplikasi tersebut secara kasat mata, karena memang aplikasi tidak berbentuk sebuah fisik. Pertanyaan yang muncul adalah, bagaimana kita bisa meyakinkan bahwa kualitas aplikasi yang kita dapatkan telah sesuai dengan harapan kita ?

Di sisi pengembang IT, kita sering melihat para programmer yang mengeluh karena design yang sering berubah-ubah dan penambahan fungsi baru yang tidak terdokumentasi dengan baik sehigga programmer terlalu sering untuk melakukan 'rework' karena tidak adanya kontrol yang baik terhadap dokumentasi design dan fungsi antara pihak pengembang IT dan pihak End-User. Ini dapat mengakibatkan kualitas program yang rendah, keterlambatan dan juga memunculkan biaya baru. Ini adalah sebuah gejala dari tidak adanya proses standar dan baku dalam organisasi IT.

Fenomena Pengembangan Aplikasi


Mari kita lihat beberapa permyataan yang cukup sering kita dengar dalam menjalankan proyek pengembangan aplikasi.
  • Seorang manajer pengembangan aplikasi, "Yang penting aplikasinya diimplementasikan terlebih dahulu. Kesalahan atau defect adalah hal yang biasa dan kita bisa perbaiki di versi berikutnya. Itu lebih baik daripada kita menunda sehingga jadwal implementasi menjadi terlambat".
  • Seorang manajer proyek, "Kunci dari keberhasilan saya adalah schedule. Jika saya tidak dapat menyelesaikan pekerjaan saya tepat waktu, artinya saya telah gagal menjalankan proyek ini."
Itu adalah beberapa pernyataan yang sering menurunkan tingkat kualitas aplikasi yang sedang kita kembangkan. Disisi lain, Deming dan Humprey mengatakan bahwa "Kualitas sebuah produk sangat ditentukan oleh kualitas dari proses yang digunakan mulai dari perencanaan, design, pengembangan hingga akhirnya perawatan".

Jika kita mampu menjalan sebuah proses yang berkualitas, maka secara umum kita akan menghasilkan produk yang berkualitas. Deming dan Humpey mengembangkan sebuah framework yang kita kenal dengan nama Capability Maturity Model (CMM). Dan kini framework ini telah berkembang menjadi Capability Maturity Model Integration (CMMI).

Apa itu CMMI


Mungkin kita sering mendengar bahwa organisasi IT menyatakan bahwa mereka telah menjalankan CMMI level 3 dan sementara di organisasi yang lain telah mendapatkan CMMI level 4. Dan kita juga mungkin melihat ada organisasi yang sedang memulai untuk mengimplementasikan CMMI di dalam proses pengembangan produk IT.

CMMI adalah sebuah model yang terstruktur untuk menggambarkan level dari proses secara menyeluruh pada sebuah organisasi. CMMI direpresentasikan atau digambarkan dalam 2 bentuk yaitu
  • Proses digambarkan sebagai Continous Representation untuk menunjukkan Capability Level
  • Proses digambarkan sebagai Staged Representation untuk menunjukkan Maturity Level.
CMMI dapat memberikan gambaran bagaimana kualitas semua proses yang dijalankan berdasarkan representasi 'Continous' dan ' Staged'. Kita juga dapat membandingkan organisasi yang telah memiliki dan menjalankan proses yang terstruktur berdasarkan Capability Level dan Maturity Level.

Proses Inti Dalam CMMI


Trdapat beberapa proses inti yang menjadi acuan dalam pelaksaan CMMI bagi sebuah organisasi. Di bawah ini adalah proses inti yang dimiliki oleh CMMI.

Process Management
  • Organizational Process Focus
  • Organizational Process Definition
  • Organizational Training
  • Organizational Process Performance
  • Organizational Innovation and Deployment


  • Project Management
  • Project Planning
  • Project Monitoring and Control
  • Supplier Agreement Management
  • Risk Management
  • Intergrated Teaming
  • Integrated Supplier Management
  • Quantitative Project Management


  • Engineering
  • Requirement Management
  • Requirement Development
  • Technical Solution
  • Product Integration
  • Verification
  • Validation


  • Support
  • Configuration Management
  • Process and Product Quality Assurance
  • Measurement and Analysis
  • Decision Analysis and Resolution
  • Organizational Environment for Integration
  • Causal Analysis and Resolution


  • Continous Representation atau Capability Level


    Capability Level adalah sebuah model untuk menggambarkan bagaimana setiap proses inti berjalan di dalam sebuah organisasi. CMMI memiliki 6 level untuk setiap proses inti:
    • Level 0:   Incomplete
    • Level 1:   Performed
    • Level 2:   Managed
    • Level 3:   Defined
    • Level 4:   Quantitatively Managed
    • Level 5:   Optimizing

    Setiap organisasi tentu bisa memiliki satu atau dua proses inti yang menurut mereka sangat penting dan berada pada level 4 atau 5, sementara di organisasi berbeda dapat memiliki level berbeda-beda untuk setiap proses inti.

    CMMI memiliki panduan dan tim yang dapat menilai atau mereview untuk melihat capability level untuk setiap proses inti di dalam sebuah organisasi. Secara singkat, penjelasan capability level adalah sebagai berikut.

    Capability Level 0: Incomplete
    Sebuah proses area dapat dikategorikan berada pada level ini, jika proses tersebut memang tidak dimiliki oleh organisasi yang bersangkutan atau berjalan secara partial.

    Capability Level 1: Performed
    Proses area tersebut sudah menjadi bagian dari sesuatu yang wajib dalam menjalankan kegiatan. Walaupun masih terdapat kekurangan dalam pelaksanaannya baik disisi kualitas maupun schedule. Prinsipnya proses sudah berjalan dan menjadi sesuatu yang wajib sebagai titik awal.

    Capability Level 2: Managed
    Sebuah proses berada pada level ini, jika proses ini selalu direncanakan, dilakukan, dimonitor dan berjalan pada setiap aktifitas pengembangan. Ini berarti bahwa, organisasi ini selalu menjalankan proses ini di setiap proyek pengembangannya. Terdapat fungsi perencanaan dan kontrol.

    Capability Level 3: Defined
    Sebuah proses berada pada level ini, jika proses itu didefinikan secara menyeluruh di dalam sebuah organisasi. Pada level 2 ("Managed"), sangat dimungkinkan proyek A dan B menjalankan proses requirement analysis, tetapi mereka melakukannya dengan cara yang berbeda. Sehingga team di proyek A, sangat sulit untuk memahami proses dan dokumentasi dari requirement analysis di proyek B. Pada level 3 ("Defined"), semua proses telah didefinisikan secara baku sehingga semua orang di dalam organisasi ini memiliki cara yang sama untuk melakukan sebuah proses tertentu.

    Capability Level 4: Quantitatively Managed
    Di level ini, sebuah proses akan dimonitor  menggunakan pendekatan kuantitatif untuk mengukur apakah sebuah proyek benar-benar menjalankan proses secara tepat.

    Capability Level 5: Optimizing
    Sebuah proses berapa pada level ini di dalam sebuah organisasi, jika terdapat sebuah aktifitas atau tim yang fokus untum mempelajari atau mereview. Ini adalah sebuah pengembangan dari level 4.

    Melalui proses review dan analisa dengan metode tertentu, sebuah organisasi IT dapat memiliki Continous Representation atau Capability Level untuk semua proses inti yang telah didefinisikan oleh CMMI. Kita dapat merepresentasikan melalui sebuah grafik atau menggunakan tabel. Mari kita liat contoh berikut :
    • Requirement Management (REQM): level 3
    • Project Planning (PP): level 3
    • Project Monitoring and Control (PMC): level 2
    • Supplier Agreement Management (SAM): level 2

     

    Staged Representation atau Maturity Level


    Jika kita mendengar sebuah organisasi telah menjalankan CMMI level 3, ini menunjukkan bahwa organisasi ini berkaitan dengan "Staged Representation" atau "Maturity Level". Artinya organisasi ini telah mendapatkan sertifikat Maturity Level 3 dalam implementasi CMMI.

    Pada Continous Representation atau Capability Level, kita melihat satu persatu proses inti yang ada dan mencoba untuk mengkaji dan mereview sampai sejauh mana implementasi proses inti tersebut di dalam organisasi.

    CMMI juga dikenal dengan satu model dengan 2 representasi. Sekarang kita melihat representasi kedua dari CMMI yang sering disebut sebagai "Staged Representation" dan menggunakan "Maturity Level" sebagai tolak ukurnya. Dalam Maturity Level, kita melihat sejauh mana organisasi telah menjalankan seluruh proses inti yang terdapat pada CMMI. Maturity Level akan melihat semua proses tersebut untuk menggambarkan "Staged Representasi".

    Terdapat 5 Maturity Level dalam CMMI
  • Level 1:   Initial
  • Level 2:   Managed
  • Level 3:   Defined
  • Level 4:   Quantitatively Managed
  • Level 5:   Optimizing

  • Secara sederhana, makna dari level tersebut adalah sebagai berikut :

    Maturity Level 1: Initial
    Secara umum, organisasi yang berapa pada level 1 adalah organisasi yang belum menjalankan CMMI. Tidak terdapatnya proses yang standar dalam pengembangan IT, banyak perubahan yang bersifat ad-hoc (begitu terdapat defect, langsung di coba diperbaiki tanpa melihat penyebab utama secara menyeleruh) dan sangat sedikit kontrol. Organisasi semacam ini umumnya sangat tergantung terhadap 'orang', tidak tergantung kepada 'sistem'. Jika terdapat satu orang yang 'cerdas', dia akan menangani semuanya sebagai 'hero' dan pada saat 'orang' ini tidak ada, maka proyek akan bergoyang.

    Maturity Level 2: Managed
    Organisasi ini telah memiliki beberapa proses yang sering digunakan salam setiap proyek pengembangan, tetapi tidak terdapat keseragaman secara menyeluruh. Proses sudah mulai berjalan secara konsisten, tetapi tidak menyeluruh di semua lini organisasi.

    Maturity Level 3: Defined
    Ini adalah level yang paling umum disasar oleh hampir seluruh organisasi pada saat mereka mengimplementasikan CMMI. Pada level ini, semua lini organisasi menjalankan proses yang sudah didefinisikan pada level organisasi dan semua tim paham bagaimana proses seharusnya berjalan.

    Maturity Level 4: Quantitatively Managed
    Pada level ini, organisasi seudah semakin advance. Mereka mulai menerapkan konsep kuantifikasi pada setiap proses,  selalu diawasi dan dikontrol.

    Maturity Level 5: Optimizing
    Ini adalah level puncak dalam CMMI, dimana innovasi dan optimasi proses senantiasa dipantau dan dianalisa.

    Mapping Proses Inti dan Maturity Level(Staged Representation)


    Disamping penjelasan sederhana diatas, CMMI juga memiliki mapping antara Maturity Level dan Proses Inti yang harus terdapat pada level tersebut. Mapping tersebut adalah sebagai berikut :

    Maturity Level 2:
  • Project Planning
  • Project Monitoring and Control
  • Supplier Agreement Management
  • Requirement Management
  • Configuration Management
  • Process & Product Quality Assurance
  • Measurement and Analysis


  • Maturity Level 3:
  • Organizational Process Focus
  • Organizational Process Definition
  • Organizational Training
  • Integrated Project Management
  • Risk Management
  • Requirement Development
  • Technical Solution
  • Product Integration.
  • Verification
  • Validation
  • Decision Analysis and Resolution


  • Maturity Level 4:
  • Organizational Process Performance
  • Quantitative Project Management


  • Maturity Level 5:
  • Organizational Innovation and Deployment
  • Causal Analysis and Resolution.


  • Penutup

    CMMI adalah sebuah model dengan menggunakan 2 macam representasi untuk menunjukkan bagaimana sebuah organisasi me-manage semua proses dalam setiap proyek pengembangan untuk mencapai produk IT yang berkualitas.


    --------
    Link:
    Topik tentang mengenai kehidupan di Singapura: Kehidupan di Singapura 
    Topik tentang mengenali teknologi informasi: Mengenali Teknologi Informasi


    Semoga Bermanfaat.
    Tampines (Singapore)

    No comments:

    Post a Comment

    Catatan Pendidikan Menengah (SMP) atau Secondary School di Singapura

    Perjalanan pendidikan atau education journey yang akan dilalui oleh lulusan SD atau Primary School akan berlanjut ke jenjang berikutnya yang...