SlideShare a Scribd company logo
Agile Testing
Agile Ottawa April 2015
What is Testing?
●Testing seeks to discover threats to the value of
software
●Questioning a product in order to evaluate it
o James Bach
●Testing is done to find information
o With that information critical project decisions
can be made
What is Agile Testing?
Agile testing applies the agile mindset
● It suggests attitudes and activities that help to
deliver valuable software
Applies to both
●Testing on an agile team
●Using agile testing on a traditional team
The Agile Testing Mindset
● The whole team is responsible for quality
o ‘QA will find it’ isn’t accepted
● Testing is not a phase, it’s an ongoing activity
The Agile Testing Mindset
● Short feedback loops
● Continuous improvement
● Collaboration
o How can I help?
Agile Testing   Agile Ottawa April 2015
Why Bother?
● To fix defects as close to when they were
introduced as possible
● To keep the project moving forward
o By continually providing test feedback as the
product is developed
The Whole Team Approach
Separate Teams
Agile Testing   Agile Ottawa April 2015
Agile Testing   Agile Ottawa April 2015
Cross Functional Team
Agile Testers
Agile Testers
Principles for agile testers
● Provide continuous feedback
● Focus on delivering value
● Prioritize high bandwidth communication
Agile Testers
Need to be critical thinkers
● Challenge assumptions
Need to be problem solvers
● Fix problems, not symptoms
Need to be good communicators
● They are required to give feedback
Agile Testers
Need to learn the business domain
● Take the customer’s point of view
Need to think differently
● Ask the what if questions
Agile Testers and Feedback
Give feedback
● With empathy for the customer
● With empathy for the developers
Giving Feedback
● Have a positive intent
o You are trying to help people
● Take responsibility for the feedback
o Provide and gather context
● You must be clear
o Otherwise your feedback is ineffective
Receiving Feedback
● Assume a positive intent
o People want to do their best work
● Give people the benefit of the doubt
o People have bad days
● Thank people for constructive feedback
o You want to improve to do your best work
Feedback Skills for Agile Testers
● Active listening
o Listen to learn
o Don’t jump to conclusions
Feedback Steps from Jurgen Appelo
● Provide context
● List observations
● Express emotions
● Sort by value
● Offer suggestions
Agile Testers
Trust is like money
● It can take years to earn it
and it only takes minutes
to lose it
Agile Testers and Programming
It is important to be technically aware
● Take a holistic view of your technical environment
Everyone cannot be good at everything
● A technical context enhances collaboration
Agile Testers and Programming
So does this mean testers need to program?
● Definitely maybe
Test automation enables agile testing
● Agile testing is not sustainable without automation
Instead of the individual look at the team
● The team needs to be able to program
T Shaped Testers
The T represents depth of knowledge and breadth of
knowledge
T
Depth
Breadth
T Shaped Testers
Depth is the tester’s specialized knowledge
● Integration testing
● Exploratory testing
● Etc
Depth
Breadth
T
T Shaped Testers
Breadth is the tester’s generalized knowledge
● Programming
● Configuration management
● Databases
● Etc
Depth
Breadth
T
Square Shaped Teams
Test Automation
Test Automation
You can apply agile skills to any test project
● But automation enables agile testing to succeed
Test Automation
Why?
● Manual testing takes a long time
● Manual testing is expensive
● You want to free your testers to do more valuable
work
Test Automation
More reasons
● It provides earlier feedback more often
● It is a form of documentation
● It enables Continuous Integration and Continuous
Delivery
Testing vs. Checking
Checking
● Things that machine could do
o Expected results are well defined
Testing
● Things that a human must do
o Observe
o Explore
o Infer
Testing vs. Checking
More
● Cost
● Time
● Fragile
More tests
Agile Testing   Agile Ottawa April 2015
Agile Test Quadrants
Agile Testing   Agile Ottawa April 2015
Agile Testing   Agile Ottawa April 2015
Exploratory Testing
Exploratory Testing
Exploratory testing
●Relies on a tester’s freedom
●Relies on a tester’s responsibility
What is it?
●Testing without expected results
Exploratory Testing
Exploratory testing is simultaneous
● Learning
● Test design
● And test execution
James Bach
Exploratory Testing
How do you do it if you don’t have an expected
result?
● Use test heuristics
● Use experience and domain knowledge
What is it not?
●Undisciplined
●Undocumented
Test heuristics?
● A ‘rule of thumb’ for testing software
o Using experience to find defects
Heuristics
Variable Analysis
● Identify anything whose value can change.
● Goldilocks
o Too Big, Too Small, Just Right
● Starvation
o CPU, Memory, Network, or Disk at maximum
capacity
Elisabeth Hendrickson - Test Heuristics Cheat Sheet
Heuristics Examples
I'm not schooled in the science of human factors,
but I suspect surprise is not an element of a robust
user interface
Chip Rosenthal
Exploratory Testing
Design
● Look for interesting test variations
Executing
● When you think of the test
Learning
● Discover behaviour, look for clues about defects
Steering
● Take those clues and exercise the code more
Exploratory Testing
Ideas
● Persona testing
● Test tours
Tools
● Notes
● Mind maps
● Atlassian Bonfire
● QTest eXplorer
SBE, and BDD
Shift Left in the SDLC
We want to test early and often
● How do we start to prevent defects even before
code is written?
Shift Left in the SDLC
Involve test throughout the Software Development
Lifecycle
Prevent defects
● By collaborating early and often
o Business, dev, and test
● By challenging requirements early
Build the Right Thing, Build it Right
Testers can help:
● Build the right thing
o That meets the customers needs
o Might not be what they asked for
● Build it right
o Well designed, coded, tested
A Build the Right Thing Pyramid
SBE and BDD
Specification by Example (SBE)
Behaviour Driven Development (BDD)
Both methods involve testers earlier in the SDLC
● To discover the right thing to build
Both methods use business language
● This allows Business, Dev, and Test to collaborate
SBE and BDD
Specification by Example (SBE) uses process
patterns to collaborate
●Defines scope from business goals
●Gathers key examples
●Refines examples
●Automates testing of the examples
SBE and BDD
Behaviour Driven Development (BDD)
● Defines tests first
● Captures examples of desired system behaviour
● Automates testing of those examples
SBE and BDD
People get distracted by automation tools
It isn’t about the tools
● It’s about the conversations
● It’s about gaining a shared understanding
Paraphrasing Liz Keogh
The Outside-In Approach
Friends build products
Enemies only build
documentation
Pragmatic Marketing
Stories and SBE, BDD
Stories are a lightweight method to frame desired
system behaviour
As a student
I want to register for a course
So that I can graduate
Who
What
Why
Stories
Note:
The story
● Can’t be coded yet
o It needs more detail
● It isn’t testable yet
Specification Workshops
You need to get the details, SBE and BDD suggest a
conversation
Discuss the story in a specification workshop to
● Understand how it should behave
● Discover enough detail to develop and verify
● Create shared understanding
o Business
o Dev
o Test
Who is in that workshop? Why?
Business
QADev
The solution we want
Examples
Refine the examples from the Specification
Workshop using the Given When Then format to
● Define a story’s scope
● Make the story testable
● Give you the story’s key details
Don’t create an example for everything
● You’ll get lost in the details
Example
GIVEN Java 101 has >= 1
places available
WHEN Sarah registers for Java
101
THEN Sarah is registered in
Java 101
Postcondition
Event
Precondition
Details documented
collaboratively
A Vacation Photo
Shared Understanding
The document is nothing,
but documenting is
everything
●Gerald Weinberg paraphrasing D. Eisenhower
Key Success Factors
●Use the whole team approach
●Adopt the agile testing mindset
●Automate regression tests
●Provide and get feedback
●Build the team’s core agile practices
●Collaborate with the business, and development
●Look at the big picture
The Outside-In Approach
Quality is about being
prepared for the usual so
you have time to tackle the
unusual.
● Adam Geras
Agile Testing   Agile Ottawa April 2015
Agile Testing   Agile Ottawa April 2015
Agile Testing   Agile Ottawa April 2015
Agile Testing   Agile Ottawa April 2015
Dag Rowe
● @dagrowe
● ca.linkedin.com/in/dagrowe
Thanks to Pythian for sponsoring the pizza, and
venue!
www.pythian.com
Sources
●Agile Testing: A Practical Guide for Testers and
Agile Teams
●More Agile Testing: Learning Journeys for the
Whole Team
●User Story Mapping: Discover the Whole Story,
Build the Right Product
●Specification by Example: How Successful Teams
Deliver the Right Software
●http://dannorth.net/introducing-bdd/
Sources
●http://watirmelon.com/tag/software-testing-
pyramid/
●http://www.duncannisbet.co.uk/test-automation-
basics-levels-pyramids-quadrants
●http://www.satisfice.com/blog/archives/category/te
sting-vs-checking
●https://mysoftwarequality.wordpress.com/tag/softw
are-quality/
●http://www.developsense.com/blog/2012/02/braidi
ng-the-stories/
Sources
●https://mysoftwarequality.wordpress.com/tag/softw
are-quality/
●http://www.skillsyouneed.com/ips/active-
listening.html
●http://lizkeogh.com/2011/09/22/conversational-
patterns-in-bdd/
●http://lisacrispin.com/downloads/AgileVancouverA
gileTestersDifferent.pdf
●http://www.slideshare.net/jurgenappelo/feedback-
wrap
Sources
●https://soundcloud.com/techwell/keep-agile-
testing-agile-an
●http://joecolantonio.com/testtalks/42-paul-gerrard-
shift-left-a-new-model-for-
testing/?utm_source=twitter&utm_medium=podcas
t&utm_campaign=shift_left_test_talks
●http://joecolantonio.com/testtalks/34-janet-gregory-
agile-testing/
●http://www.slideshare.net/ColomboCampsCommu
nity/what-is-an-agile-tester-henrik-kniberg

