Yah, jawaban langsung untuk pertanyaan Anda adalah Mu, saya khawatir - tidak ada cukup detail untuk membuat tebakan apakah Anda harus berhenti atau tidak.
Satu-satunya hal yang saya cukup positif adalah bahwa tingkat kelincahan harus didorong oleh kebutuhan pelanggan / pasar (yang Anda tidak memberi info tentang).
- Sebagai contoh, sebagai pengguna IDE saya sangat senang untuk meng-upgrade ke versi baru sekali atau mungkin dua kali setahun dan saya tidak pernah terburu-buru untuk melakukan itu. Yaitu jika siklus rilis mereka adalah 3 bulan ( 12 minggu ) maka saya sangat senang dengan itu.
Di sisi lain, saya dapat dengan mudah membayangkan, katakanlah, perusahaan perdagangan keuangan bangkrut jika dibutuhkan lebih dari sebulan untuk perangkat lunak mereka beradaptasi dengan perubahan pasar - siklus uji 12 minggu dalam kasus ini akan menjadi jalan menuju neraka. Sekarang - apa kebutuhan produk Anda dalam hal ini?
Hal lain yang perlu dipertimbangkan adalah kualitas tingkat apa yang diperlukan untuk melayani kebutuhan pelanggan / pasar Anda?
- Contoh kasus - di sebuah perusahaan yang pernah saya bekerja, kami menemukan bahwa kami memerlukan beberapa fitur baru dalam produk yang dilisensikan dari beberapa vendor perangkat lunak. Tanpa fitur ini kami sangat menderita, jadi ya, kami benar-benar ingin mereka gesit dan memberikan pembaruan dalam waktu sebulan.
Dan ya, mereka tampak gesit dan ya mereka merilis pembaruan itu dalam sebulan (jika siklus QA mereka adalah 12 minggu maka mereka kemungkinan besar hanya melewatkannya). Dan fitur kami bekerja dengan sangat baik - kira kita seharusnya benar-benar bahagia? tidak! kami menemukan bug regresi showstopper di beberapa fungsi yang bekerja dengan baik sebelumnya - jadi kami harus tetap menggunakan versi yang lebih lama.
Sebulan lagi berlalu - mereka merilis versi baru: fitur kamiada di sana tetapi bug regresi yang sama juga ada di sana: sekali lagi, kami tidak memutakhirkan. Dan satu bulan lagi.
Pada akhirnya kami hanya dapat meningkatkan setengah tahun kemudian begitu banyak untuk kelincahan mereka.
Sekarang, mari kita lihat lebih dekat ke 12 minggu yang Anda sebutkan ini.
Opsi apa yang Anda pertimbangkan untuk mempersingkat siklus QA? seperti yang dapat Anda lihat dari contoh di atas, hanya melewatkannya mungkin tidak memberi Anda apa yang Anda harapkan sehingga Anda lebih baik, lebih gesit dan mempertimbangkan berbagai cara untuk mengatasinya.
Misalnya, apakah Anda mempertimbangkan cara untuk meningkatkan kemampuan uji produk Anda?
Atau, apakah Anda mempertimbangkan solusi brute-force untuk hanya menyewa lebih banyak QA? Betapapun sederhananya terlihat, dalam beberapa kasus ini memang cara untuk pergi. Saya telah melihat manajemen yang tidak berpengalaman mencoba untuk memperbaiki masalah kualitas produk dengan secara buta merekrut lebih banyak pengembang senior di mana hanya sepasang penguji profesional rata-rata yang akan mencukupi. Menyedihkan sekali.
Yang terakhir tetapi tidak sedikit - saya pikir seseorang harus gesit tentang penerapan prinsip-prinsip tangkas. Maksud saya, jika persyaratan proyek tidak gesit (stabil atau berubah perlahan), lalu mengapa repot? Saya pernah mengamati manajemen puncak memaksa Scrum dalam proyek-proyek yang berjalan dengan baik tanpa. Sayang sekali itu. Tidak hanya tidak ada peningkatan dalam pengiriman mereka tetapi lebih buruk, pengembang dan penguji semua menjadi tidak bahagia.
pembaruan berdasarkan klarifikasi yang diberikan dalam komentar
Bagi saya, salah satu bagian terpenting dari Agile adalah memiliki rilis yang dapat dikirim pada akhir setiap sprint. Itu menyiratkan beberapa hal. Pertama, tingkat pengujian harus dilakukan untuk memastikan tidak ada bug yang muncul jika Anda berpikir Anda bisa merilis build ke pelanggan ...
Rilis shippable saya lihat. Hm Hmmm. Pertimbangkan menambahkan satu atau dua suntikan Lean ke dalam koktail Agile Anda. Maksud saya, jika ini bukan kebutuhan pelanggan / pasar maka ini hanya akan berarti pemborosan sumber daya (pengujian).
Saya tidak melihat kriminal dalam memperlakukan Sprint-end-release hanya sebagai beberapa pos pemeriksaan yang memuaskan tim.
- dev: yeah itu terlihat cukup bagus untuk dilewatkan ke penguji; TA: ya itu terlihat cukup bagus untuk kasus ini jika pengujian-shippable lebih lanjut diperlukan - hal-hal seperti itu. Team (dev + QA) puas, itu saja.
... Poin paling penting yang Anda buat adalah di akhir respons Anda dalam hal tidak menerapkan gesit jika persyaratannya tidak gesit. Saya pikir ini tepat. Ketika kami mulai lincah, kami melakukannya, dan situasinya masuk akal. Tetapi sejak itu, banyak hal telah berubah secara dramatis, dan kami berpegang teguh pada proses di mana hal itu mungkin tidak masuk akal lagi.
Anda benar sekali. Juga dari apa yang Anda gambarkan sepertinya Anda sampai pada kondisi (kematangan tim / manajemen dan hubungan pelanggan) yang memungkinkan Anda untuk menggunakan pengembangan model iteratif reguler alih-alih Scrum. Jika demikian maka Anda mungkin juga tertarik untuk mengetahui bahwa menurut pengalaman saya dalam kasus seperti iteratif reguler terasa lebih produktif daripada Scrum. Jauh lebih produktif - ada hanya begitu banyak overhead kurang, itu hanya jauh lebih mudah untuk fokus pada pengembangan (untuk QA untuk masing-masing fokus pada pengujian).
- Saya biasanya memikirkannya dalam hal Ferrari (seperti iteratif reguler) vs Landrover (sebagai Scrum).
Saat mengemudi di jalan raya (dan proyek Anda tampaknya telah mencapai jalan raya itu ) Ferrari mengalahkan Landrover.
Ini adalah off-road di mana seseorang membutuhkan jip bukan mobil sport - Maksud saya jika persyaratan Anda tidak teratur dan / atau jika pengalaman kerja tim dan manajemen tidak begitu baik, Anda harus memilih Scrum - hanya karena mencoba go regular akan membuat Anda macet - seperti Ferrari akan macet di luar jalan.
Produk lengkap kami benar-benar terdiri dari banyak bagian yang lebih kecil yang semuanya dapat ditingkatkan secara mandiri. Saya pikir pelanggan kami sangat ingin meningkatkan komponen yang lebih kecil lebih sering. Tampak bagi saya bahwa kita mungkin harus fokus pada rilis dan QA'ing komponen yang lebih kecil di akhir sprint sebagai gantinya ...
Di atas terdengar seperti rencana yang bagus. Saya pernah bekerja di proyek semacam itu. Kami mengirimkan rilis bulanan dengan pembaruan yang dilokalkan dalam komponen kecil berisiko rendah dan QA sign-off untuk ini semudah mendapatkannya.
- Satu hal yang perlu diingat untuk strategi ini adalah memiliki verifikasi yang dapat diuji bahwa perubahan dilokalkan di tempat yang diharapkan. Bahkan jika ini sejauh perbandingan file bit-demi-bit untuk komponen yang tidak berubah, lakukan atau Anda tidak akan mendapatkannya dikirim. Masalahnya, itu QA yang bertanggung jawab untuk kualitas rilis, bukan kami pengembang.
Adalah sakit kepala penguji untuk memastikan bahwa perubahan tak terduga tidak lolos - karena terus terang sebagai pengembang saya punya cukup hal lain yang perlu dikhawatirkan yang lebih penting bagi saya. Dan karena itu mereka (penguji) benar-benar sangat membutuhkan bukti kuat bahwa segala sesuatu berada di bawah kendali dengan rilis yang mereka uji coba.