Saturday, 1 June 2013

SUPPORTING QUALITY DEVICES


TEMPLATE

Template merupakan alat pengukur, yang digunakan sebagai acuan atau pedoman untuk membuat sesuatu. Ketika diterapkan pada rekayasa perangkat lunak, istilah template mengacu pada format yang dibuat oleh unit atau organisasi, untuk diterapkan ketika menyusun laporan, atau beberapa dokumen.
Sebuah template yang komprehensif dikembangkan oleh Departemen Pertahanan Amerika Serikat untuk digunakan dengan dokumen perangkat lunak yang harus diselesaikan oleh kontraktor sesuai dengan standart militer. Standart militer menggunakan istilah DID (Data Item Description). DID menyediakan table yang sangat rinci yang isinya sangat cocok untuk dokumentasi yang diperlukan dalam kontrak pengembangan perangkat lunak dalam skala yang besar. 

Contoh dari DID (Data Item Description) adalah :

1)      Software Requirements Specification (SRS)
2)      System/Subsystem Design Description (SSDD)
3)      Computer Operator Manual (COM)
4)      Interface Design Description (IDD)
5)      Software Test Plan (STP)
6)      Software Version Description (SVD)

Penggunaan adanya template dapat memberikan keuntungan terutama untuk tim pengembangan dan tim review. Keuntungan tersebut antara lain : 

1)      Memfasilitasi proses penyusunan dokumen dengan penghematan waktu dan energy yang dibutuhkan untuk menguraikan struktur laporan
2)      Memastikan bahwa dokumen yang telah dipersiapkan oleh pengembang sudah lengkap
3)      Memudahkan integrasi oleh anggota tim yang baru
4)      Memfasilitasi review dokumen dengan menghapus proses untuk mempelajari struktur dokumen dan mengkonfirmasi kelengkapannya apabila dokumen tersebut telah didasarkan pada template yang sesuai
5)      Memudahkan informasi mengenai lokasi yang dibutuhkan untuk maintenance

Sumber informasi yang paling umum yang dapat digunakan dalam mempersiapkan template adalah : 

1)      Template informal yang telah digunakan dalam organisasi
2)      Contoh template yang ditemukan pada publikasi professional
3)      Template yang telah digunakan oleh organisasi – organisasi yang serupa

Keputusan untuk melakukan pembaharuan pada template dapat berdasarkan keputusan antara lain:

1)      Proposal pengguna dan saran
2)      Perubahan dalam organisasi
3)      Proposal yang diprakarsai oleh tim inspeksi dan tim review desain berdasarkan template dokumen yang telah mereka persiapkan
4)      Analisis kegagalan dan analisis keberhasilan
5)      Pengalaman dalam organisasi
6)      Inisiatif tim SQA

CHECKLIST

Checklist yang digunakan oleh pengembang perangkat lunak mengacu pada daftar item khusus yang dibangun untuk setiap jenis dokumen atau persiapan sebelum melakukan suatu kegiatan. Penggunaan checklist dapat dikatakan sebagai alat infrastuktur operasional.

Kontribusi sebuah checklist untuk sebuah perangkat lunak tentunya dapat memberikan keuntungan bagi tim pemeliharaan (maintenance) dan tim review, antara lain : 

1)      Membantu pengembang melakukan pengecekan pada dokumen atau kode perangkat lunak sebelum dokumen atau kode perangkat lunak tersebut selesai. Jadi dengan begitu dapat diketahui bagian mana yang belum lengkap serta dapat mendeteksi penyimpangan yang sebelumnya bisa saja tidak diketahui.
2)      Membantu pengembang dalam mempersiapkan pekerjaan mereka seperti contohnya instalasi perangkat lunak, kinerja kualitas audit di lokasi subkontraktor, atau penandatanganan kontrak dengan supplier.
3)      Memastikan kelengkapan dokumen review yang dilakukan oleh anggota tim review 

Sumber informasi yang paling umum yang dapat digunakan dalam memperbaharui checklist adalah : 

1)      Checklist informal yang telah digunakan dalam organisasi
2)      Contoh checklist yang ditemukan pada publikasi professional
3)      Checklist yang telah digunakan oleh organisasi – organisasi yang serupa
Jadi, penggunaan sebuah template dan checklist dapat dikatakan berhasil apabila mayoritas pengguna atau konsumen internal yang relevan dapat mempergunakannya dengan teratur. Di banyak organisasi, penggunaan beberapa atau semua template merupakan keharusan.

Sumber : Daniel Galin, “Software Quality Assurance : From Theory to Implementation.” 2004.

STAFF TRAINING AND CERTIFICATION


Tujuan dari adanya pelatihan dan sertifikasi adalah :

1)      Untuk mengembangkan wawasan dan ketrampilan  staf baru yang diperlukan untuk melakukan pengembangan dan pemeliharaan
2)      Menjamin kesesuaian dengan standar organisasi untuk produk perangkat lunak dengan mentransfer struktur prosedur bersamaan dengan instruksi kerja
3)      Memperbaharui pengetahuan dan ketrampilan staf veteran (staf yang telah berpengalaman) dalam menanggapi perkembangan organisasi
4)      Mentransmit pengetahuan tentang prosedur SQA
5)      Mengetahui kompetensi staf