More Related Content

PPT
Agile Testing Process
PDF
What is Agile Testing?
PPT
Agile QA and Testing process
PPTX
Introduction to Agile Testing
PPT
Trends in Agile Testing by Lisa Crispin
PPT
Optimizing Your Agile Testing Processes
PDF
The testing skillset
PDF
What is Agile Testing? Edureka
Agile Testing Process
What is Agile Testing?
Agile QA and Testing process
Introduction to Agile Testing
Trends in Agile Testing by Lisa Crispin
Optimizing Your Agile Testing Processes
The testing skillset
What is Agile Testing? Edureka

What's hot (20)

PPTX
Agile Testing Days -Trends and future in testing 2017
PPTX
Agile Testing and Test Automation
PDF
Agile testing practice
PDF
Testing in Agile Development
PPTX
Introducing QA Into an Agile Environment
PPT
QA in Agile
PPT
Role Of Qa And Testing In Agile 1225221397167302 8
PPTX
ISTQB agile tester exam - Conclusions about Certification
PPT
Testing in Agile Projects
PPTX
Agile tour ncr test360_degree - agile testing on steroids
PPTX
Agile Testing - presentation for Agile User Group
PPT
Transitioning To Agile
PPT
Agile QA presentation
PDF
Agile testing principles and practices - Anil Karade
PDF
A Concise QA Process
PDF
Agile Testing – embedding testing into agile software development lifecycle
PDF
What is Agile Testing? A MindMap
PPTX
The 3 Pillars Approach to Agile Testing Strategy with Bob Galen & Mary Thorn
PPTX
Agile testing presentation
ODP
Presentation on Agile Testing
Agile Testing Days -Trends and future in testing 2017
Agile Testing and Test Automation
Agile testing practice
Testing in Agile Development
Introducing QA Into an Agile Environment
QA in Agile
Role Of Qa And Testing In Agile 1225221397167302 8
ISTQB agile tester exam - Conclusions about Certification
Testing in Agile Projects
Agile tour ncr test360_degree - agile testing on steroids
Agile Testing - presentation for Agile User Group
Transitioning To Agile
Agile QA presentation
Agile testing principles and practices - Anil Karade
A Concise QA Process
Agile Testing – embedding testing into agile software development lifecycle
What is Agile Testing? A MindMap
The 3 Pillars Approach to Agile Testing Strategy with Bob Galen & Mary Thorn
Agile testing presentation
Presentation on Agile Testing
Ad

