Non-Coding Activities in Development Team Needs

advertisement
Non-Coding Activities a
Development Team Needs
a.k.a ”I don’t code, am I no longer useful?”
Maaret Pyhäjärvi| <maaret@iki.fi> | Twitter: maaretp
Test Specialist @ Granlund Oy | Part-time Trainer | FAST | Agile Finland
Maaret Pyhäjärvi
Nimeä | Attribution (Finland)
http://creativecommons.org/licenses/by/1.0/fi/
http://creativecommons.org/licenses/by/1.0/fi/deed.en
Outline
In this presentation, I go through some of my personal experiences about the things of
value that I work on in a development team as a professional tester without
coding. The lessons I share are colored with real life stories of things that have
happened.
We will address:
• selecting & clarifying what goes into the development pipeline
• learning the system on what creates impacts to focus team work
• confirming and collecting ideas about what to confirm
• delivering and organizing for product feedback
• tweaking configurations
• designing improvement experiments
This presentation is intended as a discussion opener on the skills and activities that benefit a
development team, and an invitation to share your own experiences of the value you provide
and expect someone to provide to create a successful product/system.
Context of the Story
Years of software development without a
tester
SWE
10
6
PdM
5
2
04/2012: add 1 tester
(=specialist skills to testing that has been done before)
SWE
PdM
How Things Worked in the Past
• Monthly releases
• Developers would test (own testing)
– No test automation
• Developers would actively react on feedback (logs & customer contacts)
– Quick deployment, positive collaboration
• Product Managers would accept (test in cycles)
– Depth of acceptance depended on other duties & interests/abilities in testing
• Developers would enhance the feature for bugs and missed requirements
– All hours invoicable, unhappy with ”the others” not telling what was needed
or accepting well enough
• No open bugs in the database, but logs tell 10+ % of logged in users
experience visible errors, hard to fix without knowing what the user did
• Month of redoing typical after development declares Done for Product
Management
– Considered normal that a Done feature cannot be used on first cycle of
acceptance
What We Work Towards
•
•
•
•
Pride of work and results, fun!
Clean code and less of it
Less interruptions to new development tasks
Avoiding unavoidable rework through discussions
before implementing the wrong solution
• Done includes checked + explored – with results
• Streamlined acceptance
Some Numbers 2013 Summary
Aspect
GM
GD
System Testing % of
Planned
% of Bugs from
System Testing
30 %
90 %
50 %
75 %
% Fixed from System
Testing
Customer Bugs
76 %
94 %
2,9 %
(too small due to classification
error)
2,5 %
(1,3 % of effort)
9,3 %
0%
Acceptance pending
Not quite where we’d want to be,
making progress though.
Examples of What I Do at Work as
’Testing Specialist’
•
Learn why the product exists & patiently use the
system in varied ways
–
•
Work with product manager & developer to clarify
a feature
–
•
Example: testing together for inventory mgmt
Challenge requirements with product management
–
•
Example: code retreat
Pair up with developers for shared experiences on
quality
–
•
Example: test-fix-finalize week
Enable trainings and skill building
–
•
Example: 3 redos
Negotiate smaller workload for the team
–
•
Example: GM 856 / GD 484 issues in 2013
Example: Vau
Point out things that don’t work
–
•
Provide feedback / log bugs
–
–
•
Example: program errors
•
Make efforts needed with skilled testing visible
–
•
Example: GD Help
Provide quality perspective for steering groups
–
•
Example: GD productization
Create User Help Documentation
–
•
Example: KSP
Provide ideas for how to test a business model
–
•
Example: reporting vs. fixing time
Create & Review unit & Selenium test ideas
–
•
Example: testing backlog
Fix typos
–
•
Example: unhappiness
Example: Regular reviews of how we are doing
Present for end users on behalf of the team
–
Example: Sales People’s training
Example: spec rewrite prior to implementation
Negotiate right skillset ratios for the team
–
–
Example: more skilled testing and UI specialists
Example: let 2 people go
Not a manager, very much a senior
software specialist.
Wrapping Up
WORK WITH PRODUCT MANAGEMENT
• selecting & clarifying what goes into
the development pipeline
• learning the system on what creates
impacts to focus team work
WORK WITH TESTING
• confirming and collecting ideas about
what to confirm
• delivering and organizing for product
feedback
FIX NON-CODE
• tweaking configurations
HELP PEOPLE DELIVER VALUE BETTER
• designing improvement experiments
•
Product management specialist
benefit from good collaboration with
the team – OUR product
– Business Model Canvas, Product
Backlog, Specification by Example,
Communication
•
Confirm & Explore
– Test automation (product owner &
implementation), multidimensional use
of the system for feedback
•
No strict roles
– Fixing problems is allowed for a nondeveloper and environments take a lot
of work
•
Caring for people
– People make or break quality
– Creative ideas from the outside world
Summary
Most of developer time goes on thinking for code, not
coding, and it is often helpful to share work with
others with diverse viewpoints
While generalists able to deal with all from CTO to
customer support would be great, who really does
that with limited learning capabilities and depth of
learning needed?
MANY ESSENTIAL SKILLS – AND PERSONALITY MATTERS
(”tester personality ” - someone who tries things)
Download