2つの役割を含むユーザーストーリーのベストプラクティスは何ですか


8

同じ機能を複数の役割で共有する必要があるユーザーストーリーがいくつかあります。私はこれらの物語をこのように書き始めました:

Role-AまたはRole-Bとして
Action-Xを実行すると、
Event-Yが発生するはずです。

これは、ユーザーストーリーでその概念を表現する正しい方法ですか、それとも役割ごとに1つのストーリーに分割する必要がありますか?

回答:


14

ブレイクイットアップ

ストーリーごとに1つの役割。それぞれの役割を個別に検討することを強制することにより、違いが自然に現れる場合があります

[例が役立つかもしれません。役割AとBが同じストーリーの多くを共有している場合、役割の混乱が生じる可能性があります。代わりに、共通のストーリーを「所有する」役割Cがある可能性があります]


答えてくれてありがとう。これにより、状況が少し明確になります。機能がレポートのようなものである場合はどうでしょうか。レポートの機能はRole-AとRole-Bで同じですが、Role-AとRole-Bにはシステム内で異なる権限が必要です。
ショーンハンター、

2
@Seanがロール定義を再確認します。システム内でロールAとロールBの異なる権限がレポートに影響を与えない場合、それらは無関係であり、AとBがレポートストーリーの正しいロールではない可能性があります。たとえば、role-Architectとrole-Managerはどちらも401Kレポートにアクセスできます。「401K参加者」をこのレポートのより適切な役割として定義することは、意味がありませんか?
スティーブンA.ロウ、

ええ、私はあなたが今どこから来ているのかを理解しています。良いアドバイスをありがとう:D。
Sean Hunter

10

@Stevenに同意します。ストーリーを壊すか、役割に一般化を導入する必要があります。つまり、ストーリーがAとBの両方で同じであるたびに使用されるAとBの一般化が得られます(一般化がAとBの親であるロール/アクターの継承のようなものです)。


1
スティーブンに同意する場合は、同じ答えを追加するのではなく、単に彼を賛成しないのはなぜですか。
pdr

2
@pdr:私の回答の2番目の部分が「同一」であるとは思わないので、Stevenの回答に賛成しました。他人が投稿した回答を延長できないというルールはありません。それはそれを判断し、彼らが好きな答えを賛成投票するコミュニティに任されています。ご覧のとおり、Stevenはより多くの賛成票を獲得しているので、私の回答に問題はありません。
Ladislav Mrnka、

1
@pdr私はラディスラフの追加に同意し、彼の答えにも賛成した。良い情報が多いほど良いです!
Steven A. Lowe

ユーザーの一般化を作成すると、ストーリーの正式な完全性チェックがサポートされることを理解していますが、このようなストーリーを書くことは悪い考えだと思います。その理由は、アジャイルマニフェストの最初のルールである「プロセスとツールに対する個人と相互作用」と直接対立しているためです。
Max Hohenegger、2018年

1

役割を特定して抽象化する必要がある

あなたが提供した例...

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

プログラムが取ることができる組み合わせの指数関数的な数があるため、スケーリングしません。

個々の役割を抽出するには、グローバルな状態を無視しながら、直接的な視点からステップを想像する必要があります。

一杯のコーヒーを手に入れる方法」をご覧になることを強くお勧めします。状態図を使用してコーヒーショップのREST APIをモデル化する方法を示します。

重要なのは、システムがローカルレベルで機能していることがわかるまで、システムがグローバルにどのように相互作用するかを正確に描写することはできないということです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.