Viewers also liked (20)

PDF
Test Automation - Principles and Practices
PDF
Agile Testing 1210187639850462 9
PPTX
Making the Transition to Agile: what we did, what worked, and what we learned
PPTX
Google Analytics Vs.Omniture
PDF
Revista Aka Arte om duplo sentido
PDF
Does gender play a role in product management v3.7
PDF
Agile Testing: Strength Through Interdependence
PPTX
Agile Testing: The Role Of The Agile Tester
PPTX
Agile Testing by Example
DOCX
Los proyectos de aula en la educación infantil
PPTX
Comandos insert into, update y delete sql server
PPTX
Abdominal compartment syndrome
PDF
Creating HTML Pages
PDF
Top Insights from SaaStr by Leading Enterprise Software Experts
PDF
CSS Grid Layout for Topconf, Linz
ODP
New Amazing Things about AngularJS 2.0
PDF
Node.js and The Internet of Things
PDF
The Future of Real-Time in Spark
PPTX
認知症にやさしいまちづくり ~セクターを越えたつながり~
PDF
Introduction to Information Architecture
Test Automation - Principles and Practices
Agile Testing 1210187639850462 9
Making the Transition to Agile: what we did, what worked, and what we learned
Google Analytics Vs.Omniture
Revista Aka Arte om duplo sentido
Does gender play a role in product management v3.7
Agile Testing: Strength Through Interdependence
Agile Testing: The Role Of The Agile Tester
Agile Testing by Example
Los proyectos de aula en la educación infantil
Comandos insert into, update y delete sql server
Abdominal compartment syndrome
Creating HTML Pages
Top Insights from SaaStr by Leading Enterprise Software Experts
CSS Grid Layout for Topconf, Linz
New Amazing Things about AngularJS 2.0
Node.js and The Internet of Things
The Future of Real-Time in Spark
認知症にやさしいまちづくり ~セクターを越えたつながり~
Introduction to Information Architecture
Ad

