Apa praktik terbaik untuk cerita pengguna yang berisi dua peran

8

Saya memiliki sejumlah kisah pengguna di mana fitur yang sama perlu dibagikan oleh banyak peran. Saya sudah mulai menulis cerita-cerita ini seperti ini:

Sebagai Peran-A atau Peran-B
Ketika saya melakukan Action-X
Event-Y harus terjadi.

Apakah ini cara yang tepat untuk mewakili konsep itu dalam cerita pengguna, atau haruskah saya memecahnya menjadi satu cerita untuk setiap peran?

Sean Hunter
sumber

Jawaban:

14

Hancurkan

satu peran per cerita; dengan memaksa Anda untuk mempertimbangkan setiap peran dalam isolasi Anda mungkin menemukan perbedaan muncul secara alami

[contoh bisa membantu; mungkin ada beberapa kebingungan peran yang terjadi dari peran A dan B berbagi banyak cerita yang sama; kemungkinan ada peran C yang 'memiliki' cerita umum sebagai gantinya]

Steven A. Lowe
sumber
Terima kasih atas jawabannya. Itu memang membuat segalanya sedikit lebih jelas. Bagaimana jika fitur tersebut mirip dengan laporan. Laporan akan memiliki fungsi yang sama untuk Peran-A dan Peran-B, tetapi Peran-A dan Peran-B masih harus memiliki izin yang berbeda dalam sistem.
Sean Hunter
2
@Sean memeriksa kembali definisi peran Anda. Jika izin yang berbeda dalam sistem untuk peran-A dan peran-B tidak memengaruhi laporan maka tidak relevan, dan sepertinya A dan B bukan peran yang benar untuk cerita laporan. Misalnya, role-Architect dan role-Manager keduanya memiliki akses ke Laporan 401K. Tidakkah lebih masuk akal untuk mendefinisikan "Peserta 401K" sebagai peran yang lebih tepat untuk laporan ini?
Steven A. Lowe
Ya itu masuk akal saya dapatkan dari mana Anda berasal sekarang. Terima kasih atas sarannya: D.
Sean Hunter
10

Saya setuju dengan @Steven. Anda harus menyampaikan cerita atau memperkenalkan generalisasi pada peran. Itu berarti bahwa Anda akan memiliki generalisasi A dan B yang akan digunakan setiap kali cerita itu sama untuk A dan B. (Ini seperti warisan peran / aktor di mana generalisasi adalah induk dari A dan B).

Ladislav Mrnka
sumber
1
Jika Anda setuju dengan Steven, mengapa Anda tidak cukup memilihnya daripada menambahkan jawaban identik lainnya?
pdr
2
@ pdr: Saya tidak berpikir bahwa bagian kedua dari jawaban saya "identik" dan saya meningkatkan jawaban Steven. Tidak ada aturan bahwa Anda tidak dapat memperluas jawaban yang diposting oleh orang lain. Terserah masyarakat untuk menilai itu dan memilih jawaban yang mereka sukai. Seperti yang Anda lihat, Steven mendapat lebih banyak suara yang adil sehingga saya tidak melihat masalah dengan jawaban saya.
Ladislav Mrnka
1
@ pdr Saya setuju dengan tambahan Ladislav, dan meningkatkan jawabannya juga. Semakin banyak info bagus semakin baik!
Steven A. Lowe
Saya mengerti bahwa membuat generalisasi pengguna akan mendukung pemeriksaan kelengkapan formal dari cerita Anda, tetapi saya pikir itu ide yang buruk untuk menulis cerita seperti ini. Alasannya adalah bahwa itu bertentangan langsung dengan aturan pertama manifesto tangkas: "Individu dan interaksi atas proses dan alat".
Max Hohenegger
1

Anda perlu mengidentifikasi dan mengabstraksi peran

Contoh yang Anda berikan ...

As a Role-A or a Role-B 
When I perform Action-X 
Event-Y should occure.

tidak skala karena ada jumlah kombinasi eksponensial yang bisa diambil oleh program.

Untuk mengekstrak peran individu, Anda perlu membayangkan langkah-langkah dari perspektif tangan pertama sambil mengabaikan negara global.

Saya sangat menyarankan Anda melihat ' Cara mendapatkan secangkir kopi '. Ini menunjukkan bagaimana REST API untuk kedai kopi dapat dimodelkan menggunakan diagram negara.

Intinya adalah, Anda tidak akan dapat menggambar gambaran yang akurat tentang bagaimana sistem berinteraksi secara global sampai Anda dapat melihatnya bekerja di tingkat lokal.

Evan Plaice
sumber