Executive Summary Mastering IT Quality Assurance using IT Management Best Practices for IT Quality, IT Assurance and IT Professional

(0 votes)
Executive Summary Mastering IT Quality Assurance using IT Management Best Practices for IT Quality, IT Assurance and IT Professional

Matering IT QA 0e07a
Project Quality Management Plan
Perencanaan quality management dalam manajemen proyek adalah untuk meningkatkan kepastian dan mengurangi risiko kegagalan proyek, yang disebabkan proses manajemen proyek yang tidak memenuhi standar yang ditetapkan dan disepakati. Project Quality Management Plan adalah suatu kerangka kerja yang mendefinisikan proses manajemen proyek yang akan diterapkan untuk memastikan bahwa proyek ini dikelola sesuai dengan metodologi dan standar yang relevan sehingga delivery hasil proyek dapat dikonfirmasi oleh IT Steering Committee (dewan direksi) sebagai tujuan perusahaan.
Pentingnya Project Quality Management Plan
Project Quality Management Plan dikembangkan untuk memberikan:
1. Gambaran dari metodologi kualitas dan standar yang harus diadopsi dalam mengelola manajemen proyek.
2. Gambaran proses persetujuan untuk manajemen perubahan, masalah dan insiden yang muncul selama pengembangan proyek.
Berdasarkan IEEE, software adalah program komputer, prosedur, dan dokumentasi data yang berkaitan dengan pengoperasian sistem computer
Sedangkan Errors, software faults dan software failures adalah Bug / cacat / kesalahan konsekuensi dari kesalahan manusia yang terjadi karena:
1. Hasil yang tidak sesuai dengan Business Requirement/Customer Requirement
2. Kesalahan dalam menjalankan aplikasi software

Terdapat beberapa istilah untuk software failure, yaitu:
1. Error: Sebuah tindakan yang salah disebabkan keputusan yang salah, ketidaktahuan atau kurangnya perhatian. atau Kesalah-pahaman yang dihasilkan dari informasi yang salah
2. Fault/bug: Kualitas yang tidak memadai atau jauh dari kesempurnaan.
3. Failure: Suatu peristiwa yang tidak mencapai tujuan yang telah ditetapkan. Atau Kehilangan kemampuan untuk berfungsi secara normal

Software Quality Assurance (SQA) adalah proses pengembangan perangkat lunak dan metode yang digunakan untuk memastikan kualitas perangkat lunak tetap terjaga, SQA meliputi proses pengembangan perangkat lunak secara keseluruhan, yang mencakup proses seperti:
1. Requirements definition
2. Software design
3. Implementation (coding):
a. Source code control
b. Code reviews
4. Change management
5. Configuration management
6. Testing
7. Release management
8. Product integration

Setelah proses telah ditetapkan dan dilaksanakan, Quality Assurance memiliki tanggung jawab sebagai berikut:
1. Mengidentifikasi kelemahan dalam proses
2. Memperbaiki kelemahan-kelemahan untuk terus meningkatkan proses

SQA fokus pada proses proyek perangkat lunak. Ini adalah metode untuk pencegahan terjadinya kesalahan pada proses-proses, Hal ini terkait dengan semua produk yang akan dibuat.
Kualitas sangat subjektif. kualitas perangkat lunak akan tergantung pada siapa pelanggan (divisi binis) dan keterlibatan pelanggan dalam proyek perangkat lunak secara keseluruhan.
Desain perangkat lunak yang baik adalah desain yang menggabungkan teknologi terbaru tapi yang sudah terbukti, memfasilitasi integrasi yang mudah dengan sistem lain, dan fleksibel untuk memungkinkan menggabungkan perubahan kebutuhan pelanggan.
Kebutuhan bisnis terus berubah seiring tambah ketatnya kompetisi, desain perangkat lunak harus dibuat cukup fleksibel untuk mengurus perubahan ini, dan fleksibeil ini harus dicantumkan dalam definisi diawal.
Pemograman yang baik adalah program yang bekerja sebagaimana didefinisikan diawal, bebas dari cacat, dapat dibaca dan dapat di lakukan pemeliharaan atau pengembangan.