Similar to Agile Testing Agile Ottawa April 2015 (20)

PDF
Do testers have to code... to be useful?
PPTX
Do testers have to code... to be useful? Janet Gregory and Lisa Crispin plena...
PPT
UNIT IV.ppt
PDF
[Paul Holland] Trends in Software Testing
PPT
PDF
Atd advanced topicsworkshop
PDF
What CS Class Didn't Teach About Testing
PDF
Agile testing - Madhu Krishnappa
PDF
Effective Testing Practices in an Agile Environment
PDF
Agile testing
PDF
Agile testing (n)
PDF
Tackling software testing challenges in the agile era
PDF
We did it!!? There is place for QAs in Agile!!?
PPTX
{10.0} Test Driven Development.pptx
PDF
PDF
Agile Testing 20021015
PPTX
Software presentation
PDF
Agile process
PDF
Tester Challenges in Agile ?
PDF
Agile testing overview
Do testers have to code... to be useful?
Do testers have to code... to be useful? Janet Gregory and Lisa Crispin plena...
UNIT IV.ppt
[Paul Holland] Trends in Software Testing
Atd advanced topicsworkshop
What CS Class Didn't Teach About Testing
Agile testing - Madhu Krishnappa
Effective Testing Practices in an Agile Environment
Agile testing
Agile testing (n)
Tackling software testing challenges in the agile era
We did it!!? There is place for QAs in Agile!!?
{10.0} Test Driven Development.pptx
Agile Testing 20021015
Software presentation
Agile process
Tester Challenges in Agile ?
Agile testing overview

Recently uploaded (20)

PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
Essential Infomation Tech presentation.pptx
PPTX
ai tools demonstartion for schools and inter college
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
System and Network Administration Chapter 2
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Digital Strategies for Manufacturing Companies
PDF
top salesforce developer skills in 2025.pdf
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
Transform Your Business with a Software ERP System
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
medical staffing services at VALiNTRY
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Online Work Permit System for Fast Permit Processing
Which alternative to Crystal Reports is best for small or large businesses.pdf
Wondershare Filmora 15 Crack With Activation Key [2025
Essential Infomation Tech presentation.pptx
ai tools demonstartion for schools and inter college
ManageIQ - Sprint 268 Review - Slide Deck
System and Network Administration Chapter 2
Design an Analysis of Algorithms II-SECS-1021-03
Digital Strategies for Manufacturing Companies
top salesforce developer skills in 2025.pdf
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Transform Your Business with a Software ERP System
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
medical staffing services at VALiNTRY
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
How to Migrate SBCGlobal Email to Yahoo Easily
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
2025 Textile ERP Trends: SAP, Odoo & Oracle
Online Work Permit System for Fast Permit Processing

Agile Testing Agile Ottawa April 2015

Editor's Notes

  • #3: Software Value is contextual, it varies by project, organization and team business value of the software is most important thing So we test Why because Tested code is better code better code is more reliable more reliable code makes customers happier happier customers make sure the team still gets paid Can I ship it? When will we be done? What risks do we see?
  • #4: Based on the basics of testing, it applies the mindset Of course this is simple to say but hard to do
  • #5: You can’t test quality in, you have to build it in - throwing code over the wall doesn’t work Dev, test, product management, ops, and support all test in different ways We test assumptions as well This does not mean people are interchangable Continuous testing ensures continuous progress
  • #6: Per build, per story, per iteration, per release Learning skills agile practices what to do better next time Instead of the test function acting as gate keepers or the quality police - we ask how can we help? Focus on delivering value to the customer - if they aren’t using it it isn’t valuable
  • #7: Challenge requirements to get to the true needs
  • #8: Before a separate test phase If it is a regression, with automated testing - weekly, daily, hourly, per commit If it is complex - found by testers inside the sprint it the code is being built Not a month later when devs have switched tasks and will have to spelunk the code to figure out what they were doing To generate a safety net that enable developers to change the code with confidence To create real business impacts
  • #10: Not this Things don’t work as well if everyone has separate priorities Handoffs are in place team to team which leads to ...
  • #13: Everyone tests - not just people with test or quality in their title Functional lines should blur Developers are ‘Test Infected’ All roles actively collaborate The whole team is responsible for delivering a product with quality built in
  • #14: As with many things agile - it is about the philosophy and mindset Applied in the context of your projects There are no magic bullets Except at the Texas School Book Depository
  • #15: Feedback The fundamental job of a tester is to provide valuable information Value Results oriented, customer focused Comm F2F, Skype, Phone, IM Don’t be document driven Keep a customer focus - how can I help? all users of the feedback Dev Proj. mgmt Ops Support Documentation etc
  • #16: Use a investigative journalist metaphor Report observations, and their impact Add context Examine multiple points of view
  • #17: Learn intent of features Learn who uses the features Need to know the organizations priorities Devs are awesome at building things, they need focus - test gets to take the holistic view and provide valuable contrast in their thinking Systems Thinking De Bono’s Six Thinking Hats Beginner’s Mind
  • #18: Customer Has real needs, make their life better Dev Coding isn’t easy With empathy for the project We have timelines and costs to maintain
  • #19: Remember they are invested in their work as well Provide and gather context Why is this important? What are your assumptions? What are the other persons assumptions?
  • #20: Best Work They care about that Some people are not effective communicators Benefit of the Doubt If the feedback is starting to cause conflict Are they ill? Overtired?
  • #21: Questioning what problem is being solved? how will I know it works? who uses this? what’s the worst thing that could happen? Reflection So that means? Clarification What do you mean by .. Summarisation To rephrase .. I understood .. Feedback wrap Why am I focussing so much on feedback? because
  • #22: You need to maintain a good relationship even if your particular objective gets blocked You need to work with these people tomorrow as well
  • #23: What does good design look like? Are there code maintainability challenges? Database design and DB query skills Business analysis skills The skills required will depend on your context You can they talk about data persistence and disaster recovery scenarios You can talk about the DB triggers that create behaviour in the system You can understand the challenges of cache invalidation There is value in being able to read code, and SQL, to find the intent of a developer’s change
  • #24: The time required to run manual tests will only increase as more are written This has produced a great deal of debate on the interwebs Ultimately I think more knowledge is a good thing For a tester it allows you to find new classes of risk to your product
  • #25: Also called Generalizing Specialists So lets look at building a team with cross functional skills
  • #26: UX testing Test feedback Test data management Test design Etc
  • #27: System architecture Technical writing BDD Story mapping Impact mapping Etc
  • #28: So you want a team who can can code with quality, can test effectively, and can automate tests Think of it as a matrix of competencies So some testers can program and some devs can test - the important thing is that the team has the skills to deliver
  • #29: Here we move on to test automation
  • #30: To deal with change effectively you need a test automation plan Note, you can start without automation, but you should plan your strategy for building it out It is expensive, but should have ROI
  • #31: You still need manual testers, because you really want to free them from regression testing to be more valuable to your team
  • #32: We’re talking about automation but you’ll still need manual testers To illustrate I’ll add the concept of testing vs. checking Sapient testing
  • #33: We should look at what can be automated - James Bach and Michael Bolton propose Testing vs Checking as a useful model You still need manual testers to actually test, vs performing checks that can be automated Sapient testing
  • #34: Another way of looking at it - automation can tackle the repetitive know knows I know when I log in with a valid password I should get to the index page For the rest of it humans are required In dev, test, and the rest of the project The example James and Michael use You don’t call compiling a program ‘automated programming’ programming is something humans do Similarly, they call what computers can do ‘automated checking’ Testing is something humans do
  • #35: Back to automation - while I can’t cover specifics here I can present a model As you go up the pyramid, tests are more expensive Time to run More maintenance You want a larger amount of tests at the lower levels - but it is important to test many different ways Having a broader approach is often more effective than focusing on one method as thoroughly as possible
  • #36: Contrast this to a common anti pattern The SW test ice cream cone Here we optimize for manual testing
  • #38: Here is the now classic agile testing quadrants These show options inside a quadrant You will need to tailor testing to your team and product However, I will point out that it is useful to touch a system multiple ways vs putting all your concentration on 1 or 2 types of testing you can then catch multiple classes of bugs the 80/20 rule applies
  • #39: This is Gojko Adzic’s take on the testing quadrants. I like this one as it takes into account the concept of Checking and Testing.
  • #41: Similarly to automation I can’t go into depth here You need both It complements automated testing to find different classes of bugs
  • #43: That is Ad hoc testing - ‘let’s give it a go’
  • #45: You can use your past experience E.G. this is on google slides I still expect it to do similar things to power point Next is a heuristic you know intuitively
  • #48: Tired Ted, Impatient Ian .. Landmark tour Look at Session Based Test Management from James Bach Not a product recommendation
  • #50: Borrowing a phrase from Paul Gerrard It may not be called testing Get testers involved earlier in the software development process What if we had a conversation before things were even coded?
  • #51: F16 fighting falcon story from SBE mach 3 why
  • #53: Gojko Adzic’s software quality model We can test and gather or give feedback at all these levels - either manually or via automation Looking at the pyramid we immediately realize that as a software delivery team we can only assure the 3 bottom levels of the pyramid and to assure our product is Useful and Successful we need feedback from the final customer
  • #54: How do we shift left?
  • #55: Defines scope from business goals Are we done yet? Gathers key examples What does this feature look like? Refines examples Concrete examples of system behaviour Automates testing of the examples Leading to ‘Living Documentation’
  • #56: like Test Driven Development (TDD) Captures examples of desired system behaviour via conversations Automates testing of those examples Uses a Given, When, Then format As they both involve executable specifications, these two practices are very complementary
  • #57: It isn’t about the tools It’s about the conversations To explore examples and behaviour To gain a shared understanding Focus on delivering value instead of documents or automation
  • #58: The Goal is To Effectively Implement features,
  • #59: Stories are required for the workshop basis of the discussion Defines the intent of the feature the workshop elaborates the story
  • #61: You find the examples discussed in the workshop - examples of concrete behaviour
  • #63: On to the examples This Defines a story’s scope Makes it testable Give you the key details Business logic Boundary conditions Important - Don’t create an example for everything You’ll get lost in the details E.G. Great idea to kill Amazon - increase sales by offering free book shipping book plus washing machine? - no book to Papua New Guinea? - no Book to US - yes Book to Canada - yes Here we have specific testable behaviour
  • #64: Doesn’t this look a lot like a test? If you have a set of these examples it defines the feature Most importantly Biz, Dev, Test had a conversation - they have a shared understanding of the feature and its goals
  • #65: A shared understanding saves a lot of documentation - lets take a vacation photo as an example A photo You may say ‘That’s cute’ I remember a river behind the house in Nova Scotia where I had dinner with family friends Our host runs a Christmas tree farm, my daughter found the water and we had to play at the bank for at least a half hour You wouldn’t know that because you were not there Similarly in a workshop you will have picked up all sorts of details that are not documented - but you will understand the feature And testers will know from the beginning, instead of during the transition from dev to test
  • #66: The conversation is the most important thing. By collaborating instead of handing off documents - AKA shelfware - we have increased contextual knowledge to deliver the right thing
  • #68: - Requirements are not frozen - change is accepted - Priorities change - This is usual - Try to make change as efficient as possible