Haruskah waktu penguji dimasukkan saat memperkirakan tiket?

17

Kapan membuat perkiraan waktu untuk tiket haruskah waktu yang diambil untuk penguji dimasukkan dalam perkiraan tiket? Kami sebelumnya selalu memperkirakan tanpa waktu penguji tetapi kami berbicara tentang selalu memasukkannya. Masuk akal untuk sprint kami saat ini, yang terakhir sebelum rilis, karena kami perlu tahu total waktu yang diperlukan tiket untuk satu minggu lagi.

Saya selalu mengerti estimasi hanya untuk waktu pengembang karena cenderung menjadi sumber daya terbatas dalam tim. Seorang kolega mengatakan bahwa di mana pun mereka bekerja sebelum waktu ujian juga dimasukkan.

Agar lebih jelas, ini untuk proses di mana pengembang menulis unit, integrasi, dan tes UI dengan cakupan yang baik.

Kirim TT
sumber
Bagaimana dengan waktu perbaikan bug yang muncul dari masalah yang ditemukan oleh tester? Itu hal yang sangat sulit untuk diperkirakan :).
Frank Puffer
3
Apakah pengujian bagian dari definisi Anda selesai, atau apakah kita berbicara tentang tim / departemen lain secara keseluruhan?
nvoigt
2
Sangat mungkin bagi upaya penguji untuk menjadi sebagian besar waktu yang dihabiskan untuk "tiket". Jadi, IMO; Iya.
Grimm The Opiner
@nvoigt Testing adalah bagian dari definisi kami tentang selesai.
TTransmisi

Jawaban:

33

Rekomendasi saya: Anda bisa memasukkan waktu pengujian di tiket, atau menambahkan tiket untuk mewakili tugas pengujian itu sendiri. Pendekatan lain apa pun yang menyebabkan Anda meremehkan pekerjaan nyata yang dibutuhkan.

Meskipun waktu pengembang sering menjadi hambatan, dalam pengalaman saya, ada banyak tim yang terkendala dalam pengujian. Dengan asumsi sumber daya yang membatasi adalah satu atau yang lain tanpa bukti, dapat menggigit Anda.

Sebagai kolega Anda, saya belum melihat organisasi yang sukses yang tidak memperhitungkan waktu pengujian.

Tambahan per klarifikasi Anda: Bahkan jika dev menulis tes otomatis, terutama tes unit (tes integrasi lebih baik), mereka tidak cukup untuk menguji dengan benar.

Jika ada orang yang terlibat QA, waktu mereka perlu diperkirakan, dengan satu atau lain cara. Hanya jika Anda memutuskan untuk menghapus karyawan QA dari daftar gaji, maka waktu kerja mereka secara efektif menghilang dan Anda dapat menghapusnya dari perkiraan. Tetapi ini akan memiliki efek samping yang mudah diabaikan. Dan Anda mungkin masih melewatkan pengujian kinerja, stres, keamanan, dan penerimaan.

Bruno Guardia
sumber
6
Lokasi kemacetan tergantung pada perusahaan. Di tambang, kami memiliki 8 pengembang yang memberi makan satu sumber daya QA. QA jelas merupakan hambatan
Marshall Tigerus
2
Saya setuju bahwa menambahkan tiket untuk pengujian adalah pilihan yang baik di sini. Sepertinya OP tidak memiliki kendali atas QA dan itu dilakukan oleh tim yang terpisah. Jika mereka menemukan sesuatu yang salah maka ini dapat dianggap sebagai bug dan tiket baru yang dibuat untuk perbaikan / perubahan.
Kepalaku Sakit
@ MarshallTigerus: Saya pikir pada umumnya lebih mudah untuk mengoordinasikan orang-orang yang diperlukan untuk menyediakan QA untuk pengembang N (jumlah persisnya tergantung pada produk), daripada mengoordinasikan pengembang N. Jadi dalam beberapa hal QA "tidak boleh" menjadi penghambat, Anda "harus" menyewa QA lain (dan memecat pengembang untuk membuat gaji dan ruang meja tersedia, bahkan, tapi mari kita berharap hal itu tidak terjadi). Tentu saja tidak semuanya selalu seperti yang seharusnya.
Steve Jessop
1
Memberi +1 untuk tiket lain, membuatnya lebih mudah untuk mengetahui di mana hal-hal macet.
Matthieu M.
1
@SteveJessop Banyak hal yang "Harus" terjadi :)
Marshall Tigerus
19

Secara empati, Ya

Pengujian adalah bagian dari proses pengembangan. Jika tim Anda benar-benar menghabiskan waktu untuk menguji perangkat lunak, pengujian yang dihabiskan harus menjadi bagian dari perkiraan.

