自動化、スケジュール、またはリアクティブ機能のためのユーザーストーリーの利用

StackOverflow https://stackoverflow.com/questions/3928046

  •  30-09-2019
  •  | 
  •  

質問

ユーザーストーリーを使用して自動化、スケジュール、またはリアクティブな機能を説明することに関して、私は何が考えているのだろうと思っていました。たとえば、注文をキューから引き出す、「充填注文フォーム」の準備、注文処理センターにフォームを送信し、からの何らかの確認を待つことを含む注文フルフィルメントプロセスのようなものがある場合はどうしますか「注文が満たされた」、「注文の履行エラー:理由...」などの処理センターは、このプロセス全体での唯一のユーザー介入は注文が入力されたときであることに留意してください。フルフィルメントプロセスは注文エントリストーリーから暗示される可能性のあるものであるか、実装の詳細であると常に主張することができますが、履行プロセスは大きすぎて注文エントリから暗示されるようにそれを取るには単純に取ることができないようです。ユーザーストーリーまたは実装の詳細として。物語としての充足自体の説明もあるべきだと感じています。

特に、自動化された、スケジュールされた、またはリアクティブな機能のユーザーストーリーを書くことに興味がある側面は、誰の視点から説明する必要がありますか? 「[役割]として、[機能]を[目的]にしたい」などのストーリー形式を使用していることを考えると、ストーリーの「役割として」の役割は何ですか、そして何がストーリーの「[目的]」の一部の目的?機能は通常十分に明確ですが、役割と目的は少し相対的なようです。たとえば、システムを参照ポイントとして使用して、「注文フルフィルメントシステム/エージェントとして、フルフィルメントキューから注文を引き出し、塗りつぶし注文フォームを準備し、に送信することができるようにすることができます。注文を満たすことができるように注文処理センター」。あるいは、ビジネスの観点から物事を見て、「注文テイカーとして、顧客が入力した注文を処理して、顧客に責任を果たして与えることができるようにすることができます。彼らが望むもの」(またはそれらの線に沿って何か)。ただし、顧客の観点からこれを書いて、「顧客として、注文エントリを処理/満たして、自分が望むものを受け取ることができるようにする」などと言うこともできます。

私は、誰の視点が有効なもの以上の視点が有用なものであるかについて、1つの究極の答えがないかもしれないことを理解しています。私は多くの「それが依存する」返信を得ると確信しています。それにもかかわらず、私は他の人がこのような状況で何をしたか、またはこれらのタイプのシナリオに特に推奨事項、ガイダンス、または慣行を知っているかどうかを聞くことに非常に興味があります。

役に立ちましたか?

解決

従来のユーザーストーリーテンプレートから離れて、機能インジェクションの利害関係者に焦点を当てた形式(分析スペースのBDD)に向かって移動するのに役立つかもしれません。

In order to <achieve a goal>
As <the stakeholder>
I want <someone to do something for me>.

あなたは、誰がストーリーを提供するために誰が喜んで支払うかを考えることによって、利害関係者が誰であるかを解決することができます。たとえば、Captchaボックス - ユーザーが記入しなければならないこれらの迷惑なもの - は、モデレーターの利益のために行われます。実際、ほとんどのサイト、アプリケーションなどを考えると、ユーザーのためにほとんど行われていません。ほとんどのWebサイトは、広告収益に関するものです。ほとんどのエンタープライズアプリケーションには、1つの部門がデータを入力して、別の部門がそれを使用できるように、または顧客からお金を奪うことができます。

これを行うと、複数のユーザーが関与している可能性があり、ユーザーが別のシステムである可能性があることが明らかになります。あなたの場合、私はある種のセールスヘッドがこの話の主要な利害関係者であると推測しています。

In order to make sales
As the Sales Head
I want customers to be notified of any errors with their order.

In order to make sales
As the Sales Head
I want customers' orders to be fulfilled within 24 hours.

このことから、目標が非常に高いレベルになることがわかるので、それらの目標に登場するソフトウェアがある場合は、それらを分解できます。

In order to fulfil customer's orders within 24 hours...

これで、すべてのストーリーがプロジェクトビジョンにまでさかのぼることができ、プレイ中のすべてのシステムを見ることができます。したがって、自動化されたシナリオが読み取られる可能性があります。

Given a valid order in the queue
When the order fulfilment system runs
Then it should send a fill order form to the processing centre
When the processing centre responds successfully
Then the successful fulfillment should be logged
And the customer should be notified by email.

Given an invalid order in the queue
When the order fulfilment system runs
Then it should send a fill order form to the processing centre
When the processing centre responds with an error
Then the error should be logged
And the customer should be notified of the problem by email.

例えば。

ちなみに、今この形式に移行することを考えている場合、それが生み出す透明性は、適切なプロジェクトビジョンではなく、予算を持っているために開発している人々と絶対に大混乱を引き起こす可能性があることに注意してください。これは良いことだと思います。他の人は、政治の快適さがそれほど快適ではないと感じています!幸運、あなたが決めるものは何でも。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top