good stories. · individuals and interactions, over processes and tools. working software, over...

45
Agile Requirements Good Stories.

Upload: others

Post on 07-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Agile Requirements

Good Stories.

Page 2: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

(Covers today's topics in detail with real world examples and exercises.)

Good Stories: Agile Requirements

$45X$20

[email protected]

Page 3: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

> Quick Overview Awkward Moments Why Use Stories? Story Process: - Actor Discovery - Manage Stories - Story Discovery - Acceptance Tests Quick Example

Agile RequirementsQuick Overview

Page 4: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

● Individuals and interactions, over processes and tools.

● Working software,over comprehensive documentation.

● Customer collaboration,over contract negotiation.

● Responding to change,over following a plan.

Agile Manifesto Values:

Page 5: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

It describes “who needs what, and why”, meaning:● Who the story is about,● What they need, and● Why that's of value.

“Standard” form of a story:● As an [actor-type],● I need [this feature],● So that [I get this benefit].

What's a Story?

Page 6: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Bill Wake's INVEST makes good stories simple:

- Independent: Stories don't depend on other stories.

- Negotiable: Stories express intent, not details.

- Valuable: Stories must express it's value.

- Estimable: Stories allow for work estimates.

- Small: Stories are small enough to complete in days.

- Testable: Stories' acceptance tests define what is done.

What's INVEST?

Page 7: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Ron Jeffries created the three C’s:● Card: A story is put on a card, which helps keep it

short.● Conversation: Details of story come out during

conversations with product owner.● Confirmation: Acceptance tests confirm the story was

coded correctly, and more importantly that the required work is done.

What are the three C’s?

Page 8: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Quick Overview > Awkward Moments Why Use Stories? Story Process: - Actor Discovery - Manage Stories - Story Discovery - Acceptance Tests Quick Example

Agile RequirementsAwkward Moments

Page 9: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Awkward moments, what are they?

“Circumstances Vs. Context”

Circumstances are a chain of events, and context gives them meaning. Awkwardness results when expectations of events don't fit the context.

Page 10: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Awkward Moment #4304

“Lotion Applicator”

Page 11: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Awkward Moment #7413

“Rain Saver”

Page 12: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Awkward Moment #0625

“Baby Balcony”

1

Page 13: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Awkward Moment #9137

“Public Bathroom”

Page 14: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Quick Overview Awkward Moments > Why Use Stories? Story Process: - Actor Discovery - Manage Stories - Story Discovery - Acceptance Tests Quick Example

Agile RequirementsWhy Use Stories?

Page 15: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

● Need everything knowable in advance.● Time-consuming to write.● Often hard to understand.● “To learn” means you had a bad plan, or failed to

execute, both of viewed as bad.● Fail to naturally embrace iterative action, and

incremental learning.● Are a good fit for “mission critical” systems, or

boilerplate solutions.

What are “complete” requirements?

Page 16: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

“Okay. Here's a story:”

“You give me all of my features, or I'll ruin your life.”

Page 17: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

“It” shall have:● A propulsion system● Rubber tires● Steel body● Windows● Steering● Wheels● Doors● etc.

What is it?

Page 18: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

“It” shall have:● A propulsion system● Rubber tires● Steel body● Windows● Steering● Wheels● Doors● etc.

Introducing the “Ox” Mobile

“Dude, where’s my car?”

Page 19: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

How do stories help?

“Reality of Uncertainty”

Page 20: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Uncertainty is real, so plan for it.

“Cone of Uncertainty”

Page 21: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

This is where stories come in:● We make decisions often, based on the most

information we're able to find.● Act on it in a way that's measurable. ● Rather than make one set of all-encompassing

decisions, we spread decision making across the project.

What's the solution?

Page 22: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Quick Overview Awkward Moments Why Use Stories? Story Process: > - Actor Discovery - Manage Stories - Story Discovery - Acceptance Tests Quick Example

Agile RequirementsProcess: Actor Discovery

Page 23: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Actors vary by:● Their general needs, wants, interests, motives, positions, etc.● What they use, how they use it, and where.● Their knowledge of the story itself, or related stories.● Relationship to, or with, other actors.● Level of trust given, or received, within the story.● And more...

Examples might include:

Buyer, Influencer, User, Decider, Approver, Moderator, Gatekeeper, Initiator, Seller, Maker, Administrator, Creator, Partner, Attacker...

Actor Discovery

Page 24: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

● Most story sets have more than one type of actor.● Relationships between actors define their roles in the stories.● Modeling actor relationships helps find missing perspectives.● Not all roles have stories, but the actors are known to exist.

Modeling Actor Roles

Page 25: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Agile RequirementsProcess: Story Discovery Quick Overview Awkward Moments Why Use Stories? Story Process: - Actor Discovery > - Manage Stories - Story Discovery - Acceptance Tests Quick Example

Agile RequirementsProcess: Manage Stories

Page 26: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Managing Stories

Epics

z

● Completes: Well defined, executable stories.● Themes: Sets of vague stories grouped by feature.● Epics: Large fuzzy requirements.

High Priority

Low Priority

Low Priority

High Priority

Discovery Themes

Completes

Executionz

All Pending Stories

Page 27: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

● First sort stories by epics, themes, and completes.● Then assign each story a “MoSCoW” rating:

● MUST - Minimum Usable SubseT● SHOULD - Competitor driven.● COULD - Possible to do, but expected return is low.● WON'T - Known to exist, but undesirable.

● Then do relative sort based on expected return within each group; “Return = Value – (Cost + Risk)”.

● Select highest priority stories to do next, limiting group to work possible 7-30 days; normally 14 days.

● Review the “next” stories for completeness, then commit as unchangeable during next work period.

Prioritizing Stories

Page 28: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

● Active Stories● Pending Stories● Released Stories ● Bug Tracking

● Related Story● Steps to reproduce the bug● Expected results, and actual results

Story Artifacts

Page 29: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Agile RequirementsProcess: Story Discovery Quick Overview Awkward Moments Why Use Stories? Story Process: - Actor Discovery > - Story Discovery - Manage Stories - Acceptance Tests Quick Example

Agile RequirementsProcess: Story Discovery

Page 30: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

A story describes “Who needs what, and why”... ● Who the story is about,● What they need, and● Why that's of value.

“Standard” form of a story:● As an [actor-type],● I need [this feature],● So that [I get this benefit].

What's a Story? (Refresher)

Page 31: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

● Stakeholders write stories.● Each stories includes:

● The story.● Estimate of work required.● Estimate of expected return.● (Feature classification, if applicable.) ● (Unique identifier, if applicable.)

● When completed, story goes into a pending story list.

Creating Stories

Page 32: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

1. Select the current highest priority actor.

2. Writing stories:● Writing stories for the selected actor.● Write stories in sets of five, writing high priority stories first.● After each set of five stories, re-prioritize all existing stories.● Continue process until all of five of the current stories are not

within the MUST priority group. ● No MUST stories are allowed to stay epics or themes.

3. Return to Step 1, until all actors processed.

( Why Five Stories? A set of five stories is required to detect approximately 85% of the stories in the MUST priority group, given that the probability encountering the story is 31% or more. )

Story Discovery Process:

Page 33: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Additional Information:● Each story has only one actor.● Define the default story first, then negative and edge cases.● Estimated work effort should be around two days per story.● Split and combine stories based on the “so that” value statements. ● Focus on breadth, then depth – meaning find epics first, then

themes, and completes last.

Time Required● Generally, 5-10% of total effort is spent preparing stories.● Analysts generally spend 50% of time in story planning sessions.● Analysts should respond to 80% of queries in less than 10-mins.

Story Discovery Process (cont.)

Page 34: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Actor interviews, or workshops:● Ask open-ended, context-free questions:

● Ask "what-why chains" until resulting answers are out of scope, then backtrack to collect the "hows".

● Do not ask leading or closed-end questions; eg yes/no, option-based, etc.

Questionnaires:● Larger population of actors, or when you need specific answers to

questions.

Applied Behavior Analysis:● Requires interviews, baselines, and is time consuming to setup,

but gives the best results. Works well for in-house developments.

Story Collection Options

Page 35: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Non-Functional Requirements (NFRs):● Requirements that specify criteria that is used to judge

the quality of a system, rather than specify it's behavior.● NFRs are linked to stories, but never part of a story.

Examples: Accessibility, Availability, Capacity, Compatibility, Efficiency, Maintainability, Performance, Security, Stability, and Usability.

What stories are not...

Page 36: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Agile RequirementsProcess: Story Discovery Quick Overview Awkward Moments Why Use Stories? Story Process: - Actor Discovery - Manage Stories - Story Discovery > - Acceptance Tests Quick Example

Agile RequirementsProcess: Acceptance Tests

Page 37: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

● Expected inputs, events/processes, and outputs for a single scenario.

● Use real/meaningful values, avoiding generic terms.● Verifiable criteria, that's automatically testable based on

GIVEN and THEN states.

Common Format:● Given [states supplied], ● When [events occur], ● Then [states resulting].

What are Acceptance Tests?

Page 38: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Agile RequirementsProcess: Story Discovery Quick Overview Awkward Moments Why Use Stories? Story Process: - Actor Discovery - Manage Stories - Story Discovery - Acceptance Tests > Quick Example

Agile RequirementsQuick Example

Page 39: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Bad decisions make good stories,

Espresso, 1931

Page 40: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Good stories create real value.

Espresso, 1933

As an espresso addict,I want to make espresso at home,So that I'm able to drink espresso as needed.

Page 41: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Good stories create real value.

Moka Express, 1933

Page 42: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

How the Moka Express Works:

Moka Express, InsideMoka Express, Inside

(A) The bottom chamber contains water. (B) When heated, steam pressure pushes the water through a basket containing ground coffee.

(C) into the collecting chamber.

Page 43: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Version 1 is:Given non-boiling water in a pot,When fire is applied,Then boiling water is made to pour through coffee grounds.

Given espresso coffee grounds,When boiling water pours through the coffee grounds,Then espresso is made.

Given coffee cup,When espresso is poured from espresso maker,Then I'm able to enjoy my espresso.

Version 2 adds:Given an airtight chamber of boiling water,When steam pressure exceeds required pressure,Then excess pressure is released.

Moka Express Acceptance Tests:

Page 44: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Bad decisions make good stories,good stories create real value.

Page 45: Good Stories. · Individuals and interactions, over processes and tools. Working software, over comprehensive documentation. Customer collaboration, over contract negotiation. …

Agile Requirements

Good Stories.