Bryan Oakley
sumber
5

Jika ini tangkas, saya akan memasukkan upaya pengujian sebagai bagian dari total poin cerita. Misalnya, usaha dev mungkin 1 hari dan pengujian 1 hari sehingga itu akan menjadi cerita 2 poin.

Itu tergantung apa definisi Anda tentang dilakukan, tetapi biasanya lengkap, penerimaan bisnis, dan pengujian ditandatangani di iterasi. Jika DoD hanya penerimaan bisnis maka upaya pengujian tidak perlu harus dimasukkan dalam poin cerita, tetapi masih harus dilacak.

Jon Raynor
sumber
2

Perkiraan tersebut harus memperhitungkan semua pekerjaan yang diperlukan untuk menyelesaikan tiket. Jika pengujian merupakan bagian yang diperlukan dari tiket, maka itu harus dimasukkan dalam perkiraan. Jika pengujian adalah tiket terpisah, maka seharusnya tidak.

Itu tentu saja bisa menjadi semua kabur setelah Anda mulai menggunakan poin cerita, karena perbedaan antara dev-only 5 dan dev-only 8 akan sangat proporsional dengan dev-and-QA 5 versus dev-and-QA 8.

Saya telah melihat termasuk penguji waktu bekerja. Saya telah melihat cerita yang terpisah bekerja. Saya telah melihat tugas yang terpisah, masing-masing diperkirakan oleh kelompok yang mengerjakannya. Lakukan apa yang masuk akal bagi Anda, setelah semua proses ada untuk melayani Anda, bukan sebaliknya.

Telastyn
sumber
2

Fakta bahwa Anda tidak dapat menjawab ini dengan kuat menunjukkan Anda tidak tahu mengapa Anda menulis perkiraan (atau setidaknya Anda tidak setuju dengan kolega Anda mengapa Anda menulis perkiraan). Ini adalah masalah yang lebih besar daripada apakah estimasi harus termasuk atau tidak termasuk pengujian.

Cari tahu, atau raih kesepakatan, mengapa Anda menulis taksiran. Jika untuk memprediksi apa yang akan dicapai oleh tim tertentu dalam waktu tertentu, maka jawabannya hanya tergantung pada apakah tim itu, yang Anda perkirakan, akan melakukan pengujian atau tidak. Jika tim QA Anda terpisah dan memiliki penjadwalan sendiri maka mereka mungkin tertarik untuk mengetahui berapa banyak waktu pengujian yang menurut Anda (pengembang) dibutuhkan dari mereka dengan tiket tertentu. Mereka mungkin mengabaikan nomor Anda dan memasukkannya sendiri. Dengan cara apa pun mereka dapat melacaknya secara terpisah dari perkiraan waktu dev.

Di sisi lain, jika satu tim melakukan semua dev, pengujian, dan QA, dan tujuan estimasi waktu adalah untuk memprediksi dan merencanakan apa yang tim lakukan dalam kerangka waktu tertentu, maka tentu saja estimasi waktu harus mencakup QA, bersama dengan tugas-tugas lain yang perlu dilakukan oleh tim tersebut untuk mencapai tujuan yang dinyatakan. Dalam hal ini jika Anda harus mengadakan pertemuan awal untuk setiap tiket, atau mengisi beberapa dokumen pada saat penyelesaian, maka waktu untuk admin perlu ada di sana di suatu tempat . Anda tidak bisa mengabaikannya begitu saja.

Jika semuanya adalah satu tim tetapi dengan peran yang terpisah "pengembang" dan "penguji", maka itu mungkin berarti Anda memiliki banyak tiket yang hanya dapat dikerjakan oleh satu sisi, dan bagan Gantt Anda (mungkin seluruhnya hipotetis) terlihat persis seperti grafik untuk dua tim yang terpisah akan terlihat. Fakta ini akan mengecewakan beberapa metodologi lebih dari yang lain, dan Anda mungkin lebih baik memecah perencanaan karena itu, tetapi jika Anda tidak membaginya maka Anda harus tiket dan memperkirakan semua yang perlu dilakukan tim atau prediksi Anda akan sia-sia .

Jika tujuan perkiraan adalah sesuatu selain prediksi dan perencanaan, misalnya "karena kita tanpa berpikiran mengikuti ritual kosong yang memasukkannya", atau "karena manajemen menggunakannya sebagai tongkat untuk mengalahkan kita dengan mendapat lembur dari kita", atau "karena kita harus melakukan penawaran harga tetap dan jumlahnya masuk ke formula yang sangat besar" (terima kasih John Wu), maka mungkin lebih sulit untuk mengetahui apa yang harus mereka sertakan ;-)

Steve Jessop
sumber
1

