Apa itu CMMI?

Posted on June 17th, 2008 | by endy |

Di milis Asosiasi Pengembang Perangkat Lunak Indonesia (APPLI) ramai dibahas mengenai standarisasi dalam pengembangan perangkat lunak. Salah satu standar yang populer digunakan adalah CMMI (Capability Maturity Model Integration) yang dikembangkan oleh Carnegie-Mellon University, untuk lebih tepatnya dalam departemen Software Engineering Institute. Selain itu, ada juga blog ini dan ini yang membahas tentang CMMI.

Dengan adanya standar, organisasi dapat berkembang dengan lebih terarah. Semua anggota organisasi mulai dari programmer, analis, tester, manajer, dan direktur menjadi tahu apa ruang lingkup pekerjaannya. Apa yang harus disediakan bagi pihak lain, dan juga apa yang bisa diharapkan dari departemen lain. Dengan demikian, tidak banyak effort yang terbuang karena miskomunikasi atau kurang koordinasi.

Sayangnya, dunia enterpreneur IT di Indonesia masih jarang yang hirau terhadap masalah standarisasi ini. Berbagai alasan dikemukakan, antara lain:

  • Tidak mengerti bahasa Inggris
  • Standar luar negeri tidak cocok untuk kondisi lokal
  • Standar membuat organisasi monoton dan membosankan
  • dan segudang alasan lainnya


Menurut saya, segala alasan itu cuma pembenaran saja untuk sifat malas belajar. Sebagai praktisi IT, tentunya kita sadar bahwa dunia tempat kita hidup sekarang (internet) dibangun di atas standar. Untuk bisa browsing, kita menggunakan protokol HTTP. Memeriksa email, menggunakan protokol POP3, IMAP, dan SMTP. Chatting, menggunakan protokol IRC, XMPP. Voice chat, menggunakan protokol SIP.

Protokol adalah nama lain dari standar. So, standar membuat hidup kita menjadi lebih baik. Setidaknya, standar apapun lebih baik daripada tanpa standar. Melalui artikel ini, mudah-mudahan para praktisi tergerak untuk setidaknya mempelajari dulu standar sebelum mengeluarkan vonis “tidak perlu” atau “tidak sesuai”.

Sekarang, mari kita lihat standarisasi dalam pengembangan perangkat lunak. Standar yang populer dan cukup saya kuasai adalah CMMI, jadi mari kita bahas tentang CMMI. Kebetulan saya pernah ikutan mengantarkan BaliCamp meraih CMMI Maturity Level 3.

Apa itu CMMI

CMMI adalah singkatan dari Capability Maturity Model Integration. Ini adalah kerangka kerja (framework) yang bisa digunakan untuk mengembangkan proses di dalam perusahaan.

Apa itu proses? Proses adalah cara kita melakukan suatu tugas. Misalnya, membuat proposal, menganalisa kebutuhan client, membuat kode program, dan kegiatan lainnya. Semua tata laksana kegiatan tersebut dikenal dengan nama proses atau prosedur.

CMMI membantu kita untuk memperbaiki proses di perusahaan/organisasi kita. Dengan membaiknya proses, diharapkan produk yang dihasilkan akan ikut menjadi baik.

CMMI dirumuskan oleh Software Engineering Institute di Carnegie Mellon University. Para peneliti di SEI telah mengamati proyek pembangunan perangkat lunak di seluruh dunia, mulai dari proyek kecil sampai proyek raksasa. Organisasi yang diteliti meliputi NASA, IBM, dan kontraktor Departemen Pertahanan Amerika Serikat. Pengalaman yang dimiliki organisasi tersebut dirangkum dalam seperangkat aturan yang disebut CMMI. Nah, apakah perusahaan kita sudah lebih canggih daripada organisasi di atas, dalam hal mengelola proyek software? Kalau belum, mari kita belajar dari mereka.

Apa sih isinya CMMI ??

CMMI terdiri dari rangkaian practices. Dalam rangkaian practices ini ada rambu-rambu atau rekomendasi yang dapat diikuti. Practices dalam CMMI dibagi menjadi dua, yaitu Generic Practices (GP) dan Specific Practices (SP).

Bila kita sudah mengimplementasikan practices dengan sempurna, kita dianggap sudah memenuhi Goals. Sama seperti practices, ada Generic Goals (GG) dan Specific Goals (SG).

