Realitas Tidak Mempelajari Cara Mengembangkan Perangkat Lunak Berkualitas Tinggi
(florianbellmann.com)Ketiadaan pendidikan tentang cara membangun kualitas perangkat lunak
- Saat mempelajari ilmu komputer di universitas, pendidikan tentang jaminan kualitas perangkat lunak (QA) sering terlewat.
- Sebagian besar waktu dihabiskan untuk algoritme, cara kerja komputer, sejarah bahasa dan konsep, dan sebagainya.
- Ada satu semester tentang pendekatan manajemen proyek dan Scrum, tetapi QA sama sekali tidak dibahas.
Cara perusahaan merilis produk tepat waktu
- Karena masalah anggaran, perusahaan sering menjadikan standar dan langkah QA sebagai hal pertama yang dikeluarkan dari proyek.
- Jika pengembangan tertunda atau cakupan meluas, tidak ada cukup waktu yang tersisa untuk QA.
- Perangkat lunak yang tidak stabil dirilis setelah hanya melalui pengujian minimal yang tidak terstruktur.
Cara keluar dari hamster wheel
- Dibutuhkan waktu bertahun-tahun untuk membangun pengalaman dan kepercayaan diri agar bisa berbicara tentang langkah QA yang hilang dalam proyek.
- Kita menemukan pemantauan yang terlewat, menghadapi masalah seperti kegagalan sistem produksi, dan sebagainya.
- Jika langkah QA tidak diterapkan, muncul masalah karena kita tidak pernah benar-benar belajar melakukannya dengan baik.
Berbicara tentang uang
- Menjelaskan bahwa perangkat lunak akan 'lebih stabil' atau 'jauh lebih mudah dipelihara' tidak cukup konkret bagi orang non-teknis.
- Kita harus membicarakan biaya dari tidak melakukan QA.
- Menjelaskan langkah QA dari sisi biaya, lengkap dengan contoh, lebih efektif.
Dosis efektif minimum
- Langkah QA tidak boleh dirancang secara berlebihan hingga menghambat kemajuan proyek.
- Penting untuk menguji fungsi inti aplikasi dan memastikan semuanya selalu berjalan sesuai harapan.
- Gunakan konsep 'minimum effective dose' (MED) untuk memulai dari bagian yang paling penting.
Hal-hal yang diperhatikan dengan saksama
- Saat memulai atau bergabung dengan proyek baru, carilah konsep QA.
- Dokumen atau rencana pengujian yang menunjukkan apakah tim sudah memikirkan QA itu penting.
- Saat menulis kode baru, menulis tes bersamaan akan membantu memastikan kode disusun agar benar-benar dapat diuji.
Manfaat bagi proyek
- Dengan membicarakan kualitas dan mengusulkan solusi yang memungkinkan, kita dapat memperluas pengaruh sebagai developer.
- Langkah QA memungkinkan proyek bertumbuh dengan kecepatan yang sehat.
Cara meningkatkan proyek
- Dengan menggunakan langkah QA, kita bisa dikenal sebagai orang yang menulis perangkat lunak berkualitas dalam proyek.
- Kita perlu mempertimbangkan MED dalam proyek dan menjadi suara yang mendorong perubahan di dalam tim.
Opini GN⁺
Hal terpenting dalam tulisan ini adalah kurangnya kesadaran akan pentingnya jaminan kualitas (QA) dalam proses pengembangan perangkat lunak serta cara menerapkannya. QA sering diabaikan, tetapi dalam jangka panjang sangat penting bagi keberhasilan dan stabilitas proyek. Tulisan ini menarik dan bermanfaat karena membantu engineer perangkat lunak junior menyadari pentingnya QA dan menawarkan cara-cara konkret untuk mengintegrasikannya ke dalam proyek nyata.
1 komentar
Opini Hacker News
Rekayasa perangkat lunak sering kali bukan topik inti dalam ilmu komputer (CS), melainkan diajarkan di ranah lain, dan biasanya dibahas dalam mata kuliah pilihan atau kursus rekayasa perangkat lunak.
Ada pengalaman bahwa bekerja sama dengan orang yang memiliki gelar ilmu komputer lebih mudah. Mereka memahami pentingnya algoritma yang baik dan tidak mencoba mengimplementasikan parser atau enkripsi sendiri.
Pengembangan perangkat lunak berkualitas tinggi bisa dipelajari di perusahaan yang berpengalaman.
Klaim bahwa perangkat lunak tanpa bug harus dirilis tepat waktu adalah premis yang kurang tepat untuk memulai artikel tentang perangkat lunak berkualitas.
Ada program computer engineering dan universitas yang menekankan magang serta praktik lapangan.
Klaim bahwa universitas mengajarkan pembangunan perangkat lunak industri adalah hal yang dibesar-besarkan.
Logika bahwa perangkat lunak akan 'lebih stabil' atau 'lebih mudah dirawat' tidak meyakinkan bagi orang yang tidak bekerja langsung pada codebase.
Dari kualitas, waktu, kompleksitas komunikasi, dan biaya, hanya tiga yang bisa dipilih.
Pengembang perangkat lunak telah mempelajari cara membuat perangkat lunak berkualitas tinggi, tetapi MBA atau dewan direksi yang menjalankan perusahaan tidak memahaminya, sehingga sulit diterapkan dalam praktik.
Kualitas pada dasarnya adalah sifat yang hanya bisa diperoleh lewat praktik.