Selalu perkirakan semua pekerjaan yang perlu dilakukan untuk membuat cerita-pengguna / fitur / tiket benar-benar selesai. Kami menyebutnya Selesai .

Kami selesai ketika kami siap produksi .

Ini termasuk pengujian manual dan eksplorasi, tetapi bahkan pengujian penerimaan pengguna.

Tim Agile harus dapat merilis bagian baru dari pekerjaan yang telah selesai kapan saja. Sebagai:

Perangkat lunak yang berfungsi adalah ukuran utama dari kemajuan.

Bagaimana Anda tahu jika itu berhasil, jika Anda belum mengujinya? Sekarang Anda menulis bahwa waktu pengembangan adalah penghambat waktu Anda. Sebagai seorang insinyur QA saya pikir sebagian besar tim memiliki hambatan dalam kapasitas pengujian atau mereka hanya mengambil jalan pintas.

Untuk membuat cerita panjang pendek, perkirakan juga upaya pengujiannya. Perlu diingat ini dapat mempengaruhi kecepatan Anda . Jika Anda telah melakukan estimasi relatif dalam poin cerita, pengujian mungkin sudah dimasukkan ke dalam kecepatan rata-rata Anda.

Niels van Reijmersdal
sumber
1

Ini adalah sesuatu yang sangat penting: Semua perkiraan harus disertai dengan asumsi dan pengecualian .

Ini termasuk menentukan apa yang termasuk: pengembangan saja, desain dan pengembangan, pengujian dev dan unit, cakupan untuk pengujian penerimaan, pembangunan infrastruktur, dll.

Jika Anda memberikan dokumen estimasi kepada manajer proyek, mereka akan mengkonversi dokumen itu menjadi perintah kerja atau pernyataan kerja untuk klien atau (jika proyek internal) untuk PMO . Mereka mungkin telah menetapkan formula untuk menambahkan overhead (misalnya, beberapa proyek dapat menambahkan X% untuk mencakup QA, kemudian menambahkan Y% untuk mencakup tata kelola dan manajemen proyek) yang ditetapkan oleh kontrak atau ditetapkan oleh pengalaman. Dan Anda tidak ingin menggandakan jumlah. Di sisi lain, mereka mungkin tidak menambahkannya secara otomatis.

Praktiknya berbeda. Siapa pun yang menggunakan angka-angka ini akan perlu tahu apa arti angka-angka itu, dan Anda harus secara eksplisit tentang apakah Anda termasuk waktu tes atau tidak.

John Wu
sumber
1

Waktu harus dimasukkan dalam perkiraan tetapi Anda tidak harus memperkirakan waktu penguji, sebagai gantinya penguji harus memperkirakan waktu mereka .

Tidak termasuk waktu pengujian adalah perkiraan salah dari total waktu yang diperlukan, tetapi waktu pengembang dan waktu pengujian tidak dapat dipertukarkan (paling tidak karena Anda mungkin bekerja secara paralel, dengan penguji diulang di belakangnya) sehingga Anda harus memperkirakannya secara terpisah. Selain itu, Anda tidak berada dalam posisi untuk memperkirakan waktu yang dibutuhkan penguji untuk menguji setiap perubahan, hanya kru uji yang harus melakukan itu.

Jack Aidley
sumber
1
Mengingat bahwa itu adalah Anda yang mengisi dalam tiket, dan bahwa waktu pengujian harus dimasukkan, maka dev harus mencakup 'guestimate' untuk pengujian, untuk perbaikan nanti. Semuanya mudah untuk membuat lubang hitam estimasi 22 menangkap dengan aturan tertentu ... Lubang ini terjadi dalam banyak tugas mengisi formulir.
Philip Oakley
0

Enkapsulasi

Saya akan mendekati ini dari sudut pandang pengembangan dan bahasa perangkat lunak.

  • Anda adalah roda gigi kecil di mesin besar.
  • Dari luar tim Anda, sistem tiket Anda berfungsi sebagai antarmuka / API ke tim Anda
  • Pengguna bisnis yang menggunakan sistem tiket bukan pengembang

Dari desain perangkat lunak yang baik, Anda harus menyederhanakan dan merangkum sebanyak mungkin.

Jadi untuk melihat proses dari sudut pandang Pengguna Bisnis, mereka benar-benar hanya peduli 2 hal.

  1. Berapa biayanya?
  2. Apakah kita sudah selesai?

Mengizinkan Pengguna Bisnis mengetahui tentang proses internal tim Anda adalah manajemen yang buruk; mirip dengan memberikan publicakses ke keadaan internal.

Kegagalan untuk melindungi keadaan internal tim Anda, mengundang tim lain untuk mengelola sumber daya Anda dan mengacaukan keadaan internal Anda.

ArT
sumber