A lot of talk goes on in agile about how collaboration among team members helps drive a shared responsibility for quality—and more. However, most teams don't do much more than just hold stand-up meetings and have programmers and testers sit together. Although these practices improve communications, they are not collaboration! Most teams simply don't understand how to collaborate. Janet Gregory and Matt Barcomb guide you through hands-on activities that illustrate collaboration patterns for programmers and testers, working together. They briefly review the acceptance test-driven development process, then illustrate what programmers should know about testing—and what testers should know about programming—to effectively create whole-team quality. Janet and Matt conclude with visual management techniques for joint quality activities and discuss the shift in the product owner role regarding release quality. Leave with new ideas about collaboration to take back to your organization and make whole-team responsibility for quality a reality.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
�
TQ PM�HalfͲday�Tutorial�11/12/2013�1:00�PM�
�����
"Patterns for Collaboration: Toward Whole-Team Quality"
���
Presented by:
Janet Gregory, DragonFire, Inc. Matt Barcomb, odbox
Agile testing coach and practitioner Janet Gregory (@janetgregoryca) is the coauthor of Agile Testing: A Practical Guide for Testers and Agile Teams and a contributor to 97 Things Every Programmer Should Know. Janet specializes in showing agile teams how testers can add value in areas beyond critiquing the product. For the past ten years, she has been working with teams to transition to agile development. Janet teaches agile testing courses and tutorials worldwide, contributes articles to leading publications, and enjoys sharing her experiences at conferences and user group meetings worldwide. Find more information at janetgregory.ca or visit her blog.
Matt Barcomb odbox
Matt Barcomb (@mattbarcomb) is passionate about building collaborative, cross-functional teams; enjoys being out-of-doors; loves punning; and thrives on guiding organizations toward sustainable, adaptive, and holistic improvement. Matt started programming as a wee lad and eventually wound up getting paid for it. It took him nearly ten years to realize that “people problems” were the biggest issue facing most software development businesses. Since then he has spent his time and energy trying to find ways to make the business–software universe a better place to work, play, and do business. Currently residing in Cleveland, Matt keeps busy consulting and hiking. Read his musings on his blog.
15/09/2013
1
Patterns ForTeam Collaboration
...with Janet & Matt
Agile Development Conference EastBoston, November 2013
Janet
ߦ lives in Calgary, Canadaߦ agile coach with a
testing perspectiveߦ working on agile teams
since 2000ߦ co-author of Agile
Testing: A Practical Guide for Agile Teams Testers
Matt
ߦ based in Cleveland, travels a *lot*
ߦ organization design consultant with a software development background
ߦ growing organizations & teams for over 10 years
15/09/2013
2
Time to introduce you
now!
Choose your roles!(may need some movement)
Each table will need at least one practicing (or someone who understands the role)
a domain personߦ(product owner, business analyst)
a testerߦa programmerߦ
15/09/2013
3
Our case study: Amazon Mobile
Activity: Your case study
We're like X for Y
X for Y
Facebook
Yelp
Email
Educators
Truckers
Hikers
15/09/2013
4
What are "Patterns"?
15/09/2013
5
Definition:
pat�tern /ˈpatərn/
1) a form or model proposed for imitation
2) a reliable sample of traits, acts, tendencies, or other observable characteristics of a person, group, or institution <a behavior pattern> <spending patterns>
Synonymsmodel - sample - specimen - example - type - exemplar
-- merriam-webster
Communication means ... sharing ideas, information, decisions, solutions, etc.
eg: daily standups
Collaboration means ...working together to find solutions, etc.
15/09/2013
6
What is Pairing?
Pairing is …
"Two generalizing specialists collaborating with purpose & intention to produce an outcome."
Future of Pairing“Diverse specialists
collaborating through generalization”
for example:tester - programmer pairs
are stronger than programmer - programmer pairs
15/09/2013
7
What is a "generalizing specialist"?"An individual with a deep level of knowledge in at least one domain and a collaborative understanding of at least one other."
Activity
Helping others generalize
15/09/2013
8
Patterns for Specification
User Story Maps
ATDD Cycle
15/09/2013
9
Story Mapping
15/09/2013
10
A 2 dimensional view of product backlog
‘Backbone’ of user activities
Workflow / value chain is visible
Relationships of feature to stories are visible
Provides a useful context for prioritization
Reference: Jeff Patton’s articleshttp://www.agileproductdesign.com/presentations/user_story_mapping/index.html
Benefits of Story Mapping
It's about getting the product right
It's about defining tests
before coding starts
ATDDAcceptance Test Driven Development
15/09/2013
11
Picture by Augusta Evangelisti, based on diagram from Elisabeth Hendrickson
The conversation for which the user story was a placeholder
Leverages Power of 3 (or 3 amigos) concepts
Just in time collaborative specification
Ends with agreement on ready to start
Discuss & Distill
15/09/2013
12
Our case study: Amazon Mobile
Given I'm in scan modeWhen the barcode is fully within the frameThen the camera scans the barcode
When a barcode has not scanned for 5 secondsThen the user sees "Please hold the item
steady and ensure the proper lighting"
When the item "The Art of Product Management" is scanned
Then the item shows up in the result list
Specification: BDD Example
15/09/2013
13
Setup|12345| Art of Product Management ||65432| Cukes & Cheese ||65432| Cuke & Cheeses |
Scanned found/not found|12345|Art of Product Management ||00000| Not Found |