180 likes | 198 Views
Epic to Story. User Stories > Big and Small. Ernest Walker jernestwalker@outlook.com 678-595-4684. Critical Thinking. The art of analyzing & evaluating thinking with a view to improving it using rigorous standards of excellence. Raise questions clearly & precisely.
E N D
Epic to Story User Stories > Big and Small Ernest Walker jernestwalker@outlook.com 678-595-4684
Critical Thinking The art of analyzing & evaluating thinking with a view to improving it using rigorous standards of excellence. • Raise questions clearly & precisely • Gather & assess information using abstract ideas • Interpret information for well-reasoned conclusions/solutions • Test against relevant criteria & standards • Call out assumptions, implications & consequences • Communicate effectively with others Self-directed, self-disciplined, self-monitored & self-correcting. http://www.criticalthinking.org//
Universal Intellectual Standards Clarity Accuracy Depth Breadth Logic Significance Fairness Precision Relevance Could you elaborate? Could you give an example? Could you illustrate what you mean? How do we check on that? How could we find out if that is true? How could we verify or test that? Could you be more specific? Could you give me more details? Could you be more exact? How does that relate to the problem? How does that bear on the question? How does that help us with the issue? Relevance Precision Accuracy Clarity Depth What factors make this a difficult problem? What are some of the complexities of this question? What are some of the difficulties we need to deal with? http://www.criticalthinking.org//
Universal Intellectual Standards Clarity Accuracy Depth Breadth Logic Significance Fairness Precision Relevance Do we need to look at this from another perspective? Do we need to consider another point of view? Do we need to look at this in other ways? Does all this make sense together? Does your first paragraph fit with your last? Does what you say follow from the evidence? Is this the most important problem to consider? Is this the central idea to focus on? Which of these facts are most important? Do I have any vested interest in this issue? Am I sympathetically representing the viewpoints of others? Significance Fairness Breadth Logic http://www.criticalthinking.org//
The Big Picture • Epics – high level requirements (big ‘User Stories’) • Features – themes/group of related User Stories • User Stories – simplest level of functionality When all User Stories under the Features and all Features under the Epic are completed, the high level required function is delivered.
What is a User Story? A simple, clear, brief statement of intent that describes something a system needs to do for a user. • Smallest increment of functionality that can be delivered while providing value to the user • Written in business language • Represents a customer’s goal, not a system’s attribute • Detailed on a just-in-time basis, not at the outset of the project • A conversation starter
User Story Format • Card • 3”x5” index card (or Excel, Rally) • Limit size to prevent info becoming specs • Conversation • Understood by every member of the team • Explain the what not the how (no tech details) • Confirmation • Contain Acceptance Criteria (a justification for when dev of story is complete)
User Story Card—Front Narrative = the Who (X), What (Y) & Why (Z) As a…… customer I want to….. buy a book online So that…… I don’t have to go to the bookstore ‘I do this’ and ‘this happens’ Notice this story is actually an Epic Story.
User Story Card—Back Acceptance Criteria = scenarios to confirm completion Given (initial context), When (the event occurs), Then (outcomes)* Given the bookstore has the book in stock And the customer’s method of payment is valid When the customer requests the book And provides all info needed for the transaction Then the book is shipped to the address provided Remember: there can be multiple scenarios for each story’s acceptance criteria
What makes a good User Story • Independent Can be developed, tested (scenarios) & potentially delivered on its own • Negotiable Not a contract, but a placeholder for discussion • Valuable Must provide value to user, customer, or stakeholder • Estimable Must be small enough for rapid implementation, contains clear acceptance criteria • Small Sized for a single Sprint • Testable Acceptance criteria is verifiable by testers and/or business users • INVEST originated in an article by Bill Wake > http://xp123.com/articles/invest-in-good-stories-and-smart-tasks/
What makes a good User Story The Product Owner defines the • Who • What • When • Where • Why The Dev Team determines the • How
What makes good Acceptance Criteria? • Outline all functional tests/scenarios needed for the story • Include enough detail for scenario scripts to be written • Be present in all User Stories, and serve as documentation of requirement details • Include functional, non-functional/design, and performance criteria • Formatted in business terms so business contacts can confirm
Acceptance Criteria & Behavior Driven Development (BDD) BDD combines test-driven development, domain driven design & object-oriented analysis and design • Business Readable & Domain Specific Language • Helps define business behavior & expected outcome • Typically from the end-user perspective (outside-in) • Does not define implementation details • Framework for communication & collaboration • Connects cause & effect to input > process > outcome • Learn more about how BDD came to be from Dan North http://dannorth.net/introducing-bdd/
BDD/Gherkin LanguageGiven—When—Then • Given—indicates preconditions/known state of system • When—the action to be performed by the user • Then—the expected outcome of ‘When’ • And or But—added after either Given, When, Then to indicate a continuing action • Learn more about Gherkin language and Cucumber code https://github.com/cucumber/cucumber/wiki/Gherkin
Epic Exercise #1—Presentations As a…… speaker I want to….. present material So that…… I can communicate my information
Epic Exercise #2—Sales As a…… sales representative I want to….. track customer encounters So that…… I can improve sales
Epic Exercise #3—Pricing As a…… farmer I want to….. calculate cost of doing business So that…… I can price my products for market