Pengoperasian pelatihan dan sertifikasi mengharuskan kegiatan – kegiatan berikut dilaksanakan antara lain yaitu :

1)      Menentukan persyaratan professional yang dibutuhkan untuk setiap posisi
2)      Menentukan pelatihan professional dan memperbaharui kebutuhan
3)      Merencanakan program pelatihan professional
4)      Merencanakan program update professional
5)      Menentukan posisi atau jabatan yang membutuhkan sertifikasi
6)      Merencanakan proses sertifikasi
7)      Memberikan program pelatihan, update, dan sertifikasi
8)      Melakukan tindak lanjut dari staf yang telah terlatih dan bersertifikat
Pelatihan dan memperbaharui kebutuhan ditentukan oleh perbandingan pengetahuan staf saat ini dengan kebutuhan pengetahuan yang baru. 

Jenis pelatihan disesuaikan dengan kebutuhan dari tiga kelompok staf yang berbeda yaitu 

1)      Pelatihan bagi pegawai baru, berdasarkan pekerjaan masing – masing
2)      Pelatihan ulang bagi pegawai yang menerima tugas baru
3)      Memperbaharui untuk pegawai yang dituntut melaksanakan pekerjaan sesuai dengan posisi yang diperoleh

Proses sertifikasi individu, maka persyaratan yang harus dilakukan adalah : 

1)      Gelar akademik Pendidikan professional
2)      Kursus pelatihan internal
3)      Pengalaman professional dalam organisasi
4)      Penilaian prestasi dan kemampuan seperti yang tercantum dalam penilaian kinerja secara berkala
5)      Evaluasi yang dilakukan oleh calon atasan secara langsung
6)      Mendemokan pengetahuan dan ketrampilan melalui tes
7)      Pengawasan mentor untuk jangka waktu tertentu

Tanggung jawab sertifikasi meliputi : 

1)      Merespon permintaan yang dibuat oleh aplikasi atau organisasi
2)      Melakukan tindak lanjut
3)      Merevisi persyaratan sertifikasi sesuai dengan perkembangan teknologi
4)      Merevisi daftar posisi yang memerlukan sertifikasi
Tindak lanjut dimaksudkan untuk memberikan informasi yang diperlukan untuk memulai revisi dari program pelatihan dan sertifikasi berdasarkan data kinerja.

Sumber data kinerja meliputi : 

1)      Metric kinerja regular seperti kesalahan produktifitas yang disiapkan oleh masing – masing unit
2)      Kuesioner yang diisi oleh peserta pelatihan
3)      Analisis prestasi yang telah dicapai serta kegagalan
4)      Tinjauan khusus dari produk perangkat lunak

Sumber : Daniel Galin, “Software Quality Assurance : From Theory to Implementation.” 2004.

Friday, 31 May 2013

Software Quality Metrics

Metrik kualitas harus dimasukkan dalam perangkat lunak untuk membantu manajemen dalam tiga bidang dasar:
  • Pengendalian proyek pengembangan perangkat lunak &pemeliharaan 
  • Dukungan pengambilan keputusan
  • Inisiasi tindakan korektif
Klasifikasi dari metrik kualitas ada 2 yaitu :
  1. Metrik proses  : Terkait dengan  proses pembangunan software, yang dimana didalamnya juga terdapat pembahasan mengenai metrik kualitas proses software, metrik proses Perangkat Lunak, metrik jadwal, kesalahan penghapusan, metrik efektivitas, proses Perangkat Lunak, dan metrik produktivitas. Pada metrik kualitas proses software dapat diketahui seberapa banyak kesalahan yang terjadi dan tingkat keparahan dari kesalahan yang terjadi.
  2. Metrik produk : Terkait dengan pemeliharan software.
Customer service, terdapat 2 tipe pada customer service yaitu :
  1. Help Desk Services (HD)    
  • Menginstruksikan metode aplikasi perangkat lunak kepada pelanggan
  • Memberikan solusi pelaksanaan pelanggan
    masalah
  • Layanan HD tergantung pada kualitas pengguna
    antarmuka, manual user.
     2. Jasa pemeliharaan korektif   :
  • Koreksi kegagalan perangkat lunak diidentifikasi oleh pelanggan / pengguna atau terdeteksi oleh layanan pelanggan
  • Jumlah kegagalan perangkat lunak dan kepadatan mereka langsung berkaitan dengan kualitas pengembangan perangkat lunak
  • Berdasarkan laporan kegagalan.
Kegiatan perawatan perangkat lunak meliputi:
  • Pemeliharaan korektif: koreksi software 
  • kegagalan terdeteksi selama operasi normal perangkat lunak
  • Pemeliharaan Adaptive : adaptasi yang ada perangkat lunak untuk pelanggan baru atau persyaratan baru.
  • Pemeliharaan perbaikan Fungsional: Selain fungsi baru untuk perangkat lunak yang ada,peningkatan kehandalan, dll
