Die Nutzung von User Stories für die automatisierte, geplante oder reaktive Funktionalität

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

  •  30-09-2019
  •  | 
  •  

Frage

Ich habe mich gefragt, was das Denken in Bezug ist User Stories mit automatisierten zu beschreiben, geplant oder reaktive Funktionalität. Zum Beispiel, was tun Sie, wenn Sie so etwas wie eine Auftragserfüllung haben, die einen Auftrag aus einer Warteschlange beinhaltet ziehen, ein „fill Bestellformular“ vorbereitet, um die Form eines Auftragszentrum sendet, dann für eine Art von Bestätigung warten, um von das Bearbeitungszentrum, wie „Auftrag erfüllt“ oder „Auftragserfüllung Fehler: Gründe ...“, etc .. beachten Sie, dass der einzige Benutzereingriff während dieses gesamten Prozesses wäre, wenn die Bestellung eingegeben wurde. Man könnte immer argumentieren, dass der Erfüllungsprozess etwas ist, das aus einer Auftragserfassung Geschichte impliziert werden kann, oder dass es eine Implementierung Detail, aber es scheint mir, dass der Erfüllungsprozess zu groß ist einfach, es zu nehmen, wie angedeutet von einem Auftragseingang User Story oder als Implementierungsdetail. Es fühlt sich an wie eine Beschreibung der Erfüllung sein sollte, sich als auch Geschichte.

Insbesondere die Aspekte, dass das Interesse von mir eine User Story für die automatisierte, geplante oder reaktive Funktionalität Schreiben aus deren Sicht sollte beschrieben werden? Da wir eine Geschichte Format wie verwenden „Als [Rolle], I [Funktionalität] will, so dass [Zweck]“, was ist die Rolle in dem „Als [Rolle]“ Teil der Geschichte, und was ist die Zweck in dem „so dass [Zweck]“ Teil der Geschichte? Die Funktionalität ist in der Regel klar genug, aber die Rolle und der Zweck scheint ein wenig relativ. Zum Beispiel könnte ich das System als mein Bezugspunkt und Schreib etwas wie „Als Order Fulfillment System / Agenten verwenden, möchte ich eine Füllung Bestellformular in der Lage sein einen Auftrag von der Erfüllung Warteschlange zu ziehen, vorbereiten, und senden Sie es an das Auftragszentrum, so dass der Auftrag „erfüllt werden kann. Oder alternativ ich die Dinge aus dem Geschäft Sicht und Schreib so etwas wie „Als Auftragserfasser aussehen könnte, mag ich in der Lage sein, um die Aufträge zu verarbeiten, die von den Kunden eingegeben werden, so dass ich meine Verantwortung für meine Kunden erfüllen kann und geben sie, was sie wollen“(oder etwas in diese Richtung). Aber ich könnte auch dies schreibe aus der Sicht des Kunden und etwas sagen wie: „Als Kunde möchte ich meine Auftragserfassung verarbeitet / erfüllt sein, damit ich die Dinge bekommen kann, was ich will“.

Ich weiß, dass es nicht eine endgültige Antwort sein kann, als zu deren Perspektive ist der gültige eine oder mehrere nützlich ein. Ich bin sicher, dass ich eine Menge bekommen Antworten „es kommt“. Dennoch würde ich sehr daran interessiert zu hören, was andere in Situationen wie diese geschehen, oder wenn jemand weiß jede Empfehlung, Leitlinien oder Praktiken speziell für diese Art von Szenarien.

War es hilfreich?

Lösung

Es könnte weg und in Richtung des Stakeholder-fokussierten von der traditionellen Vorlage User Story bewegen hilft Format von Feature Injection (BDD im Analyseraum):

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

können Sie herauszufinden, wer die Stakeholder von Denken darüber, wer bereit wäre, die Geschichte zu bezahlen geliefert werden. Zum Beispiel CAPTCHA-Boxen - die lästigen Dinge Benutzer zu füllen haben - sind für eine Moderators Nutzen gemacht, oder der Standort attraktiver zu machen Einnahmen zu gewinnen, und nicht zum Nutzen des Anwender überhaupt nicht! In der Tat, wenn man von den meisten Websites denkt, Anwendungen, usw., sind sie so gut wie nie für einen Benutzer getan. Die meisten Websites sind über Werbeeinnahmen. Die meisten Unternehmensanwendungen beinhalten eine Abteilung die Eingabe von Daten, so dass eine andere Abteilung sie verwenden können, oder so, dass das Geld kann von den Kunden aufgenommen werden.

Wenn Sie das tun, wird es offensichtlich, dass es möglicherweise mehr als ein Benutzer beteiligt sein, und könnte ein Benutzer ein anderes System sein. In Ihrem Fall vermute ich, dass irgendeine Art von Verkaufsleiter ist der wichtigste Stakeholder für diese Geschichte.

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.

Sie können daraus ersehen, dass die Ziele inzwischen recht hohe Niveau, wenn Sie also ein Stück Software haben, die in diese Ziele spielt, man kann sie brechen:

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

Nun kann jede Geschichte in das Projekt Vision zurückverfolgt werden, und Sie können alle Systeme im Spiel sehen. So Ihre automatisierten Szenarien lesen können:

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.

Zum Beispiel.

By the way, wenn Sie denken jetzt in dieses Format zu bewegen, sich bewusst sein, dass die Transparenz schafft mit Menschen absolute Chaos verursachen können, die sind, sagen wir, die Entwicklung, weil sie das Budget haben, und keine richtige Projektvision. Ich denke, dass dies eine gute Sache ist. Andere finden, die Politik weniger bequem! Viel Glück, was auch immer Sie sich entscheiden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top