Acceptance Criteria What Sponsor Keep this community going

  • Slides: 31
Download presentation
Acceptance Criteria? What?

Acceptance Criteria? What?

Sponsor!!

Sponsor!!

Keep this community going We need sponsors and speakers to fill out the 2019

Keep this community going We need sponsors and speakers to fill out the 2019 season: ● ● ● Meeting space: Prefer in Philly or location with transportation options Pizza/Beer/Drinks Speakers: Practitioners. Technical software testing. Help move the profession forward. No sales pitches. Like to see code. Take a chance -- doesn’t need to be perfect Talk to to me or any of the other organizers

Good Acceptance Criteria for Testing and Development Seth Mc. Naughton, Software Developer in Test

Good Acceptance Criteria for Testing and Development Seth Mc. Naughton, Software Developer in Test at Chatham Financial, will share some of his experiences as a first-year developer as he worked with different development teams and tries to crack the code of acceptance criteria. Clear criteria are necessary for implementing a Shift-Left test strategy and for simple things like making sure you build the right thing. Come to hear about Seth's experiences, his research to learn more about incorporating good acceptance criteria practices on project teams, and to share your experiences.

Requirements Too Vague?

Requirements Too Vague?

GOOD ACCEPTANCE CRITERIA Purpose, Formats, and Best Practices

GOOD ACCEPTANCE CRITERIA Purpose, Formats, and Best Practices

WHAT IS THE PURPOSE OF ANY SOFTWARE DEVELOPMENT TEAM?

WHAT IS THE PURPOSE OF ANY SOFTWARE DEVELOPMENT TEAM?

HOW DO WE KNOW WE’RE DOING WHAT NEEDS TO BE DONE?

HOW DO WE KNOW WE’RE DOING WHAT NEEDS TO BE DONE?

HOW DO WE* KNOW WE’RE DOING WHAT NEEDS TO BE DONE? *Members of software

HOW DO WE* KNOW WE’RE DOING WHAT NEEDS TO BE DONE? *Members of software development teams

REAL, VERIFIED TICKETS

REAL, VERIFIED TICKETS

STORY LEVEL TICKET

STORY LEVEL TICKET

“CAN WE WRITE (MORE ABOUT) WHAT’S SUPPOSED TO BE DONE IN EACH TICKET? ”

“CAN WE WRITE (MORE ABOUT) WHAT’S SUPPOSED TO BE DONE IN EACH TICKET? ”

e? ” ok lik o l t a h t d l hat wou

e? ” ok lik o l t a h t d l hat wou “W “The a stori cceptan es. ” ce cr iteria is in the “We’ve tried it before and didn’t like it. ” “CAN WE WRITE (MORE ABOUT) WHAT’S SUPPOSED TO BE DONE IN EACH TICKET? ” “It’s n ot nec essar y. ” “This works for us. ” e m i t h o uc m o “What’s the minimum that needs to be written? ” at h T “ st e k ta

“WHAT SHOULD BE WRITTEN IN THE TICKETS? ” Purpose, Formats, and Best Practices of

“WHAT SHOULD BE WRITTEN IN THE TICKETS? ” Purpose, Formats, and Best Practices of Good Acceptance Criteria: A Journey of Inexperienced Exploration

What’s the context of the Acceptance Criteria? User Story Model As a <user role/customer>

What’s the context of the Acceptance Criteria? User Story Model As a <user role/customer> I want to <goal to be accomplished> so that <reason or purpose> Example As an internet banking customer I want to see a rolling balance for my everyday accounts so that I know the balance of my account after each transaction is applied

What are Acceptance Criteria? Conditions that software must satisfy to be accepted by a

What are Acceptance Criteria? Conditions that software must satisfy to be accepted by a user, customer, or consuming system.

When to define Acceptance Criteria? Before or After development has begun? Does it matter?

When to define Acceptance Criteria? Before or After development has begun? Does it matter? After development has started: Leads to merely verifying that the functionality we’ve built works rather than verifying that the functionality meets user needs and expectations. Before development has started: More likely to capture the customer intent rather than the development reality. Before Development Expectations Acceptance Criteria After Development Functionality

Why is it important to have Good Acceptance Criteria? Projects succeed or fail based

Why is it important to have Good Acceptance Criteria? Projects succeed or fail based on the ability of the team to meet their end-users documented and perceived acceptance criteria. Defining the criteria up front avoids surprises at the end of a sprint and ensures a higher level of customer satisfaction. Answers two important questions: Did we build the right product? (Validation) Did we build the product right? (Verification)

Validation Are we building the right product? “I know this game has money, players,

Validation Are we building the right product? “I know this game has money, players, tokens, and a board – but this is not the game I wanted. ” Verification Are we building the product right? “I landed on “Go” but didn’t get my $200!”

Built Right or Right Product? Business Failure Built Right Success Right Product Useless Crap

Built Right or Right Product? Business Failure Built Right Success Right Product Useless Crap Maintenance Nightmare

What makes “Good” Acceptance Criteria? 1. State What, not How: The criteria should be

What makes “Good” Acceptance Criteria? 1. State What, not How: The criteria should be independent of the implementation Discuss WHAT to expect, and not HOW to implement the functionality. 2. Testable with clearly defined pass/fail results 3. Unambiguous and concise

What do Acceptance Criteria look like? Scenario-Oriented (Given/When/Then): Given some precondition When I do

What do Acceptance Criteria look like? Scenario-Oriented (Given/When/Then): Given some precondition When I do some action Then I expect some result

What do Acceptance Criteria look like? Scenario-Oriented (Given/When/Then): Given some precondition When I do

What do Acceptance Criteria look like? Scenario-Oriented (Given/When/Then): Given some precondition When I do some action Then I expect some result Rule-Oriented (Verification checklist): “Display statement balance upon successful authentication” “The rolling balance is calculated for each transaction” Specification by Example Criteria specified as an example of system behavior

Who creates Acceptance Criteria? Product owner to provide guidelines from a business perspective Developer

Who creates Acceptance Criteria? Product owner to provide guidelines from a business perspective Developer provides guidelines about the product capacity Tester provides guidelines about how to verify the conditions and questions of edge cases

Improvement

Improvement