Senin, 24 Juni 2013

Membangun IT Quality Assurance

Artikel ini menceritakan pengalaman penulis dalam membangun unit kerja IT Quality Assurance di dalam suatu perusahaan.
Apa itu IT Quality Assurance (ITQA) ?. Mengapa harus ada ITQA?. Dalam memahami ITQA kebanyakan orang masih sering tertukar dengan IT Quality Control (ITQC).
Apa bedanya ITQA dengan ITQC?. QA focus kepada process untuk menghasilkan produk, sedangkan QC focus kepada produk yang dihasilkan. QA cenderung defect  prevention, sedangkan QC cenderung defect detection. Untuk melihat perbedaan QA dengan QC dan dapat dilihat pada bahasan tentang QA vs QC.



Pada saat awal, memang agak sulit juga untuk meyakinkan orang-orang, bahwa pengertian ITQA berbeda dengan ITQC. Sering orang mengira bahwa ITQA harus terlibat dalam setiap proses produksi IT, padahal seharusnya ITQA lebih focus pada proses untuk menghasilkan produk IT tersebut, tugas ITQA seharusnya  adalah mendefinisikan proses, review efektifitas proses. Area yang menjadi perhatian ITQA dapat dilihat pada artikel IT Quality Assurance.
Kadang-kadang salah pengertian tentang QA vs QC tersebut disalahgunakan baik disadari ataupun tidak. Contohnya dalam area pengembangan aplikasi, karena ada salah pengertian tentang fungsi ITQA, unit kerja ITQA ditugaskan untuk memastikan kualitas sistem aplikasi yang akan masuk ke produksi dengan cara diminta untuk melakukan review aplikasi tersebut, dengan segala macam cara unit kerja tersebut bekerja keras berusaha memastikan kualitas dari aplikasi tersebut. Sebetulnya hal tersebut tidak akan pernah efektif, karena sebetulnya yang bertanggungjawab terhadap kualitas suatu produk adalah si pembuat produk tersebut.
Di mana letak penyalahgunaannya?. Karena unit kerja ITQA dianggap yang paling bertanggungjawab terhadap kualitas produk, maka jika terjadi kesalahan pada produk tersebut maka ITQA yang disalahkan, bukan si pembuat produk tersebut.
Kembali ke contoh ITQA yang berusaha untuk melakukan review terhadap kualitas aplikasi, usaha tersebut berdasarkan pengalaman sangat-sangat tidak efektif, mengapa?.
Karena dapat dibayangkan bagaimana ada orang lain selain si pembuat program aplikasi yang berusaha untuk melakukan pemeriksaan kualitas program, padahal seperti diketahui seorang programmer akan selalu mengerahkan usaha dan upayanya untuk memastikan bahwa kualitas program yang dibuatnya memenuhi harapan sehingga keterkaitan “emosional” antara program dengan programmernya sangat erat, bagaimana mungkin petugas ITQA dapat menyaingi programmer dalam hal keterkaitan “emosional” dengan program yang dibuat?.
Seorang programmer akan mengetahui dengan pasti seluk-beluk sampai ke yang rinci dari program yang dibuatnya, tetapi petugas ITQA pasti tidak akan mampu menyaingi si programmer.
Jika diinginkan, akan dengan mudahnya seorang programmer mengganti titik dengan koma atau sebaliknya dari suatu program, dan petugas ITQA kemungkinan besar tidak akan dapat melacaknya. Itulah sebabnya usaha untuk membentuk ITQA yang secara langsung memeriksa/memastikan kualitas suatu produk tidak akan pernah efektif, karena sebetulnya yang bertanggungjawab terhadap kualitas suatu produk adalah si pembuat produk tersebut.
Lalu apa yang seharusnya dilakukan?.
Dalam contoh pengembangan aplikasi, terdapat tiga kegiatan utama yaitu Software Management, Software Engineering dan Software Assurance.
Lalu bagaimana Quality Assurance masuk ke dalam proses pengembangan aplikasi?.
Adanya usaha untuk melakukan pengembangan aplikasi sesuai best pratices atau ketentuan yang berlaku adalah merupakan salah satu contoh implementasi dari IT Quality Assurance. Disamping itu aspek quality assurance dalam kegiatan pengembangan aplikasi juga dapat dimasukkan ke dalam software specification dan software design.
Demikian pula adanya usaha untuk melakukan pengelolaan operasional, network dan security IT sesuai best pratices atau ketentuan yang berlaku adalah merupakan salah satu contoh implementasi dari IT Quality Assurance.
Komponen dari IT Quality Assurance adalah IT Management, IT Confidentiality, IT Integrity dan IT Availability. Dilihat dari komponen-komponen di atas terlihat bahwa cakupan IT Quality Assurance sangat luas bahkan dapat dikatakan cakupan dari IT Quality Assurance adalah seluruh area yang ada di IT.
Bagaimana cakupan yang luas tersebut dapat tertangani oleh fungsi IT Quality Assurance?. Itulah pentingnya dipahami bahwa fokus dari IT Quality Assuarnce adalah pada proses untuk menghasilkan suatu produk, bukan fokus pada produk yang dihasilkan. Fungsi yang fokus pada produk yang dihasilkan adalah IT Quality Control.
Keberadaan IT Quality Assurance dalam suatu organisasi harus berbentuk suatu unit kerja yang permanen, tetapi keberadaan IT Quality Control dalam suatu organisasi tidak berbentuk suatu unit kerja yang permanen tetapi merupakan perwujudan dari adanya kepatuhan yang optimal untuk menerapkan proses yang telah ditetapkan dalam menghasilkan suatu produk.
Jika di dalam suatu organisasi seluruh proses yang diperlukan dalam menghasilkan produk terdefinisi dan tersedia dengan baik maka artinya quality assurance dari organisasi tersebut baik. Jika di dalam suatu organisasi kepatuhan terhadap implementasi proses untuk menghasilkan produk berjalan dengan baik maka artinya quality control dari organisasi tersebut baik.
Jika yang bertanggungjawab terhadap kualitas produk yang dihasilkan adalah ITQC, apakah ITQA tidak bertanggungjawab terhadap kualitas produk IT?, padahal pasti tujuan adanya ITQA adalah dalam rangka memastikan bahwa kualitas produk IT yang dihasilkan adalah sesuai dengan harapan.
Tentu saja ITQA bertanggungjawab terhadap kualitas produk IT. Seperti disebutkan di atas ITQA fokus pada proses untuk menghasilkan produk dan ITQA fokus pada produk yang dihasilkan.
Untuk memahami di mana letaknya tanggungjawab ITQA terhadap kualitas produk IT, mari kita memahaminya dengan melihat dari sudut pandang tanggung jawab, kewenangan dan pendelegasian. Seperti diketahui bahwa kewenangan dapat didelegasikan sedangkan tanggungjawab tidak dapat didelegasikan.
ITQA bertanggungjawab tehadap kualitas produk IT, bentuk implementasi pertanggungjawabannya adalah dengan cara ITQA mendelegasikan kewenangan memastikan kualitas tersebut melalui cara pendefinisian proses sedemikian rupa sehingga dapat menghasilkan produk yang berkualitas.
Jika produk yang dihasilkan tidak memenuhi persyaratan kualitas yang telah ditentukan, maka tugas ITQA untuk melakukan review dan koreksi (jika diperlukan) terhadap proses yang ada.

Tidak ada komentar:

Posting Komentar