SG dan SP dikelompokkan menjadi Process Area (PA). Total ada 22 Process Area dalam CMMI for Development versi 1.2.

Daftar PA, GG, SG, GP, dan SP dapat dilihat di spesifikasi CMMI yang bisa didonlod gratis di sini.

Apa hubungannya CMMI dengan standarisasi ISO

CMMI dan ISO sama-sama standar yang digunakan untuk menilai proses suatu organisasi. Kalau kita programmer Java, kita punya sertifikasi SCJP, SCWD, SCBCD, dan sebagainya. Nah, anggap saja CMMI atau ISO ini adalah sertifikasinya perusahaan.

Kalau di SCJP yang dinilai adalah penguasaan kita terhadap bahasa pemrograman Java, maka di ISO/CMMI yang dinilai adalah penguasaan perusahaan terhadap prosesnya sendiri.

Perbedaan CMMI dan ISO terletak pada ketelitiannya. Bila kita ingin perusahaan kita mendapat sertifikasi ISO, perusahaan kita harus memiliki Standard Operating Procedure (SOP) yang tertulis. Kemudian kita harus membuktikan pada badan sertifikasi bahwa SOP tersebut kita jalankan dengan baik. Apa saja yang kita tulis dalam SOP bebas terserah kita. ISO tidak mengatur sampai ke tingkat itu.

Berbeda dengan CMMI, selain kita punya SOP, dia punya aturan khusus tentang isi SOP. Misalnya, kalau kita melakukan analisa kebutuhan (requirement gathering), ada beberapa aturan yang harus diikuti, misalnya:

  • Pernyataan kebutuhan user harus dicatat
  • Pernyataan kebutuhan harus dikonfirmasi ke user
  • Pernyataan kebutuhan harus disetujui kedua pihak
  • Kalau ada perubahan, harus dicatat
  • Antara kebutuhan dan software yang dideliver, harus bisa dilacak bolak-balik

Singkatnya, kalau kita lulus ISO, belum tentu lulus CMMI. Sebaliknya, kalau kita lulus CMMI, besar kemungkinan kita akan langsung lulus ISO bila ikut sertifikasinya.

Apa yang dimaksud Maturity Level ??

Tujuan awal dirumuskannya CMMI sebenarnya adalah untuk mendukung proses tender di lingkungan Departemen Pertahanan Amerika Serikat (US-DoD). Mereka ingin memiliki sistem penilaian terhadap semua vendor yang mengajukan proposal. Untuk itu dirumuskanlah sistem penilaian vendor berupa Maturity Level (ML).

Maturity Level di CMMI ada 5, mulai dari yang terendah ML 1, sampai yang paling canggih ML 5. Bila perusahaan kita sudah ML-5, maka kita bisa ikut dalam tender proyek software rudal Patriot. Begitu kira-kira.

Setiap ML memiliki seperangkat PA yang harus dipenuhi agar kita berhak menggunakan titel ML tersebut. Sebagai contoh, bila kita ingin lulus ML-2, maka kita harus mengimplementasikan 7 PA. Untuk mencapai ML-3, kita harus mengimplementasikan 7 PA dari ML-2 ditambah dengan 11 PA dari ML-3. Demikian seterusnya, sehingga ML-5 yang sudah mengimplementasikan 22 PA.

Bila kita sama sekali belum mengimplementasikan apa-apa, perusahaan kita dikategorikan sebagai ML-1. Level ini diadakan sebagai hiburan bagi perusahaan yang sudah ikut SCAMPI Class A, tapi tidak lulus bahkan di ML-2. Well, ML-1 kedengarannya lebih baik daripada No-ML atau ML-0 :p

Daftar lengkap PA per ML bisa dilihat di spesifikasi CMMI.

Perusahaan saya ingin mendapat ML-5, bagaimana caranya?

Pertama, tentunya perusahaan kita harus memenuhi semua persyaratan mulai dari ML-2 sampai ML-5. Perusahaan kita harus sudah punya SOP yang mengatur semua proses sesuai aturan CMMI. Bila ada aturan yang tidak kita pahami, kita bisa datangkan konsultan untuk menjelaskan.

Setelah ada SOP tersebut, setiap orang dalam perusahaan harus memahami dan menjalankannya dengan benar. Setelah kita yakin bahwa perusahaan kita mampu, kita mendatangkan appraiser atau auditor untuk memeriksa proses kita.