Kesalahan pada Aplikasi/perangkat lunak terjadi ketika satu atau lebih aturan berikut ini dipenuhi, yaitu:
1. Aplikasi tidak melakukan sesuatu yang spesifikasi produk mengatakan harus melakukan
2. Aplikasi melakukan sesuatu yang spesifikasi produk mengatakan tidak harus melakukan
3. Aplikasi melakukan sesuatu yang spesifikasi produk tidak menyebutkan
4. Aplikasi tidak melakukan sesuatu yang spesifikasi produk tidak menyebutkan tetapi seharusnya
5. Aplikasi sulit dipahami, sulit untuk diggunakan dan lambat.

Kemampuan yang harus dimiliki oleh IT Quality Assurance, yaitu:
1. Harus berani untuk mecoba-coba. penguji perangkat lunak tidak takut untuk menjelajah ke situasi yang tidak diketahui. Mereka suka untuk mendapatkan perangkat lunak, menginstalnya pada PC mereka, dan melihat apa yang terjadi.
2. Mereka adalah pemecah masalah. Software penguji pandai mencari tahu mengapa sesuatu tidak bekerja. Mereka mencintai teka-teki.
3. Mereka tidak mudah menyerah. Software penguji terus mencoba. Mereka mungkin melihat bug yang cepat lenyap atau sulit untuk timbul kembali. Daripada menganggapnya sebagai kebetulan, mereka akan mencoba segala cara yang mungkin untuk menemukannya.
4. Mereka kreatif. Menguji sesuatu yang sudah jelas tidak cukup bagi IT QA perangkat lunak. Tugas mereka adalah untuk memikirkan cara kreatif dan bahkan pendekatan yang tidak umum untuk menemukan kesalahan/bug.
5. Mereka perfeksionis. Mereka berusaha untuk kesempurnaan, tapi mereka tahu ketika menjadi kesempuranaan susah untuk dijangkau maka mereka baik-baik saja dengan mencari kesempurnaan sedekat mungkin.
6. Mereka melakukan penilaian yang baik. Software penguji perlu membuat keputusan tentang apa yang akan mereka menguji, seberapa lama waktu yang dibutuhkan, dan jika ada masalah maka mereka melihat dapat melihatnya.
7. Mereka bijaksana dan diplomatik. Software penguji selalu pembawa berita buruk. Mereka harus memberitahu programmer bahwa hasil mereka jelek. penguji perangkat lunak yang baik tahu bagaimana melakukannya dengan bijaksana dan profesional dan tahu bagaimana bekerja dengan programmer yang tidak selalu bijaksana dan diplomatic
8. Mereka adalah persuasif. Kesalahan/bug yang ditemukan oleh penguji belum selalu terlihat cukup parah untuk diperbaiki oleh programmer . Penguji harus pandai membuat poin mereka jelas, menunjukkan mengapa bug yang ada perlu diperbaiki, dan menindaklanjuti agar diperbaiki.

