Date post: | 22-Jan-2015 |
Category: |
Technology |
Upload: | techwellpresentations |
View: | 54 times |
Download: | 3 times |
MQ Half‐day Tutorial 6/3/2013 1:00 PM
"Patterns for Team Collaboration: Toward Whole-Team Quality"
Presented by:
Janet Gregory, DragonFire, Inc. &
Matt Barcomb, odbox
Brought to you by:
340 Corporate Way, Suite 300, Orange Park, FL 32073 888‐268‐8770 ∙ 904‐278‐0524 ∙ [email protected] ∙ www.sqe.com
Janet Gregory DragonFire, Inc.
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.
4/24/2013
1
Patterns ForTeam Collaboration
...with Janet & Matt
Agile Development Conference
Las Vegas, June 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
• Nomad, lives in hotels
and airports, visits home
• Org design consultant
with a software
development perspective
• Growing teams and orgs
for 10+ years
4/24/2013
2
What are "Patterns"?
4/24/2013
3
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>
Synonyms
model - sample - specimen - example - type - exemplar
-- merriam-webster
Communication means ... sharing ideas, information, decisions,
solutions, etc.
eg: daily standups
Collaborationmeans ...working together to find solutions, etc.
4/24/2013
4
What is a "generalizing specialist"?
Becoming 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."
Basics
Advanced
Meta
Activity
Helping others generalize
4/24/2013
5
What is "pairing"?
"Two generalizing specialists working together
collaboratively to produce an outcome."
Considerations when pairing
Personality
Physical Space
Structure & Social Contracts
Skill & Knowledge LevelDuration & Timing
Individuals' Goals
Our case study: Amazon Mobile
4/24/2013
6
Your case study: We're like X for Y
X for Y
Yelp
Educators
Truckers
Hikers
4/24/2013
7
Patterns for a shared vision
Business Model Canvas
Benefit & Impact Mapping
Stakeholder& Persona Maps
4/24/2013
8
Example
Building a BMC
Impact Mapping
A visualization for scope
and underlying assumptions
why?
who?
how?
what?
Created collaboratively
by business & technical teams
4/24/2013
9
Impact
Map
Stakeholders /
personasImpacts
Possible deliverables
What is a
Stakeholder's / Persona Map
4/24/2013
10
4/24/2013
11
Patterns for specification
User Story Maps
Three Amigos(via GeorgeDinwiddie)
ATDDCycle
Story Mapping
4/24/2013
12
– 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
Benefits of Story Mapping
4/24/2013
13
Let's build a personal story map
It's about
getting the product right
It's about defining tests
before coding starts
ATDDAcceptance Test Driven Development
4/24/2013
14
Picture by Augusta Evangelisti, based on diagram from Elisabeth Hendrickson
– Is the conversation for which the user
story was a placeholder
– Leverages Power of 3 concept
– Just in time collaborative specification
– Ends with agreement on ready to start
The Three Amigos
4/24/2013
15
Exercise:
3 Amigos Practice
4/24/2013
16
Patterns for paired development
Continuous test design
Test driven development
Programming heuristics
Continuous test design
– Collaborate on test methods and needs
– Discover during implementation
– On going boundary value analysis,
equivalence classing, state and variable
assessment, chartering, etc...
– Re-evaluate test balance
4/24/2013
17
Testing at
different layers
API
level
RED -- GREEN -- REFACTOR
– What is the next simplest thing to test?
– Review & suggest extra tests
– Decide where to implement tests
– Remove any design-only tests
– Leave the campground cleaner
TDD (test driven development)
4/24/2013
18
– Is there a test for that?
– Are things named well?
– Does the code read like a newspaper?
– Is the code too long?
– Is the code doing too much?
Programming Heuristics
4/24/2013
19
Patterns for paired exploration
Configurationand deployability
Technically aware charter execution
Fast feedback & quick fixes
Technically Aware Charter Execution
– Partner with programmer
– Improved ability to automate setup
– Share testing knowledge
Example: equivalence classes
– Share coding risks
4/24/2013
20
Exercise:
Paired exploration
Fast feedback and quick fixes
– review spec & new test ideas
– demo defects before promotion
– pair with programmer to debug quickly
– identify and correct small issues quickly
4/24/2013
21
Configuration and deployability
– understand your environment
– separate concerns of functionality,
deployability and environment
– automate testing of specific concerns
– frequent integration & test execution
Let's summarize the
different types of
patterns
4/24/2013
22
TRUST- that the PO knows the domain
- that the tester knows how to test
- that the programmer really cares about
quality
- the automation does we think it does
All of this is based on ....
4/24/2013
23
References
• Gojko Adzic, Impact Mapping 2012, Bridging the
Communication Gap 2010
• Jeff Patton, Story mapping www.agileproductdesign.com/presentations/user_story_mapping/index.html
• Elisabeth Hendrickson, Explore It!, 2013
• George Dinwiddie (3Amigos) www.stickyminds.com/sitewide.asp?Function=edetail&ObjectType=COL&Objec
tId=17232
• Alexander Osterwder & Yves Pigneur, Business Model
Gerneration 2012
Any Questions?
Janet Gregory@janetgregoryca
Matt Barcomb@[email protected]