Presented at Agile Testing Days US 2018
https://agiletestingdays.us/session/refactoring-test-collaboration/
Collective ownership for testing starts with understanding testing. Rework your team dynamics to evolve past duplication and improve performance through whole team testing. Take home practical patterns for improving your team's collaboration on testing. Because teams who own testing have more confidence in the customer value of their results.
As the Pragmatic Programmers say, "refactoring is an activity that needs to be undertaken slowly, deliberately, and carefully," so how do we begin? In this session, we will experience the complex interactions of an agile team focused on demonstrating customer value by answering a series a questions:
Where do testers get their ideas?
How are you planning to accomplish this proposed testing, tester?
Why not automate all the things?
Who is going to do this manual testing and how does it work?
How do we know whether we're testing the right things?
Build your own list of TODOs from these various practical collaboration approaches and begin deduping your team's testing for a better first day back at the office.
2. @aclairefication #AgileTDUSA
Goal
• Make getting into testing easier for someone with less* experience
• * Maybe not less but just different (i.e. developers)
• More emphasis on testing skills and less on testing role
• Focus our work
• “…a team has ‘won’ when its teams have become self-sufficient, high-
performing, mighty forces fully enabled for participatory,
collaborative decision-making” – Jean Tabaka
Source: Collaboration Explained by Jean Tabaka
3. @aclairefication #AgileTDUSA
Burning Questions?
• Write them down and bring them forward
so I can work them in along the way!
• Rather than going straight back to your
seats, let’s form 3 groups:
• Not quite yet
• On the way
• Ready to roll
Sources: http://bowperson.com/training-from-the-back-of-the-room/; https://www.kisspng.com/png-question-mark-free-content-clip-art-pictures-of-qu-204382/
4. @aclairefication #AgileTDUSA
Learning Outcomes
• Approaches to handle objections to executing the testing work
• Ways to mentor test helpers, including pairing
• Team buy-in to testing investment
• Understand how other team members have been testing the work so
far
• Advising on opportunities to inject test thinking into all of the team
activities, from story writing through to unit testing, to make the
system more testable
See more at https://agiletestingdays.us/session/refactoring-test-collaboration/; Source: https://www.iconsdb.com/purple-icons/opera-glasses-icon.html
6. @aclairefication #AgileTDUSA
Fast Pass
• Brainstorm what you already know
about this topic
• Be ready to report back some facts
from this list
• You have 5 minutes – go!
Source: http://bowperson.com/training-from-the-back-of-the-room/
7. @aclairefication #AgileTDUSA
Refactoring
changing its observable behavior
• Refactoring (verb): to restructure software by applying a series of
refactorings without changing its observable behavior
Source: https://martinfowler.com/bliki/DefinitionOfRefactoring.html; https://dzone.com/articles/what-is-refactoring
• Development concept
• Refactoring (noun): a
change made to the
internal structure of
software to make it easier
to understand and
cheaper to modify without
8. @aclairefication #AgileTDUSA
Test
• This word is overloaded!
• Different roles have our own ideas of what
we mean when we say this word
• Talking past each other??
• Beware shallow agreement!
• Test not equal to automated script
• Testing includes automation but isn’t the same!
Source: https://watirmelon.blog/testing-pyramids/
9. @aclairefication #AgileTDUSA
Collaboration
• Working together: quality is
everyone’s job!
• Pay attention to what you produce
• Patterns exist & we can leverage
them
• Tag Team (e.g. exchange of team
roles)
• 1on1 communication (e.g. Pairing)
• Small groups (e.g. Mobbing)
• Leaving messages/Handoffs
• Are the devs on your “team” or
somewhere else?
Source: https://memegenerator.net/instance/22605665/disaster-girl-worked-fine-in-dev-ops-problem-now
10. @aclairefication #AgileTDUSA
Who is in this room?
• Quick show of hands…
• Are we all testers?
• A tester is somebody who knows that things can
be different. – Jerry Weinberg
• If not, do you even have testers? On your team?
• Are we all agile?
• Learning?
• Practicing?
• Leading?
11. @aclairefication #AgileTDUSA
Fast Pass Share
• Someone in each role represented here in
the room
• Share something you already know about
test collaboration
Source: http://bowperson.com/training-from-the-back-of-the-room/
13. @aclairefication #AgileTDUSA
Context
“The practice of testing, when
applied in specific contexts,
changes the purpose of testing,
the relations of people,
what test planning means …
interactively adapting their
practice of testing
to a new sort of project.”
– Brian Marick
Source: Foreword, Testing Extreme Programming (2002)
14. @aclairefication #AgileTDUSA
What is the context you want to adapt?
• Role analysis
• Constraints
• Enablers
• Measurements
• Existing collaboration patterns?
• Decision points!
15. @aclairefication #AgileTDUSA
Test Strategy Retro
• May reduce resistance by calling this a
“project retrospective”?
• Everyone is
• Encouraged to understand
• Supported to perform (testing) activities
• Responds to problems rapidly
Sources: https://leanpub.com/testingindevops; Collaboration Explained by Jean Tabaka
16. @aclairefication #AgileTDUSA
Test Strategy Retro
• Let’s focus on the observable tasks & activities in your path to
production
• Timeline from idea to production, from inception to
completion
• Silently place people, activities/practices/tasks, events,
wait states, milestones, risks, impacts, dependencies, etc
• Highlights, lowlights
• Feelings about the timeline content
Sources: https://leanpub.com/testingindevops; Collaboration Explained by Jean Tabaka
18. @aclairefication #AgileTDUSA
User Value Idea
Discuss
Idea
Sketch
Approach
Code
It
Brainstorm
Tests
Pairing
w/Dev
Try
It
Ship
MVP!
Revise
Discuss
Idea
See more at https://www.slideshare.net/aclairefication/c-moss-bigvisibletesting
19. @aclairefication #AgileTDUSA
Test Strategy Retro
• Let’s focus on the observable tasks & activities in your path to
production
• Dialogue, engaging with all the content
• Contrast current with ideal (h/t Sean Cresswell)
• Observations (e.g. rearranging stickies, critical path)
• Appreciations
• Recommendations, action plan to follow up (e.g. keep these, try these, table these,
ongoing problems)
Sources: https://leanpub.com/testingindevops; Collaboration Explained by Jean Tabaka
20. @aclairefication #AgileTDUSA
Example XP User Story Lifecycle
Source: https://blogs.msdn.microsoft.com/jmeier/2014/06/06/extreme-programming-xp-at-a-glance-visual/
21. @aclairefication #AgileTDUSA
Example XP User Story Lifecycle
ET!
Source: https://blogs.msdn.microsoft.com/jmeier/2014/06/06/extreme-programming-xp-at-a-glance-visual/
22. @aclairefication #AgileTDUSA
Stand, Stretch, & Share
• What is something you see in these
graphical representations that interests you?
surprises you?
• What is something you’ve learned that you
didn’t know before?
• Go write your learning down on your
handout & tell your neighbor
Source: http://bowperson.com/training-from-the-back-of-the-room/
24. @aclairefication #AgileTDUSA
What are you trying to collaborate on?
• Probably testing, right?
• Skill analysis of what “testing” is for you (and others
at your table)
• Take 10 minutes to discuss testing skills needed to do
the work!
• “Often the true value of a thing isn’t the thing itself,
but instead is the activity that created it.” – Dave
Thomas
Sources: http://pragdave.blogspot.com/2003/03/artifacting.html; https://mysoftwarequality.wordpress.com/2014/09/04/cross-dysfunctional-teams/
25. @aclairefication #AgileTDUSA
Testing Activity/Skill Analysis
Workshop On Self-Education (WhOSE) in software testing
• Test Design
• Communication
• Community
• Time Management
• Critical Thinking
• Management
Source: http://whose.associationforsoftwaretesting.org
26. @aclairefication #AgileTDUSA
Each Teach
• Role play with the person next to you for the next 5 minutes
• One of you is the tester
• The other is a developer
• Tester teach the developer about one of these key skills of
testing that you think is most urgent & important
• Then switch roles – for another 5 minutes!
• What differences did you notice?
• How would you change your approach?
Source: http://bowperson.com/training-from-the-back-of-the-room/
27. @aclairefication #AgileTDUSA
Rising’s Change Patterns
• Low-Hanging Fruit / Just Do It
• Trial Run / Just Enough
• Easier Path
• Which barriers are presently standing in the way of this change?
• Which barrier do I need to tackle now?
• Champion Skeptic / Fear Less
• Concrete Action Plan
• Small Successes / Hometown Story
• Evolving Vision
• Involve Everyone?
Source: https://www.fearlesschangepatterns.com/
28. @aclairefication #AgileTDUSA
Connecting the dots…
• Okay now you have buy-in – Congrats!!
• … but everything looks easier from the
outside
• So selling others on learning testing may not
be easy…
• Let’s hook into things our developers
already know and pay attention to!
29. @aclairefication #AgileTDUSA
Microservices
• In breaking down a monolith, we are achieving
microservices
• More self-serve
• Less mystery / selective cluelessness
• Going from testing-as-a-service (i.e. you do it all
for the team)
• To testing as composable activites we can do to
be more responsive to context
32. @aclairefication #AgileTDUSA
Shout Out
• I want to hear 8 new things we
now know about this topic
Source: http://bowperson.com/training-from-the-back-of-the-room/
33. @aclairefication #AgileTDUSA
Goals are…
• Guidance
• Focus for testing
• Directions without over-specifying actions
• Sometimes informal
• Don’t be too specific!
• Making implicit expectations explicit
35. @aclairefication #AgileTDUSA
Tests are…
• Looking past what you hope or expect to see
• Changing perspectives
• Expecting surprises!
• Curiosity filled by your previous knowledge & expertise
• Asking a question
• When you think of another one, keep track of it
somewhere shared
36. @aclairefication #AgileTDUSA
Test ideas
• Everyone contributes!!
• Directing attention
• Expect to learn as you go
• Be prepared to react to what you learn –
new test ideas come up all the time!
• Not necessarily specified things
• What deliverables/outcomes will support
your purpose?
37. @aclairefication #AgileTDUSA
Generating test ideas
• Subject Matter Experts (SMEs) /
Expert input
• User-oriented framing (UX)
• Picking apart the
requirements/problem statement
• Analyzing the solution
statement/implementation (e.g.
using heuristics)
• Sequential questioning
38. @aclairefication #AgileTDUSA
Automate
• Just because you have a test idea doesn’t mean it’s something worth doing
over and over… but you could
• And you could do it faster using a computer
• But doing the wrong thing faster doesn’t sound like a great idea…
• Strategy!!
• ATDD
• BDD
• TDD
• xDD???
Source: http://www.satisfice.com/blog/archives/category/exploratory-testing
41. @aclairefication #AgileTDUSA
Communication techniques
• Self-organization
• Modeling
• Reflection/Retrospective
• Brainstorming vs listing
• Participating vs observing
• Writing vs speaking
• Sequential questioning
• Affinity grouping
• Card sorting
• Appreciative inquiry
• Timelining (e.g. Test Strategy Retro)
• Lean Coffee + Multi-voting/Dot voting
Source: Collaboration Explained by Jean Tabaka
42. @aclairefication #AgileTDUSA
Action Plan
• What needs to be done to complete this item?
• Who is prepared to own the completion of this item?
• When does this item need to be completed?
Conflict Resolution
• Help your team seek middle ground?
• Create a new solution whole team can live with & support!
Source: Collaboration Explained by Jean Tabaka
43. @aclairefication #AgileTDUSA
QA = Quality Acceleration
• Ultimately, we want to deliver quality at speed
• Let’s make that more possible through
• Refactoring
• Test
• Collaboration!
• Walk & Talk: Form pairs to walk around the room while you discuss:
• What is a concrete way you will accelerate quality when you head
back to work?
Hear more on https://letstalkabouttests.xyz/