profession of software delivery • About Scrum Pulse: • Free Webinar by Scrum.org, with unifying themes: – Increased focus on empiricism and agility – Continuous delivery of business value – Building trust and respect between business and I.T. • How you can plug-in… – Register and view previously recorded webinars at Scrum.org/ScrumPulse or Youtube.com/scrumdotorg – Tweet requests for future sessions, mention @scrumdotorg #scrumpulse About Scrum.org – The Home of Scrum
delivers a wide variety of customized education solutions in Scrum as well as Scrum.Org certification training and consulting. w w w . m a x t r a i n . c o m | 51 3 - 3 2 2 - 8 8 8 8
problem with software? q Bugs q Users don’t use part of the product q Developers are highly paid q QA takes an unpredictable amount of time q Requirements are misunderstood q Technology is ever changing
You are writing a the blue light special app When people are running the app and connected to the store Wifi, The store can activate a “blue light special” deal message that is active for a pre- determined amount of time The deal can be active for a maximum of 15 minutes The deal message is short - 500 characters
a story for this application 17 Story As a store advertising manager I want to send out a blue light special to customers connected to the store wifi So that are encouraged to use the store wifi Acceptance criteria Special messages are <= 500 characters Messages only go to connected customers Messages are active a maximum of 15 minutes Title Body As a < role > I want to < do something > So that < I get business value > Acceptance criteria
is connected to the wifi they will not receive a blue light message Write some concrete examples Customer Joe is connected to the store wifi When a blue light special with the message “dog food 15% off” is sent Then Joe will see the message “dog food 15% off” Here’s an example Here’s a concrete example
isn’t connected to the wifi they will not receive a blue light message Write some concrete examples Customer Joe is not connected to the store wifi When a blue light special with the message “dog food 15% off” is sent Then Joe will not see the message Here’s an example Here’s a concrete example
becomes connected to the wifi, the customer will receive messages as long as they were sent no more than 15 seconds before the connection occurred Write some concrete examples A blue light special with the message “dog food 15% off” is sent Customer Joe becomes connected to the store wifi Then Joe will see (ask the PO) Here’s rule Here’s a concrete example
becomes disconnected to the wifi, while receiving a message the message will not be displayed Write some concrete examples A blue light special with the message “dog food 15% off” is sent Customer Joe becomes disconnected from the wifi while receiving the message Then Joe will see (ask the PO) Here’s rule Here’s a concrete example
appropriate Inductive reasoning moves from specific instances into a generalized conclusion Deductive reasoning moves from generalized principles that are known to be true to a true and specific conclusion. Inductive reasoning is good for drawing conclusions that are not explicitly stated
explore, discover, define then drive out the desired behavior of software using conversation, concrete examples and automated tests" Matt Wynne, The Cucumber Book Automate Tools Formulate Given, when, then Discover Examples and rules
Using examples to drive out story details, acceptance criteria, and new stories Formulation Using the examples to create a standardized (ubiquitous) language Automation Using the ubiquitous language to drive out automated specification verifications (tests)
. Iterative Product Backlog Refinement 100% Story Title 50% Refined with AC 70% Story Body 25% Refined again 2 sprints sprint ready Sprint Planned Story Format Title: <some title> Body: As a <role> I want <to do something> So that <value> Acceptance Criteria: -Verify that <situation> -Verify that <situation> -Verify that <situation>
Criteria The conditions that a software product must satisfy to be accepted by a user or customer. Rule One of a set of explicit or understood regulations or principles governing conduct within a particular activity or sphere. Acceptance criteria = Type of rule
for examples Context Action Outcome A blue light special with the message “dog food 15% off” is sent Customer Joe becomes connected to the store wifi Then Joe will see no message
format, doesn’t it? Given When Then A blue light special with the message “dog food 15% off” is sent Customer Joe becomes connected to the store wifi Then Joe will see no message
Pick a story Discover Make the test pass Refactor Code Write a failing unit test TDD BDD Convert example into Scenario Formulate Generate Scenario Automate Refactor Scenario
(\\d+) and -?(\\d+)$") public void i_enter_and(int arg1, int arg2) throws Throwable { myCalculator.insertNumber(arg1); myCalculator.insertNumber(arg2); // throw new PendingException(); } @When("^I press \"(w*?)\"$") public void i_press(String arg1) throws Throwable { myCalculator.press(arg1); } @Then("^I will see -?(\\d+)$") public void i_will_see(int arg1) throws Throwable { int result = myCalculator.getResult(); Assert.assertEquals("Test failed", arg1, result); // throw new PendingException(); }
questions? Tap into the collective experience and expertise of the Scrum.org community. • https://www.scrum.org/forum Connect with the Scrum.org Community
resources/blog • Articles to further your Scrum knowledge and improve your Agile practices. • Written by our community of world-class Professional Scrum Trainers. Blog - Read Insights and Tips from Our Trainers