Kegiatan appraisal ini disebut dengan SCAMPI. Ada macam-macam SCAMPI, tapi yang berhak mengeluarkan peringkat ML hanyalah SCAMPI Class A.

Dalam SCAMPI, Lead Appraiser(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. Nah, tugas ATM adalah menjembatani antara istilah CMMI dan istilah internal perusahaan.

Wawancara ATM tidak aneh-aneh. Untuk setiap proses area, mereka akan tanya apakah FAR sudah mengimplementasikan. Bila sudah, mana buktinya. Bukti ini bisa berupa hard-copy, bisa juga soft-copy. Kita bisa mengajukan email sebagai evidence. Bahkan kita juga bisa menunjukkan log Subversion atau item bug dalam aplikasi bug tracker.

Dalam sintaks Java 5, proses appraisal dalam SCAMPI Class A bisa digambarkan sebagai berikut.

int level = 1;

appraisal:
for(int i=1; i<=5; i++) {
    List allProcessAreas = maturityLevel[i].getProcessAreas();
    for(ProcessArea pa : allProcessAreas) {
        for(GenericPractice gp : allGenericPractices) {
            if(!far.isImplement(pa, gp) { break appraisal; }
        }

        for(SpecificPractice sp : pa.getSpecificPractices()) {
            if(!far.isImplement(sp)) { break appraisal; }
        }

        level++;
    }
}

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. Sebagai contoh, kita bisa melihat hasil appraisal BaliCamp pada tahun 2006.

Sayangnya, sampai sekarang belum ada appraiser lokal. Jadi kita harus mendatangkan appraiser dari luar negeri.

Informasi lebih rinci mengenai SCAMPI dapat dilihat di spesifikasi resminya. Di sana ada penjelasan rinci tentang apa saja syarat menjadi ATM, bagaimana proses interview dilakukan, dan bagaimana cara memutuskan apakah suatu evidence sudah memenuhi syarat atau belum.

Apa yang dimaksud Continuous Representation?

Perusahaan mengadopsi CMMI untuk berbagai tujuan. Ada yang bermotif marketing, yaitu meraih ML tertentu dengan harapan akan mendapat project dari US-DoD, ataupun simply memperkeren Company Profile. Sama saja dengan kita ambil SCJP.

Ada juga yang memang berniat meningkatkan kualitas prosesnya. Mengadopsi CMMI dengan harapan perusahaan akan menjadi lebih baik.

Kita kesampingkan dulu motif marketing. Mari kita lihat motif peningkatan kualitas. Ada beberapa pendekatan untuk mengadopsi CMMI. Kita bisa mengadopsi per ML, misalnya tahun ini ML-3, berikutnya ML-4, dan seterusnya. Atau bisa juga kita hanya memfokuskan perbaikan pada satu process area tertentu saja, misalnya Requirement Management, atau Risk Management.

Bila kita berorientasi ML, maka kita mengambil pendekatan Staged Representation. Sedangkan bila kita berorientasi PA, maka kita mengambil pendekatan Continuous Representation.

Bila perusahaan saya sudah ML-5, apakah perusahaan akan menjadi monoton dan membosankan? Apakah karyawannya akan menjadi seperti robot belaka??

Bagi programmer seperti saya dan Anda, kreativitas dan improvisasi adalah kenikmatan kerja yang utama. Itulah yang membuat kita memilih profesi software developer. Oleh karena itu, wajar bila kita mengkhawatirkan masalah ini.

Well, saya sudah pernah mengantarkan BaliCamp meraih ML-3, dan ikut terlibat dalam persiapan mencapai ML-5. Jadi, yang akan saya ceritakan ini adalah pengalaman nyata, bukan FUD (Fear, Uncertainty, Doubt).

Sebagai programmer yang terlibat dalam project, hal yang paling menyebalkan bagi kita bukanlah kesulitan teknis atau kerumitan algoritma. Semakin sulit, semakin menantang bagi kita. Hal yang paling menyebalkan adalah perubahan requirement di tengah jalan. Fitur yang kita implementasi dengan susah payah, bertampilan Web 2.0, menggunakan teknologi AJAX, tiba-tiba divonis client, “Ini bukan yang saya mau, GANTI !!!”.

Atau mungkin tidak se-ekstrim itu. End-user hanya minta geser tombol sedikit, tambah fitur sedikit, dan sedikit-sedikit lainnya, yang lama-lama tentunya akan menjadi bukit. Tiba-tiba, project sudah telat 2 bulan, dan fitur baru 50% terimplementasi. Bukan karena kita codingnya lama, tapi karena user minta perubahan melulu.

Nah, urusan perubahan requirement ini wajib hukumnya untuk dikelola dengan baik. Diatur dalam process area Requirement Management (REQM) yang ada di ML-2 dalam SP 1.3. Kalau perusahaan kita mengimplementasi REQM dengan baik, kita sebagai programmer akan lebih tenang hidupnya. Semua perubahan terhadap aplikasi yang sedang dibuat harus melalui rangkaian prosedur untuk memastikan perubahan tersebut benar-benar diinginkan dan sudah dipertimbangkan konsekuensinya. End-user tidak akan semena-mena meminta perubahan, tapi harus melalui persetujuan atasannya dan atasan kita. Dengan demikian, perubahan yang sampai pada programmer sudah pasti adalah perubahan yang penting, bukan hanya menurut end-user, tapi juga menurut sponsor project. Bahkan, adanya prosedur ini saja sudah cukup untuk membatasi liarnya imajinasi end-user.

Ini hanya satu contoh saja bagaimana implementasi CMMI memudahkan hidup kita sebagai programmer. Silahkan baca-baca spesifikasinya untuk mengetahui aturan-aturan lainnya. Secara umum, CMMI sama sekali tidak menyinggung tentang teknologi, IDE, tools, bahasa pemrograman yang digunakan. Bahkan kegiatan coding sendiri cuma dibahas dalam 2 PA dari 22 yang ada, yaitu Technical Solution dan Product Integration.

Technical Solution mengharuskan kita untuk mengidentifikasi alternatif pendekatan yang tersedia. Kemudian dari alternatif tersebut, kita pilih yang paling baik, berdasarkan kriteria yang kita tentukan sendiri. Jadi tidak boleh langsung coding, melainkan harus mikir dulu.

ML-4 dan ML-5 banyak menitikberatkan pada analisa kuantitatif dan continuous improvement. Sukakah anda terlibat dalam project yang selesai tepat waktu, tidak lembur, libur pada hari Sabtu-Minggu? Nah, kalau sudah ML-5, project seperti ini bukan lagi impian, tapi sudah menjadi hal yang biasa. Delay dalam project sudah bisa diketahui sejak dini. Dari mulai telat 1 hari, project manager sudah bisa tahu dan mengambil tindakan antisipasi seperti minta pengunduran jadwal, mengurangi requirement, dan sebagainya.

Sebagai programmer, tidak banyak perubahan yang kita rasakan selain project menjadi lebih tenang dan teratur. Yang paling besar terkena dampak implementasi CMMI adalah Project Manager. Tiba-tiba saja dia akan diharuskan membuat banyak dokumen dan menyediakan data. Pekerjaan administratifnya akan menjadi jauh lebih banyak.

Tentunya hal ini bisa diatasi dengan otomasi proses. Begitu prosesnya sudah rapi, kegiatan administrasi bisa di-online-kan. Masalah versioning dokumen bisa diatasi dengan Subversion. Daftar resiko project, task management, bug report, bisa diotomasi dengan Bug/Issue Tracker. Lagipula, bila perusahaan kita bergerak di bidang IT, tentunya persenjataan seperti itu sudah seharusnya menjadi lifestyle kita.

Demikianlah penjelasan singkat tentang CMMI. Lain waktu kita akan bahas satu persatu Process Area yang ada.

Semoga bermanfaat.

  1. 9 Responses to “Apa itu CMMI?”

  2. By arian on Jun 18, 2008 | Reply

    Thanks Mas Endy untuk penjelasannya.. clear and clean!

    Kebetulan sedang mencari tau bagaimana caranya membuat pekerjaan programming bisa lebih tenang tidak dihantui perubahan terus menerus dari user. Coding dictate by user!
    Pernah saya melihat deskripsi di lowongan dimana mereka menyebutkan ’siap untuk perubahan requirement yang sering terjadi’. Kenapa programmernya yang dikorbankan? Karena programmer adalah kulinya ;D

    Mas Endy kan sedang bikin company baru nih.. Mudah2an bisa mengarah kesana. Sukses selalu…

  3. By WishKnew on Jun 19, 2008 | Reply

    Good posting Ndi. Dulu gak sempet nulis ginian. Sekarang malah sempet hahaha..

    Udah jadi boss emang jadi lebih banyak waktu ya.. xixixi.

  4. By syafii on Jun 24, 2008 | Reply

    baru ngerti kalo company management system kayak gini baru diterapin di perusahaan yang bergerak dibidang IT, padahal di perusahaan yang bergerak dibidang manufacturing company management system kayak gini udah lama jalan. tapi salut buat mas endy. oia, salam kenal juga

  5. By sapi on Jul 1, 2008 | Reply

    Komentar aja sih, jangan sampai ngurusi paperwork yang seabrek membuat project manager lupa mengurusi faktor yang jauh lebih penting bagi kesuksesan project, yaitu faktor human.

    Biarpun CMMI sampai level 100 pun kl programmernya bego, testernya ceroboh, analystnya gak cermat, project juga gak bakal sukses.

    Fokus utama seorang project manager sebaiknya tetap human, seperti memberi pujian, meng-energized anggota tim, menentukan konfigurasi tugas sedemikian rupa sehingga kekuatan setiap anggota tim dapat dimaksimalkan dan kelemahannya menjadi tidak signifikan, dsb.

    Jangan sampai karena adanya CMMI, bagi anggota tim project manager cuma sebagai status reporter aja.

  6. By arian on Jul 3, 2008 | Reply

    Ada yang menarik hubungan antar militer dengan university di AS. Militer saling bahu membahu dengan kampus dalam hal teknologi. Bukti fenomenal relasi mereka adalah INTERNET. Yang unik di negara kita, hubungan paling harmonisnya berupa MENWA. ;D
    ahh.. sudahlah jangan dilanjutkan, mari kita perbaiki pasti bisa.

  7. By henri on Jul 6, 2008 | Reply

    Salam kenal Pak Endy.
    Nice article..

    @sapi, saya stuju faktor human jg penting,
    Triangle:
    1. Process -> CMMI, ISO etc
    2. Human
    3. Technology
    harus saling sepadan.

    Mnurut Pak Endy, apa kelebihan CMMI dgn standar proses yg lain mis 6 Sigma?

    Regards.

  8. By arian on Aug 4, 2008 | Reply

    @sapi
    Tak mungkin bisa menerapkan sei cmmi kalau tidak mempunyai aspek human yang memadai krn pasti kualitas deliverablesnya juga dinilai. Jadi menurut saya kalau sebuah company bisa mendapatkan rating dari cmmi pasti juga aspek humannya sudah qualified.

  9. By Syafrudin Abi-Dawira on Aug 6, 2008 | Reply

    @syafii
    Bagi bidang engineering yang lain, quality assurance sudah merupakan hal biasa. Namun perlu diketahui bahwa meski namanya software engineering, sebetulnya kata engineering di sini sudah biasa dipertanyakan, karena kebanyakan software developer dididik secara turun temurun dengan filosofi bahwa software development itu art bukan engineering.
    karena itu sulit mencari orang semacam Endy Muhardin tapi asli didikan jurusan ilmu komputer.

    “An Unconsummated Marriage”, itu istilah Parnas dalam presentasi yang sudah berumur sudah 10 tahun tapi masih tetap relevan entah sampai kapan :-) ini
    http://www.cs.utexas.edu/users/software/1998/parnas-19981208.pdf

    Kondisi ini yang menyebabkan muncul istilah software crisis. Ada banyak artikel bagus tentang ini, salah satunya dari Scientific American 14 tahun yang lalu :-)

    http://www.cis.gsu.edu/~mmoore/CIS3300/handouts/SciAmSept1994.html

    @sapi
    Tentang human factor, setuju dengan henri dan arian.

    Salah kaprah klasik tentang dikotomi “human factor” vs “system procedure” sudah biasa, dan memang butuh waktu untuk meluruskannya, karena budaya manajemen mutu kita memang harus diakui masih rendah.
    Bagi saya, keduanya sama pentingnya, kita tidak bisa mengabaikan salah satunya. Mutu bagi saya adalah hasil perkalian antara keduanya. Jika human factor NOL, mutu pasti NOL juga. Begitu pula jika system & procedure NOL, mutu juga pasti NOL juga. Mutu baru bisa bernilai SATU jika keduanya SATU.

    Di sisi lain, perlu dipahami bahwa sertifikasi baik ISO maupun CMMI ataupun yang lain, tidak hanya memeriksa system & procedure, tapi juga memeriksa persyaratan kompetensi alias human factor tadi. Jadi hanya bisa certified kalau keduanya sudah OK.

    Salah kaprah lain adalah bahwa pengembangan system & procedure selalu berarti tugas paperwork dan reporting yang seabrek, sehingga kita kehilangan waktu yang berharga untuk mengerjakan “pekerjaan nyata yang menghasilkan”.
    Padahal sebetulnya: (1) system & procedure itu harus disusun sesuai dengan kebutuhan masing – masing. Tidak benar kalau kita bisa menyalin mentah – mentah system & procedure dari organisasi lain. Bisa saja pada organisasi tertentu ada paperwork seabrek misalnya pada penerbangan karena memang demikian kebutuhannya, sementara untuk IT mungkin sebaliknya, semua nyaris paperless. (2) kenyataan justru dengan system & procedure yang sudah disusun dengan baik, efisiensi untuk reporting jauh meningkat. Sebagai contoh dalam organisasi “koboi” kita biasa tidak menerapkan requirement management yang rigid, sehingga requirement adalah apa yang ada di ingatan kita atau di arsip email kita. Sudah biasa masing – masing orang (project manager, analist, programmer, sales) punya persepsi yang berbeda – beda tentang requirement ini. Dan kita menganggap biasa kalau meeting butuh waktu panjang hanya untuk satu hal sepele karena kita perlu waktu untuk menyamakan persepsi ini. Padahal jika kita mengikuti ISO ataupun CMMI, pasti kita dituntut salah satunya mempunyai requirement management yang baik dan dengan requirement management ini, seharusnya meeting kita akan jauh lebih efisien karena kita akan selalu too-the-point dalam meeting.

    Setelah kita bisa meyakinkan pentingnya sistem & prosedur, yang lebih jauh lagi, ada salah kaprah klasik tentang dikotomi “compentence” vs “quality control”.

    Di kantor saya misalnya, ketika hendak diterapkan ISO, bos di engineering juga skeptis dengan mengatakan bahwa Quality itu ada pada competence dari engineernya, jadi quality controller itu tidak perlu. Kalau engineernya competent, tanpa quality controller juga hasilnya tetap bagus; sedang kalau engineernya tidak competent, pakai quality controller juga tetap jelek. Payahnya, persepsi ini ditularkan ke para engineer :-) .
    Ketika saya ngobrol dengan bos keuangan, persepsi yang sama juga muncul darinya.

    Nah, biasanya saya menjelaskan dalam bahasa awam, analogi dengan sebuah pengadilan, quality controller adalah saksi sedang quality record adalah alat bukti, keduanya diperlukan oleh sang engineer untuk membuktikan bahwa:
    -1- sang engineer memenuhi syarat kompetensi yang ditentukan oleh sistem prosedur.
    -2- sang engineer sudah melaksanakan semua kegiatan yang ditentukan oleh sistem prosedur.
    Juga analogi dengan audit keuangan. Audit keuangan tetap diperlukan bukan karena akuntan dan pemegang kasnya tidak punya integritas. Auditor dengan quality controller itu kurang lebih sama kedudukannya.

    @henri
    Kalau menurut saya Six Sigma tidak pada kedudukan yang bisa dibandingkan dengan CMMI, karena Six Sigma kan lebih merupakan salah satu pendekatan bagi “continuous improvement”.
    Bagi saya yang setara dengan Six Sigma dalam software engineering adalah berbagai pendekatan dalam software testing, misalnya pendekatan “Continuous Integration”, “Test Driven Development”, dan sejenisnya.
    Kalau Six Sigma dibandingkan dengan pendekatan dalam software testing tersebut, menurut saya keduanya bersifat komplementer. Six Sigma menawarkan pendekatan kuantitatif untuk mengukur tingkat cacat yang ada, sedang “Continuous Integration” misalnya memungkinkan kita bisa melakukan testing secara terus menerus sehingga kita punya data (software metric) untuk menjadi input kuantitatif bagi Six Sigma.

Post a Comment