Fokus pada apa dan mengapa dan hindari bagaimana saat menulis cerita pengguna.
Apa yang Anda hadapi sebenarnya adalah latihan yang sangat baik untuk semua pengembang. Mampu mengungkapkan persyaratan secara sederhana, istilah bisnis adalah keterampilan yang penting.
Anda harus fokus pada persyaratan umum seperti "harus dapat membuat satu pilihan dari daftar drop-down objek sehingga pengguna dapat mengaktifkan tindakan Foo" daripada menentukan menggunakan kotak kombo atau listbox atau apa pun yang memicu rutinitas tertentu .
Cara lain untuk mendekati ini adalah berpura-pura seperti basis kode / kerangka kerja kotak hitam yang hampir lengkap. Setiap kali Anda menemukan diri Anda mengatakan "gunakan objek XYZ", Anda dapat memeriksa sendiri dengan menanyakan apakah Anda akan tahu itu dalam sistem kotak hitam.
Pembaruan:
IMO, tidak apa-apa untuk memasukkan detail ke dalam use case yang menunjukkan tingkat detail yang diperlukan untuk informasi. Misalnya, dengan sistem pendaftaran, wajar menentukan
- nama belakang; bidang wajib
- nama depan; bidang wajib
- ID akun; sistem tidak menghasilkan input yang diperlukan
- tanda astrologi; bidang opsional - (saran) memberikan pencarian agar tidak memasuki tanggal lahir?
- dll ....
Kuncinya adalah Anda tidak menentukan cara teknis untuk informasi itu. Jika Anda menemukan diri Anda mengatakan "gunakan kelas String / array karakter / atau bidang varchar" untuk nama belakang, maka Anda tahu bahwa Anda terlalu menentukan.
Jika Anda multi-bahasa, maka gunakan dua bahasa yang berbeda sebagai tes lakmus Anda. Sebagai contoh, string dalam C umumnya array char (acter) sedangkan C ++, Java, dan C # (oke, dan hampir semua orang ...) memiliki objek String seperti yang sebenarnya. Jika Anda menemukan bahwa spesifikasi Anda tidak valid dengan menggunakan salah satu dari bahasa-bahasa itu maka Anda akan tahu bahwa Anda terlalu spesifik.
Perlu dicatat bahwa saya secara khusus menggunakan istilah Use Case sebagai lawan dari User Story , meskipun varian yang akhirnya saya gunakan adalah campuran keduanya. Tujuan saya dari use case adalah untuk memberikan gambaran tentang apa yang terjadi (Cerita Pengguna dalam arti yang paling ketat) tetapi kemudian bekerja melalui aktor, sistem, dan fungsi umum yang diperlukan. Pendekatan saya lebih dekat dengan apa yang disarankan Fowler dalam artikel wikipedia itu yang bertentangan dengan pendekatan Cockburn.
Jadi saya akan memiliki satu kasus penggunaan (atau lebih) untuk skenario pendaftaran atau item pekerjaan. Jika ini benar-benar rumit, saya akan memecahnya menjadi banyak, tetapi itu bukan masalah besar. Kasus penggunaan kemudian dapat dipecah menjadi tugas-tugas individu yang diperlukan. Apa yang dilemparkan ke dalam scrum tertentu tergantung pada banyak variabel, tetapi tidak ada dalam pendekatan ini yang mencegah Anda memiliki komponen yang dapat ditunjukkan di akhir scrum.