Reviews
Proses pengembangan sebuah produk perangkat lunak secara umum, terutama dalam fase analisis dan
fase desain, adanya sebuah dokumen desain di mana kemajuan pekerjaan pembangunan yang
dilakukan dicatat. Seorang sistem analis atau analis akan menyiapkan dokumen akan memeriksa
berulang-ulang, itu harus diasumsikan, untuk mendeteksi setiap kesalahan yang mungkin terjadi. Selain
itu, pemimpin tim pengembangan juga diharapkan untuk memeriksa dokumen ini dan rinciannya untuk
mendeteksi setiap kesalahan yang tersisa sebelum memberikan persetujuan mereka.
Namun karena para profesional terlibat dalam memproduksi dokumen, mereka akan sulit bagi mereka
untuk mendeteksi beberapa kesalahan mereka sendiri. Oleh karena itu, hanya orang lain yang mampu
mereview produk dan mendeteksi kesalahan tanpa diketahui oleh tim pengembangan.
Seperti yang didefinisikan oleh IEEE (1990), proses review (peninjauan) adalah:
"Sebuah proses atau pertemuan selama pengerjaan sebuah produk atau seperangkat produk.
Peninjauan dilakukan terhadap personil proyek, manajer, pengguna, pelanggan, atau pihak lain
yang berkepentingan untuk mendapatkan komentar atau persetujuan."
Beberapa metodologi dapat diimplementasikan pada kegiatan review dokumen.
Dalam bab ini, akan dibahas metode berikut:
-
Tujuan langsung :
-
Untuk mendeteksi kesalahan analisis dan desain serta hal-hal dimana koreksi, perubahan dan
penyelesaian diperlukan sehubungan dengan spesifikasi asli dan perubahan yang disetujui.
Untuk mengidentifikasi risiko baru yang dapat mempengaruhi penyelesaian proyek.
Untuk menemukan penyimpangan dari template dan prosedur gaya dan konvensi. Koreksi
terhadap penyimpangan ini diharapkan dapat berkontribusi untuk meningkatkan komunikasi dan
koordinasi yang dihasilkan dari keseragaman yang lebih besar dari metode dan gaya
dokumentasi.
Menyetujui analisis atau desain produk. Persetujuan memungkinkan tim untuk melanjutkan ke
tahap pengembangan berikutnya.
mendapatkan persetujuan suatu desain produk. Tanpa persetujuan ini, tim pengembangan tidak dapat
melanjutkan ke tahap berikutnya dari proyek pengembangan perangkat lunak. Review desain formal
dapat dilakukan seti.
Daftar umum review desain formal diberikan dalam Bingkai 8.2.
Frame 8 Some common formal design reviews
DPR
SRSR
PDR
DDR
DBDR
TPR
STPR
VDR
OMR
SMR
TRR
PRR
IPR
Sauer dan Jeffery (2000) membahas berbagai faktor yang mempengaruhi efektivitas DRs, berdasarkan
hasil penelitian dan survei yang luas tentang literatur. Diskusi kita pada review desain formal akan fokus
pada:
-
Para peserta
Persiapan-persipaan sebelum review
Sesi DR
Kegiatan Pasca-DR yang direkomendasikan
Pengetahuan dan pengalaman dalam pengembangan proyek dari jenis yang sama dengan yang
direview. Pengetahuan dengan proyek saat ini tidak diperlukan.
Senioritas, sama atau lebih tinggi dari pemimpin proyek.
Sebuah hubungan baik dengan pemimpin proyek dan timnya.
Bukan anggota tim proyek.
Jadi, kandidat yang tepat untuk pemimpin review tim termasuk manajer departemen
pengembangan, para kepala insinyur perangkat lunak, para pemimpin proyek lain, kepala unit
jaminan kualitas perangkat lunak, atau kepala insinyur perangkat lunak dari sisi pelanggan.
Departemen pengembangan sekala kecil dan software house kecil biasanya memiliki tingkat kesulitan
yang lebih besar untuk menemukan kandidat yang tepat untuk memimpin tim peninjau. Salah satu solusi
yang mungkin untuk masalah ini adalah penunjukan konsultan eksternal untuk posisi ini.
Tim Review
Seluruh tim review harus dipilih diantara anggota senior tim proyek bersama-sama dengan profesional
senior yang sesuai untuk ditugaskan untuk proyek lain dan departemen, perwakilan pelanggan
pengguna, dan dalam beberapa kasus adalah konsultan pengembangan perangkat lunak. Hal ini
diinginkan untuk membentuk tim review dengan anggota mayoritas dari luar staf proyek.
Sebuah tim review yang terdiri dari 3 sampai 5 anggota diharapkan menjadi tim yang efisien, mengingat
keragaman pengalaman dan pendekatan di antara para peserta bisa terjamin. Sebuah tim yang terlalu
besar cenderung menciptakan masalah koordinasi, buang waktu sesi review dan mengurangi tingkat
persiapan, berdasarkan kecenderungan yang mengasumsikan bahwa orang lain telah membaca
dokumen desain tertentu.
Ini sangat penting bahwa sesi review dijadwalkan segera setelah dokumen desain telah dibagikan
kepada anggota tim review. Ketepatan waktu sesi review mencegah tertundanya waktu bagi tim proyek
memulai tahap perkembangan selanjutnya, artinya dapat mengurangi risiko perubahan jadwal
pengembangan.
Persiapan tim review
Anggota tim diharapkan dapat review dokumen desain dan daftar komentar mereka sebelum sesi review
dimulai. Dalam kasus dimana dokumen yang cukup besar, pemimpin review dapat meringankan beban
dengan menentukan bahwa setiap anggota tim review hanya mengerjakan bagian tertentu dari dokumen.
Persiapan tim pengembangan
Kewajiban utama tim pengembang dalam sesi review adalah untuk menyiapkan presentasi singkat dari
dokumen desain. Dengan asumsi bahwa anggota tim review telah membaca dokumen desain secara
menyeluruh dan sekarang memahami garis besar proyek, maka presentasi harus fokus pada isu-isu
profesional utama menunggu persetujuan dari tim review.
8.2.3 Sesi DR
Pengalaman pemimpin review ini dalam memimpin diskusi dan mengatur agenda adalah kunci sukses
untuk sesi DR. Agenda khas sesi DR meliputi:
1) Sebuah presentasi singkat dari dokumen desain.
Form yang ditampilkan dalam Lampiran 8A menyajikan item data yang perlu didokumentasikan untuk
laporan DR inklusif.
Proses tindak lanjut
Orang yang ditunjuk untuk menindaklanjuti kegiatan koreksi, biasanya seorang pemimpin review sendiri,
diperlukan untuk menentukan apakah setiap item tindakan telah memuaskan sebagai syarat agar proyek
dapat dilanjutkan ke tahap berikutnya. Tindak lanjut harus sepenuhnya didokumentasikan sebagai bahan
klarifikasi dari koreksi di masa depan, jika perlu.
13 " pedoman emas " menurut Pressman untuk pelaksanaan desain review yang sukses
(Pressman 2000, Bab 8)
Infrastruktur Desain review
Mengembangkan checklist untuk setiap jenis dokumen desain, atau setidaknya untuk dokumen
yang bersifat umum.
Melatih para profesional senior tentang masalah teknis serta masalah proses suatu review. Para
profesional yang terlatih berfungsi sebagai reservoir untuk tim DR.
Secara berkala menganalisis efektivitas DR terakhir sehubungan dengan cacat yang terdeteksi
untuk meningkatkan metodologi DR.
Menjadikan jadwal DRs sebagai bagian dari rencana kegiatan proyek dan mengalokasikan
sumber daya yang dibutuhkan sebagai bagian integral dari prosedur standar operasi
pengembangan perangkat lunak organisasi.
tim Review harus dibatasi dalam ukuran, biasanya 3-5 anggota sudah optimal.
Mendiskusikan isu-isu profesional dalam cara yang konstruktif dan menahan diri dari isu-isu
pribadi.
Patuhi agenda review. Melemceng dari agenda yang direncanakan akan mengganggu efisiensi
review ini.
Fokus pada proses deteksi cacat dengan memverifikasi dan memvalidasi komentar-komentar
peserta. Tidak membahas solusi untuk memperbaiki cacat yang terdeteksi sehingga dapat
menghemat waktu dan tidak lepas dari agenda.
Jika ada ketidaksepakatan tentang pentingnya sebuah kesalahan, maka segera akhiri
perdebatan dan membawa masalah ini ke forum lain untuk dibahas.
Mendokumentasikan hasil diskusi dengan benar, terutama rincian komentar peserta dan hasil
verifikasi dan validasi. Langkah ini terutama penting jika dokumentasi digunakan sebagai
masukan atau dasar untuk penyusunan laporan review.
Durasi sesi review tidak boleh lebih dari 2 jam.
Siapkan laporan review, berupa rangkuman isu yang didiskusikan danitem tindakan.
Menetapkan prosedur tindak lanjut untuk memastikan kinerja yang memuaskan dari semua
koreksi masuk ke dalam daftar item tindakan.
Pembuatan checklist inspeksi untuk setiap jenis dokumen desain serta bahasa coding dan alat,
yang secara berkala diperbarui.
Pemimpin Review
Peran pemimpin review ("moderator" dalam inspeksi, "koordinator" dalam walkthrough) hanya sedikit
berbeda menurut jenis peer review. Calon untuk posisi ini harus:
1) Berpengalaman dalam pengembangan proyek serupa sebelumnya dan mengenal teknologinya.
Pengetahuan awal dengan proyek saat ini tidak diperlukan.
2) Menjaga hubungan baik dengan penulis dan tim pengembangan.
3) Berasal dari luar tim proyek.
4) Memperlihatkan pengalaman dalam koordinasi dan kepemimpinan dalam pertemuan profesional.
5) Untuk inspeksi, pelatihan sebagai moderator juga diperlukan.
Penulis
Penulis adalah, selalu menjadi peserta dalam setiap jenis peer review.
Profesional khusus
Para profesional khusus berpartisipasi dalam dua metode peer review berbeda dengan review.
Untuk inspeksi, para profesional yang direkomendasikan adalah:
Seorang desainer: analis sistem bertanggung jawab untuk analisis dan desain sistem perangkat
lunak yang sedang di-review.
Seorang coder atau pelaksana: seorang profesional yang bertugas untuk coding, dipilih
pemimpin tim pengkodean.
Seorang tester: profesional yang berpengalaman, sebaiknya pemimpin tim pengujian yang
ditetapkan, yang berfokus pada identifikasi kesalahan desain biasanya terdeteksi selama fase
pengujian.
Seorang Penegak standar. Ini anggota tim, yang mengkhususkan diri dalam pengembangan
standar dan prosedur, diberikan tugas mencari penyimpangan dari standar-standar dan prosedur.
Kesalahan jenis ini yang secara substansial mempengaruhi efektivitas jangka panjang tim,
pertama karena mereka menyebabkan kesulitan tambahan untuk anggota baru bergabung
dengan tim pengembangan, dan kemudian karena mereka akan mengurangi efektivitas tim yang
akan mempertahankan sistem.
Seorang ahli pemeliharaan yang dipanggil untuk fokus pada masalah pemeliharaan, fleksibilitas
dan testability (lihat Bab 3), dan untuk mendeteksi cacat desain yang mampu menghambat
koreksi bug atau kinerja perubahan masa depan.
Seorang wakil dari pengguna. Partisipasi internal atau eksternal dalam tim panduan
berkontribusi untuk validitas review karena dia memeriksa sistem perangkat lunak dari sudut
pandang userconsumer daripada desainer -pemasok.
Tugas tim
Dalam melakukan sesi review membutuhkan tugas tugas khusus untuk anggota tim. Dua diantaranya
adalah presenter dokumen dan juru tulis, yang mendokumentasikan hasil diskusi.
Presenter. Selama sesi inspeksi, presenter dokumen dipilih oleh moderator, biasanya, presenter
bukanlah penulis dokumen. Dalam banyak kasus seorang programmer (coder) bertugas sebagai
presenter karena ia adalah anggota tim yang paling memahami logika desain dan implikasinya
untuk coding. Sebaliknya, untuk sesi walkthrough biasanya dipilih penulis dokumen sebagai
presenter.
Juru tulis (notulen). Pemimpin tim biasanya bertugas sebagai juru tulis untuk sesi ini, dan
mencatat semua cacat yang akan dikoreksi oleh tim pengembangan.
Untuk menentukan, bersama dengan penulis, bagian dari dokumen desain yang harus direview.
Bagian tersebut dapat:
o Bagian yang paling sulit dan kompleks
o Bagian yang paling kritis, di mana cacat dapat menyebabkan kerusakan parah pada
program aplikasi dan pengguna
o Bagian yang rentan terdapat cacat.
Untuk memilih anggota tim.
Untuk membuat jadwal sesi peer review.
Untuk mendistribusikan dokumen kepada anggota tim sebelum sesi review.
Perbandingan dari metode peer review, peserta dan elemen proses yang disajikan dalam Gambar 8.2.
8.3.5 Tingkat efisiensi peer review
Masalah efisiensi pendeteksian cacat dengan metode peer review dibandingkan dengan metode lain
dalam SQA terus-menerus diperdebatkan. Beberapa metrik yang lebih umum diterapkan untuk
memperkirakan efisiensi peer review, seperti yang disarankan dalam literatur, adalah:
efisiensi deteksi pada peer review (rata-rata jam kerja per cacat terdeteksi).
kepadatan d eteksi cacat pada peer review (jumlah rata-rata cacat terdeteksi per halaman dari
dokumen desain).
efektivitas peer review internal (persentase cacat dideteksi oleh peer review sebagai persentase
dari keseluruhan cacat terdeteksi oleh pengembang).
Penilaian ahli luar serta partisipasi nya sebagai anggota eksternal dari tim review yang paling
menguntungkan dalam situasi berikut:
10