Sumber : Daniel Galin, “Software Quality Assurance : From Theory to Implementation.” 2004.

PROCEDURES AND WORK INSTRUCTIONS


Prosedur adalah suatu cara tertentu untuk dapat menyelesaikan sesuatu atau berupa tindakan (Webst’r's New College Dictionary). Dengan kata lain, prosedur merupakan detail aktifitas atau proses yang akan dilakukan sesuai dengan metode yang diberikan dengan tujuan agar dapat menyelesaikan sebuah tugas yang ditransmisikan ke dalam sebuah dokumen. Sebuah prosedur cenderung bersifat universal didalam sebuah organisasi, yang berarti bahwa prosedur harus diterapkan kapanpun tugas tersebut dilakukan, terlepas siapa yang melakukan tugas tersebut dan terlepas dari konteks organisasi.

Instruksi kerja digunakan terutama dalam kasus dimana keseragaman metode dalam melaksanakan seluruh tugas organisasi yang dibuat untuk kebutuhan  tiap tim, departemen, atau unit 

Tujuan prosedur dan instruksi kerja adalah : 

  1. Kinerja tugas, proses atau aktifitas yang paling efektif dan efisien tanpa menyimpang dari persyaratan kualitas
  2. Komunikasi yang efektif dan efisien untuk staf yang terpisah yang terlibat dalam pengembangan dan pemeliharaan sistem perangkat lunak. Keseragaman kinerja dapat dicapai sesuai dengan apa yang telah ada dalam prosedur dan instruksi kerja sehingga dapat mengurangi kesalahpahaman yang terjadi yang dapat juga mengakibatkan terjadinya error atau kesalahan sistem perangkat lunak
  3. Mengkoordinasikan antara tugas dan kegiatan yang dilakukan oleh tiap anggota yang berbeda di sebuah organisasi sehingga semakin baik sebuah koordinasi maka kesalahan yang akan terjadi juga akan semakin sedikit

Lima ‘W’ yang dapat diselesaikan dengan adanya prosedur antara lain :

1)      What activities have to be performed? ( kegiatan apa saja yang harus dilakukan?)
2)      hoW should each activity be performed? (bagaimana seharusnya setiap kegiatan dilakukan?)
3)      When should the activity be performed? (kapan kegiatan akan dilakukan?)
4)      Where should the activity be performed? (dimana seharusnya kegiatan dilakukan?)
5)      Who should perform the activity? (siapa yang seharusnya melakukan kegiatan?)

Table mengenai prosedur berisi :

1)      Pendahuluan
2)      Tujuan
3)      Istilah dan singkatan
4)      Dokumen yang berlaku
5)      Metodologi
6)      Rekaman kualitas dan dokumentasi
7)      Pelaporan dan tindak lanjut
8)      Tanggung jawab pelaksanaan
9)      Daftar lampiran 

Isi sebuah prosedur manual dalam suatu organisasi bervariasi sesuai dengan : 

  1. Jenis – jenis kegiatan pengembangan dan pemeliharaan perangkat lunak yang dilakukan oleh organisasi 
  2.  Kisaran pelanggan dan pemasok
  3. Konsep yang mengatur pilihan metode yang diterapkan oleh organisasi untuk mencapai tujuan SQA yang diinginkan

Contoh instruksi kerja :

Ø  Instruksi Kerja Departemen
1)      Proses audit untuk subkontraktor
2)      Pengembangan perangkat lunak baru
3)      Prioritas penanganan tugas perbaikan pemeliharaan
4)      Evaluasi tahunan subkontraktor pengembangan perangkat lunak
5)      Instruksi on-the-job dan tindak lanjut untuk anggota tim baru
6)      Desain template dokumentasi dan aplikasi
7)      Instruksi pemrograman

Ø  Instruksi Kerja Manajemen Proyek
1)      Koordinasi dan kerja sama dengan pelanggan
2)      Pelaporan oleh pemimpin tim setiap minggunya
3)      Desain template laporan khusus dan aplikasi dalam proyek
4)      Tindak lanjut situs pelaporan
5)      Perkembangan laporan kepada pelanggan setiap bulan
6)      Koordinasi instalasi dan instruksi tim pelanggan

Motivasi untuk melakukan update terhadap prosedur dilakukan berdasarkan : 

1)  Perubahan teknologi yang digunakan dalam pengembangan alat, perangkat keras, komunikasi, peralatan, dan lain – lain
2)      Perubahan di wilayah organisasi kegiatan
3)      Pengguna proposal untuk perbaikan
4)      Analisis kegagalan maupun analisis keberhasilan
5)      Proposal untuk perbaikan yang dilakukan berdasarkan laporan audit internal
6)      Pembelajaran dari pengalaman organisasi lain
7)      Pengalaman yang dirasakan oleh tim SQA


Sumber : Daniel Galin, “Software Quality Assurance : From Theory to Implementation.” 2004.