Jika Anda dapat menurunkan skenario dari deskripsi, Anda sudah selesai.
Anti-pola yang sering saya lihat dalam BDD adalah orang-orang merasa perlu untuk membicarakan, dan menulis, setiap skenario secara terperinci.
Beberapa skenario dipahami dengan baik sehingga cukup untuk menurunkannya dari deskripsi singkat. Misalnya, jika saya berkata, "Saya ingin fitur login minggu ini," Anda tahu seperti apa tampilannya. Anda tahu bahwa ada skenario untuk kata sandi yang benar, kata sandi yang salah, nama pengguna yang salah. Kami tidak benar-benar perlu membicarakannya atau menangkapnya secara detail.
Demikian pula, saya mungkin berkata, "Ini formulir untuk pendaftaran pengguna. Kita harus dapat membuat pengguna baru, membiarkan mereka mengedit detail mereka, dan menghapus diri mereka sendiri, kecuali penghapusan itu seharusnya tidak benar-benar dihapus, itu hanya harus menandai mereka sebagai dihapus sehingga mereka dapat memulihkan akun mereka jika mereka mau. "
Dan Anda dapat bertanya, "Apakah pemulihan akun bagian dari fitur ini?"
"Mereka bisa menjadi dua fitur jika kamu mau."
"Oke, jadi kita punya skenario untuk membuat, membaca, memperbarui, menghapus; itu seharusnya cukup mudah. Mari kita bicara tentang pemulihan akun; itu terdengar lebih menarik."
Secara umum, jika deskripsi perilaku cukup bagi tim pengembang untuk membuat skenario, Anda tidak perlu membicarakannya. Anda dapat melakukannya jika ada keraguan, tetapi Anda mungkin hanya ingin menangkap skenario mana yang perlu Anda ingat, jika Anda menangkapnya sama sekali.
Jika Anda belum pernah melakukannya sebelumnya atau Anda tidak yakin, bicaralah melalui skenario.
Fokus pada area yang tidak biasa, terutama jika ada fitur yang belum pernah Anda lakukan sebelumnya. Ini adalah tempat yang luar biasa untuk melakukan percakapan dan menuliskan semua contoh mengejutkan yang muncul. Saya biasanya memiliki dua pertanyaan yang saya ajukan, berdasarkan pada template BDD:
Diberikan konteks
Ketika suatu peristiwa terjadi
Maka hasil harus terjadi.
- Apakah ada konteks lain yang, untuk acara yang sama, menghasilkan hasil yang berbeda?
- Apakah ada hasil lain yang juga penting?
Jika semua orang di meja terlihat bosan, fitur yang Anda bicarakan mungkin dipahami dengan baik. Cukup sering mengatakan, "Seharusnya berfungsi seperti X , tetapi dengan Y sebagai gantinya." Inilah yang disebut Dan Utara sebagai pola Kue Jahe ; itu seperti resep kue cokelat, tetapi dengan jahe, bukan cokelat.
Bahkan jika pemangku kepentingan bisnis mampu membuat skenario sendiri, sangat penting bagi tim pengembang untuk dapat berbicara dengannya, mengambil dan menginternalisasi bahasanya. Bahasa itu kemudian dimasukkan ke dalam kode, memungkinkan mereka untuk melakukan percakapan yang lebih baik di masa depan, dan membantu pendatang baru dalam proyek memahami apa yang terjadi. Jika para devs tidak bisa berbicara bahasa, mereka tidak akan menggunakannya .
Jika pemangku kepentingan bisnis atau analis benar-benar tidak ingin menghabiskan waktu untuk menangkap hal-hal dalam sesi, saya lebih suka para pengembang menuliskan skenario dalam kolaborasi dengan para penguji, kemudian memintanya untuk meninjaunya. Ini lebih cenderung mengungkap kesalahpahaman daripada sebaliknya.
Terkadang BDD tidak berfungsi.
Kemungkinan lain adalah Anda menemukan skenario yang tidak pasti oleh pemangku kepentingan bisnis. "Oh, aku tidak memikirkan itu! Aku tidak yakin." Daripada mencoba menghentikan bisnis dan menghukum bisnis dengan pasti, mungkin lebih baik meninggalkan BDD pada titik ini dan mencoba sesuatu yang sederhana untuk mendapatkan umpan balik dan memberikan bisnis sesuatu yang dapat mereka ulangi. Tetap mudah untuk berubah, dan tulis skenario setelah ada pemahaman yang lebih baik tentang apa yang terjadi.
BDD yang dilakukan dengan baik dapat benar-benar membantu mengungkap tempat-tempat ketidakpastian. Karena setiap melakukan senilai proyek memiliki beberapa aspek itu yang baru dan belum pernah dilakukan sebelumnya, ada adalah beberapa ketidakpastian di sana, di suatu tempat. Jika Anda fokus menggunakan skenario untuk membantu secara sengaja menemukan ketidaktahuan , Anda akan belajar lebih cepat, dan belajar biasanya merupakan sebagian besar waktu yang dihabiskan untuk sebuah proyek.
Selain itu, saya telah menemukan bahwa semakin banyak tim pengembang berkolaborasi dengan cara ini, semakin banyak bisnis dipersiapkan untuk mempercayai mereka dengan ketidakpastian, dan semakin banyak inovasi mulai terjadi. Perusahaan yang inovatif, pada dasarnya, memiliki banyak ketidakpastian dalam proyek mereka.
Saya menulis posting blog beberapa waktu lalu di Cynefin , yang saya temukan benar-benar membantu saya memahami di mana percakapan akan paling efektif. Jika Anda membacanya dan memahami keempat domain tersebut, berikut adalah aturan yang saya gunakan:
Hal-hal sederhana dan rumit (dikenal) sering dipahami dengan baik dan Anda tidak perlu membicarakan skenario secara terperinci.
Hal-hal yang sangat kompleks (tidak diketahui) sama sekali tidak dipahami. Anda dapat menemukan ini dengan berbicara melalui skenario. Kurangnya kepastian berarti bahwa BDD tidak akan bekerja di sini, jadi beralihlah ke sesuatu yang mudah diubah dan dapatkan umpan balik yang cepat sebagai gantinya. Praktik apa pun yang mempertahankan pilihan Anda, seperti pengujian AB, juga bagus di ruang ini.
BDD bekerja dengan cemerlang di ruang di antaranya (dapat diketahui) sebagai mekanisme untuk menyampaikan pengetahuan, dan untuk mengungkap dua ruang lainnya. Ini bukan palu, dan tidak semuanya paku. Bahkan, jika Anda dapat memfokuskan waktu yang dihabiskan untuk melakukan percakapan pada apa pun, ini bukan tentang contoh yang dapat Anda temukan; ini tentang menemukan contoh yang tidak bisa Anda dapatkan .
Lamanya pertemuan itu bukan masalah Anda. Tidak apa-apa jika pertemuan itu berlangsung lama. TETAPI semua orang harus keluar dengan perasaan percaya diri. Bahwa mereka tidak melakukannya adalah masalah Anda.
Saya akan menyarankan pertemuan singkat untuk membahas persyaratan. Jadwalkan pertemuan kedua beberapa hari kemudian, sehingga semua orang tahu mereka harus bersiap saat itu.
Kemudian BA dan tester masing-masing harus datang dengan skenario mereka, karena mereka berdua melihat perangkat lunak dengan cara yang sangat berbeda. Mintalah mereka untuk menuliskannya pada kartu dan tempelkan semuanya di papan tulis di suatu tempat, setidaknya sehari sebelum pertemuan kedua, biarkan semua orang melihat waktu mereka sendiri dan memikirkannya. Buang duplikat, tetap skenario yang tidak dipertimbangkan.
Jangan membuang apa pun yang tidak Anda setujui, tetapi tandai sebagai pertengkaran. Jika percakapan yang sangat singkat dengan orang yang menulisnya akan membantu, lakukan itu, tetapi kebanyakan simpan.
MAKA memiliki pertemuan perencanaan / desain Anda. Miliki agenda yang solid untuk pertemuan itu (mulailah dengan tumpukan kartu, letakkan kartu yang diperdebatkan di atas) dan jangan biarkan itu berjalan di luar jalur. Pastikan Anda keluar dari pertemuan itu dengan semua poin pertentangan diselesaikan.
sumber
Selalu pastikan semua orang dalam rapat siap untuk topik pertemuan itu!
Jangan pernah menggunakan rapat untuk "bertukar pikiran" apa pun bersama-sama. Itu membuang-buang waktu semua orang.
Resep umum untuk rapat yang efektif:
sumber
Tentang Pengaduan ...
Mari kita mulai dengan ini:
Itulah yang dia lakukan di bengkel. Jadi itu sepertinya alasan yang murung dan buruk bagiku. Saya menduga pengembang ini tidak suka (atau keduanya) pengawasan lokakarya dan kendala penjadwalannya.
Bagaimana ini berbeda dari ketika dia melakukannya di sisinya dan telah ditinjau oleh pengembang, terlepas dari kenyataan bahwa lebih banyak orang melihatnya? Saya menduga ini hanyalah hasil dari lokakarya yang mungkin sedikit kacau. Anda akan mendapatkan kepercayaan bahwa Anda memiliki cukup tes dengan menerapkannya dan mengintegrasikannya. Anda tidak akan pernah yakin menemukan semua bug, dan ketika sampai pada cakupan, cara terbaik adalah dengan membuat diagram mereka dalam cerita pengguna Anda.
Ya, dan sepenuhnya sendirian, di taman bertemboknya, dan tanpa berbagi pengetahuan. Padahal dengan melakukan lokakarya di masa depan ini mungkin lebih produktif karena semua peserta telah memperoleh sedikit pengetahuan tentang cara mendekati hal-hal ini.
Mungkin pertemuan ini lambat kali ini, bukan berarti itu akan selalu terjadi. Dan sebagai pribadi eksternal, saya akan, diberikan beberapa pelatihan untuk mendapatkan hak ini, lebih percaya diri bahwa liputan lebih baik dalam lokakarya dengan 3 peserta dengan pola pikir yang berbeda dengan diktator tunggal.
Juga, jika sudah ada kebutuhan untuk pengembang untuk meninjau skenario ini dengannya, saya cukup yakin bolak-balik jauh lebih cepat dan efisien di bengkel daripada menggunakan "Saya melakukan pekerjaan saya sendiri dan memberikan barang kepada Anda, Anda memeriksanya sendiri dan kembali kepada saya dan mari kita lakukan pendekatan ini lagi ".
Saran
Jadilah positif dan tekankan bahwa jika prosesnya benar, Anda akan menjadi lebih baik.
Cobalah untuk merampingkan bengkel dan tetap di jalurnya.
Mungkin berikan ruang untuk analisis "lone-wolf", dengan memulai lokakarya dengan semua orang merancang beberapa skenario sendiri (bahkan lebih baik, sebelum lokakarya), lalu triase dan gabungkan.
Dan jika Anda tidak berpikir melakukan hal brainstorming itu diperlukan, baiklah: minta BA bekerja sendiri, tapi setidaknya lakukan review sebagai lokakarya, setidaknya. Semakin banyak bola mata yang lebih baik, mengutip Eric S. Raymond 's Linus' Law :
sumber
Anda sudah memiliki jawaban yang cukup bagus di sini, jadi saya akan fokus pada satu aspek kecil yang sejauh ini diabaikan. Peran masing-masing dari Tiga Amigos harus dapat disampaikan ke sesi. Mereka masing-masing menawarkan nilai dengan cara yang berbeda, mereka masing-masing memahami serangkaian kendala yang berbeda.
Secara umum BA harus dapat membawa jalan bahagia utama ke sesi, mereka harus dapat juga menyediakan skenario kegagalan utama dari perspektif bisnis. Keahlian Uji harus dapat mengidentifikasi kasus tepi dan skenario tambahan yang diperlukan untuk membuktikan sistem bekerja dalam semua keadaan. Pekerjaan pengembang tidak benar-benar untuk menambah skenario, meskipun mereka sering melakukan kegagalan teknis, pekerjaan mereka juga memastikan mereka memiliki pemahaman penuh tentang persyaratan sehingga mereka menyampaikan implikasi dan mengimplementasikan persyaratan dengan minimum komunikasi ekstra.
sumber