Definisi yang cepat dan kotor dari Kisah Pengguna :
"As a <role>, I want <goal/desire> so that <benefit>"
Dalam definisi yang diterima secara umum ini, ada sedikit ruang untuk mendefinisikan aturan bisnis, kendala, atau input pengguna.
Contoh sepele hanya untuk menggambarkan:
"As a <librarian>, I want to <register new books> so that
<students can find their availability online>"
Dalam contoh konyol ini, di mana orang akan mendefinisikan bidang yang diperlukan saat mendaftarkan buku? Haruskah itu ditulis di mana saja? Atau haruskah aturan bisnis yang disyaratkan disampaikan secara lisan oleh Pemilik Produk?
sumber
Biasanya pada cerita pengguna yang mencakup luas yang memiliki banyak sisi saya mencoba untuk mendapatkan contoh cerita yang paling umum, dan kemudian untuk spesifiknya saya membuat cerita pengguna anak yang mewarisi dari cerita tersebut. Banyak alat manajemen proyek Agile seperti RallyDev memungkinkan Anda melakukan ini dengan mudah dan menurut saya masuk akal.
Mendaftarkan buku baru sangat luas, jadi mungkin ada 10 cerita pengguna anak lainnya tentang bagaimana
<role>
buku ingin didaftarkan.Detail ekstrim dari hal-hal ini atau detail pinggiran yang aneh yang biasanya saya definisikan dalam satu atau lebih tugas di bawah kisah pengguna itu. Tugas-tugas membantu menentukan pengembangan dan pekerjaan desain yang harus dilakukan (pada tingkat umum) untuk memenuhi cerita pengguna itu (Misalnya. Menulis validtor untuk memastikan input dalam bidang deskripsi kurang dari 50 karakter ...) EDIT: Saya hanya ingin menambahkan bahwa mungkin lebih baik untuk menjaga detail ekstrem dari cerita pengguna karena kemungkinan itu bukan sesuatu yang benar-benar diperhatikan oleh pengguna. Pengguna ingin menjelaskan perangkat lunak secara umum dan mereka bergantung pada pengembang perangkat lunak untuk mencari tahu dan menyembunyikan detailnya.
Ini adalah cara saya mendekati masalah tetapi saya yakin ada beberapa cara berbeda.
sumber
Jawabannya sederhana, memasukkan aturan bisnis ke dalam kriteria penerimaan.
Contoh sepele hanya untuk menggambarkan:
Sebagai seorang pustakawan, saya ingin mendaftarkan buku-buku baru, sehingga siswa dapat menemukan ketersediaannya secara online
Saya akan puas ketika: * Saya dapat mendaftarkan bidang-bidang berikut: - ISDN - Penulis - Dewey Desimal blah blah * Saya dapat melihat konfirmasi bahwa buku telah terdaftar oleh sistem * Saya dapat melihat buku di dalam sistem
sumber
Bukan itu gunanya cerita pengguna. Mereka bukan persyaratan perangkat lunak yang menangkap semua detail atau aturan bisnis yang diperlukan untuk menulis implementasi. Mereka hanya deskripsi tentang apa yang harus dilakukan aplikasi dari perspektif pengguna.
Ingat apa yang penting: membangun perangkat lunak yang tepat. Anda menggunakan apa pun yang diperlukan untuk melakukan itu dan cerita pengguna hanya agar Anda memastikan Anda telah mengumpulkan fitur-fitur yang diperlukan aplikasi sehingga Anda dapat kemudian berbicara tentang mereka, memprioritaskan mereka, memperkirakannya, dll. Bagian yang hilang dari pengguna klasik cerita (sebagai ... Saya ingin ... sehingga) adalah tentang komunikasi antara mereka yang terlibat dalam membangun perangkat lunak.
Memiliki detail sebagai kriteria penerimaan, sub-cerita, tugas teknis yang dilampirkan pada cerita pengguna, dalam dokumen spesifikasi atau apa pun, melampaui apa yang membantu Anda dengan cerita pengguna. Pengguna basi hanyalah "subjek" percakapan ketika memutuskan bagaimana membangun perangkat lunak.
sumber
Dalam contoh yang diberikan, ada banyak detail registrasi buku yang tidak diketahui banyak pengembang, seperti Dewey atau sistem klasifikasi lainnya, ISBN, nomor akuisisi, salinan / judul / penulis duplikat, edisi lain, dan sebagainya. Untuk sistem baru, perincian seperti itu harus disediakan oleh pelanggan (dan pustakawan, dari semua orang, tentu akan peduli pada mereka).
Mengutip Steve O'Connell, "Sangat menakutkan untuk merenungkan berapa banyak kebijakan bisnis yang dibuat oleh pengembang yang tidak memiliki detail yang diperlukan dalam spesifikasi, jadi buat saja sendiri."
sumber