Daftar penyebab yang menyebabkan cacat di perangkat lunak
1. Miskomunikasi atau tidak ada komunikasi - spesifikasi perangkat lunak atau definisi yang tidak dipahami oleh tim pengembang karena miskomunikasi atau tidak ada komunikasi antara tim proyek.
2. Tingkat kompleksitas Aplikasi - aplikasi semakin kompleks karena peningkatan kebutuhan dalam pembuatan definisi. aplikasi multi-tier, client-server, komunikasi data, database yang mempunyai relasi yang besar, dan ukuran kompleks aplikasi memiliki kontribusi untuk pertumbuhan perangkat lunak secara eksponensial.
3. kesalahan pemrograman - Jika spesifikasi desain tidak dipahami oleh programmer atau jika programmer membuat kesalahan dalam struktur pemrograman atau menerapkan desain yang salah, maka bug/kesalahan akan timbul dalam perangkat lunak.
4. Mengubah kebutuhan (requirement) - Perubahan kebutuhan mengganggu keseluruhan proyek, dari desain untuk membangun, pengujian, maupun saat phase intalasi. Dalam situasi ekstrim, dapat menyebabkan membuang semua aplikasi yang sudah dirancang dan dibangun. Dalam kasus lain, mungkin menyebabkan perubahan yang signifikan diperlukan dalam desain yang ada. Kadang-kadang perubahan kecil yang diperlukan dalam satu modul dari software dapat menyebabkan perubahan signifikan diperlukan dalam modul lainnya
5. Sumber Daya terbatas - Karena intangibility dan sifat abstrak dari produk perangkat lunak, sangat sulit untuk membuat jadwal yang baik untuk proyek-proyek perangkat lunak. Hal ini dapat menyebabkan penjadwalan yang buruk, yang menyebabkan banyak profesional software kewalahan.
6. Kurang terampil - Profesi software membutuhkan profesional yang sangat terampil dan berpengalaman. Banyak profesional kurang terampil direkrut karena kurangnya tenaga profesional di pasar. Hal ini menyebabkan pengenalan cacat lebih banyak dalam perangkat lunak.
7. Tidak profesional - Banyak profesional pada proyek memiliki masalah sikap. Mereka mengambil tugas mereka ringan, bermain politik kantor, atau mencoba untuk menghindari pekerjaan mereka dengan cara menugaskan ke anggota lain dari tim.
8. dokumentasi yang buruk - ini adalah sumber utama lain dari cacat pada perangkat lunak. Dalam kasus proyek-proyek kecil di mana beberapa bentuk pemrograman ekstrim atau pemrograman, kurangnya dokumentasi pada kasus ini masih dapat diterima karena tim proyek terletak di satu tempat, dan karena software kecil, kompleksitas kurang. Tapi dalam kasus proyek besar di mana tim dapat berada di lokasi yang berbeda dan di mana requirement software yang kompleks, dokumentasi yang baik sangat penting. Jika tidak, tim menjalankan risiko besar memperkenalkan lebih banyak bug/cacat. Aspek lain dari dokumentasi yang minim adalah kesulitan dalam pemeliharaan aplikasi perangkat lunak setelah masuk ke tahap production.
9. Tools pengembangan perangkat lunak – pada saat ini bisnis bergerak dengan cepat, tim proyek menggunakan banyak tools untuk meningkatkan produktivitas mereka. Beberapa tools ini termasuk visual tools, class libraries, compilers, scripting tools, RAD (Rapid Application Development), Integrated Development Studios, Integration Tools, dan sebagainya. Banyak kali tools ini memperkenalkan cacat mereka sendiri, dan kadang-kadang, karena dokumentasi mereka kurang, membantu dalam menambah cacat.
Software Process Improvement: CMM(Capability Maturity Model) adalah sejauh mana proses secara eksplisit dapat didefinisikan, dikelola, diukur, dan efektif. Maturity menyiratkan potensi pertumbuhan kemampuan dan menunjukkan baik kualitas dan konsistensi dengan yang proses perangkat lunak yang diterapkan di seluruh Organisasi

Software Process Improvement: CMM memiliki kriteria sebagai berikut:
1. Initial: Proses software ditandai sebagai ad hoc, dan kadang-kadang bahkan kacau. Beberapa proses didefinisikan, dan kesuksesan tergantung pada usaha kemapuan individu.
2. Repeatable: proses manajemen proyek dasar ditetapkan untuk menghitung biaya, jadwal, dan fungsionalitas. Proses disiplin yang diperlukan di tempat untuk mengulang kesuksesan sebelumnya pada proyek-proyek dengan aplikasi yang serupa
3. Defined: Semua proses pengembangan perangkat lunak harus didokumentasikan, distandarkan, dan diintegrasikan ke dalam proses perangkat lunak yang telah disetujui oleh organisasi. Semua aplikasi harus disesuaikan baik untuk pengembangan maupun pemeliharaan.
4. Managed: Setiap langkah-langkah proses pengembangan perangkat lunak di dokumentasikan untuk menjaga kualitas produk, proses tersebut harus dipahami dan dikendalikan
5. Optimizing: Diperlukan perbaikan proses secara berkesinambungan dengan cara mencari saran perbaikan dari pihak pengembang maupun dari pihak penguna, agar mendapatkan ide-ide yang inovatif maupun menciptakan teknologi baru
By
Rino Rachmat - ITG

Comments

Popular posts from this blog

Infanrix-IPV + Hib

Kali Linux Network Configuration for Ethernet Connection

Pediacel