SlideShare a Scribd company logo
TESTERS AND CODERS:
BLURRING THE LINES
Noam Kfir
Consultant & Trainer
noam@kfir.cc | http://noam.kfir.cc | @NoamKfir
NOAM KFIR
• Consultant and Trainer
• Telerik Developer Expert
• Ranorex Professional
• ISTQB Reviewer
• Agile Practitioners Meetup Co-organizer
• Specialize in test automation for
both testers and coders
• Ranorex, Selenium…
• TDD, BDD, Unit & Integration Testing…
• JavaScript, C#…
TESTERS AND CODERS
MUST LEARN FROM EACH OTHER
BULWORTH
a little warning about language
BUT WHY?
Mutual
respect
Effective
Collaboration
Quality
MANIFESTO FOR AGILE SOFTWARE DEVELOPMENT
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.
http://agilemanifesto.org/
AGILE PROGRAMINĖS ĮRANGOS KŪRIMO MANIFESTAS
Kurdami programinę įrangą ir padėdami ją kurti kitiems,
mes randame geresnius būdus tai daryti.
Dirbdami mes vertiname:
Žmones ir jų bendravimą labiau nei procesus ir įrankius
Veikiančią programinę įrangą labiau nei išsamią dokumentaciją
Bendradarbiavimą su klientu labiau nei derybas dėl kontraktų
Reagavimą į pokyčius labiau nei plano vykdymą
Be abejo, teiginiai dešinėje svarbūs,
tačiau mes labiau vertiname teiginius kairėje.
http://agilemanifesto.org/iso/lt/manifesto.html
PRINCIPLES BEHIND THE AGILE MANIFESTO
1. Our highest priority is to satisfy the customer
through early and continuous delivery of valuable
software.
2. Welcome changing requirements, even late in
development. Agile processes harness change for
the customer's competitive advantage.
3. Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.
4. Business people and developers must work
together daily throughout the project.
5. Build projects around motivated individuals. Give
them the environment and support they need,
and trust them to get the job done.
6. The most efficient and effective method of
conveying information to and within a
development team is face-to-face conversation.
7. Working software is the primary measure of
progress.
8. Agile processes promote sustainable
development. The sponsors, developers, and
users should be able to maintain a constant pace
indefinitely.
9. Continuous attention to technical excellence and
good design enhances agility.
10. Simplicity--the art of maximizing the amount of
work not done--is essential.
11. The best architectures, requirements, and
designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on how to
become more effective, then tunes and adjusts its
behavior accordingly.
http://agilemanifesto.org/principles.html
QUALITY
WE’RE MISSING SOMETHING…
Why do we need Agile to begin
with?
QUALITY
satisfy the
customer
working
software
technical
excellence
good design simplicity …
ROLES & RESPONSIBILITIES
WE’RE MISSING SOMETHING ELSE…
It’s a bit more subtle…
ROLES & RESPONSIBILITIES
we customers
business
people
developers
individuals teams sponsors users
THE CHICKEN AND THE PIG
A Pig and a Chicken are walking down the road.
Chicken: Hey Pig, I was thinking we should open a restaurant!
Pig: Hm, maybe, what would we call it?
Chicken: How about 'ham-n-eggs'?
Pig: No thanks. I'd be committed, but you'd only be involved.
https://en.wikipedia.org/wiki/The_Chicken_and_the_Pig
WE ARE ALL DEVELOPERS
Programmers
(Coders)
Quality Professionals
(Testers)
Designers
Architects Product Managers
Support
😎
DEVELOPERS == PROGRAMMERS
• Everybody else is just support
• Reflected in culture, salaries, work
conditions, growth potential, personal
relations, etc.
• Do you participate in every important
meeting: spec, planning, daily…?
• Fight entrenched perceptions
• Do not use “developers” as an eponym
TAKE DOWN THE WALL
• Between coding and testing teams
• And within cross-functional teams
• Focus on “individuals and interactions” and “face-to-face conversations”
• Be kind, insistent and professional, not aggressive
• The organization is a facilitator for change
• Responsible for culture, work conditions, personal mindsets, involvement…
• Change your place of work…
DISSONANCE PARADIGMS
THE ANNOYING BUGGER PARADIGM
• Testers seen as incompetent
• Unexpected environments and configurations considered improper
usage
• Trivial issues considered pedantic, annoying, critical or even insulting
• Testers faulted for “no repros” – their inability to reproduce bugs
• Testers considered solely responsible for bugs
Annoying
Bugger
incompetent
THE OUT IN THE COLD PARADIGM
• Testers generally seen as nonessential
• Not “builders”, so can’t contribute much
• Can never reach full coverage, so collaboration considered wasteful
• Insightful feedback reported as defects often ignored
• Testing seen as mundane and repetitive, lacking creativity
• Often unappreciated and regarded as insignificant and unskilled
Out in the
Cold
nonessential
THE NECESSARY EVIL PARADIGM
• Testers seen as gatekeepers, a safety net, a necessary evil
• Often seen as the last line of defense, and become the only line of
defense
• Responsible for the impossible feat of catching every bug before it gets
to production… and inevitably ruins the company
• Sign-offs may entail repercussions
• Don’t want them, but can’t live without them…
Necessary
Evil
lone
gatekeeper
PARADIGM SHIFTS
ANNOYING BUGGER REVISITED
• Testers accepted as quality experts
• Bugs reported and evaluated by consensus
• The team tracks down “no repros” together
• Testers share authority and collaborate with coders and other team
members
Annoying
Bugger
incompetent
quality
expert
OUT IN THE COLD REVISITED
• Testers accepted as active collaborators
• Quality perspective expected in every meeting
• Feedback given face-to-face
• Prioritized coverage preferred to full coverage as system evolves
• Reliance on automation and tooling grows
• Testing recognized as creative, challenging and essential
Out in the
Cold
nonessential
active
collaborator
NECESSARY EVIL REVISITED
• Testers accepted as full-fledged team members
• Testers are no longer lone gatekeepers
• The “last link” in the chain no longer blamed for everybody else’s
failures
• Everybody takes responsibility together
• Safety net provided by proper planning, tools and collaboration
• Automation and reflection replace sign-offs and repercussions
Necessary
Evil
lone
gatekeeper
team
member
TESTERS ARE DEVELOPERS
Annoying
Bugger
incompetent
quality
expert
Out in the
Cold
nonessential
active
collaborator
Necessary
Evil
lone
gatekeeper
team
member
EVOLUTION
Agile testing is finally catching up with Agile
programming
CONVERGING ROLES
Coders are writing tests
Testers are writing
MANY PARALLELS AND SIMILARITIES
• Reliance on tests
• Iterative work patterns
• Focus on preventing regressions
• Verifying correctness
• …
• Solving problems
• Creativity
• Satisfaction
NOT ENOUGH SHARING
• Coders and testers both have rich tomes of knowledge
• Each has its own culture, educational material, best practices, heroes,
career paths, tools, humor…
• They are slowly converging, but not benefitting from each other’s
maturity
INEFFECTIVE CONVERGENCE
Coders are writing poor tests
Testers are writing poor code
CODERS MUST IMPROVE THEIR
TESTING SKILLS
SOME SYMPTOMS
Overlapping tests Wholes in coverage
Only one or two
types of test
Missing boundary
value tests
Unhandled
exceptions
Swallowed
exceptions
No repros
Consistent difficulty
debugging
Obvious use cases
untested
All tests in one file
Legacy code black
holes
High cyclomatic
complexity
TESTING SKILLS
Boundary analysis and equivalence partitioning
Test design techniques
Exploratory testing
Assessing risk and prioritizing tests
TESTERS MUST IMPROVE THEIR
CODING SKILLS
SOME SYMPTOMS
Scripts Magic strings
Buggy test
code
Unreadable
code
Not reusable
Purely
imperative
Parameterless
functions
One test
machine
Different
languages
Lack of
structure
Require
intervention
No
modularity
CODING SKILLS
Apply SOLID principles and design patterns
Refactor (safely!)
Write atomic, resilient maintainable tests
Be lazy (in a good way…)
ELIMINATE
PROGRAMMERS
AND
TESTERS
We need a
voluntary
free-spirited
open-ended
program of
procreative racial
deconstructionMetaphorically…
DECONSTRUCTING CULTURE
Take down the wall
All pigs are developers
Break the dissonance paradigms
• quality experts, active collaborators, team members
DECONSTRUCTING COLLABORATION
Motivate individuals to take ownership of expertise
• Let individuals self-select areas of expertise
Build up cross-functional and self-organizing teams
Encourage face-to-face conversations
DECONSTRUCTING SKILLS
Train all developers together
• On an ongoing basis
Share knowledge and skills across professional boundaries
• Teach the rudiments of each role to all developers
Encourage pairing as needed
• To solve problems and to train
QUALITY
IS A SHARED RESPONSIBILITY!
Specialization
Collaboration
Common ground
QUESTIONS?
Testers and Coders: Blurring the Lines
Noam Kfir
Consultant & Trainer
noam@kfir.cc | http://noam.kfir.cc | @NoamKfir

More Related Content

What's hot

Will The Test Leaders Stand Up?
Will The Test Leaders Stand Up?Will The Test Leaders Stand Up?
Will The Test Leaders Stand Up?
Paul Gerrard
 
Mastering Agile Practices to Build High Performing Teams
Mastering Agile Practices to Build High Performing TeamsMastering Agile Practices to Build High Performing Teams
Mastering Agile Practices to Build High Performing Teams
AgileThought
 
Introduction to TDD
Introduction to TDDIntroduction to TDD
Introduction to TDD
Ahmed Misbah
 
ScrumOps - Scrum + Practical DevOps
ScrumOps - Scrum + Practical DevOpsScrumOps - Scrum + Practical DevOps
ScrumOps - Scrum + Practical DevOps
Naveen Kumar Singh
 
Tester Challenges in Agile ?
Tester Challenges in Agile ?Tester Challenges in Agile ?
Tester Challenges in Agile ?alind tiwari
 
The Portal Builder Story: From Hell to Lean, from Zero to Cloud - part 2
The Portal Builder Story:  From Hell to Lean, from Zero to Cloud - part 2The Portal Builder Story:  From Hell to Lean, from Zero to Cloud - part 2
The Portal Builder Story: From Hell to Lean, from Zero to Cloud - part 2
SOFTENG
 
GMO'less Software Development Practices
GMO'less Software Development PracticesGMO'less Software Development Practices
GMO'less Software Development Practices
Lemi Orhan Ergin
 
'The Real Agile Testing Quadrants' with Michael Bolton
'The Real Agile Testing Quadrants' with Michael Bolton'The Real Agile Testing Quadrants' with Michael Bolton
'The Real Agile Testing Quadrants' with Michael Bolton
TEST Huddle
 
Scrum intro ILTechTalks
Scrum intro ILTechTalksScrum intro ILTechTalks
Scrum intro ILTechTalksElad Sofer
 
Scrum_BLR 11th meet up 13 dec-2014 - SDET - They Way to go for Testers - Jaya...
Scrum_BLR 11th meet up 13 dec-2014 - SDET - They Way to go for Testers - Jaya...Scrum_BLR 11th meet up 13 dec-2014 - SDET - They Way to go for Testers - Jaya...
Scrum_BLR 11th meet up 13 dec-2014 - SDET - They Way to go for Testers - Jaya...
Scrum Bangalore
 
Agile basics
Agile basicsAgile basics
Agile basics
allan kelly
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile Tester
Declan Whelan
 
Agile Testing – Is it for me and how are others doing it?
Agile Testing – Is it for me and how are others doing it?Agile Testing – Is it for me and how are others doing it?
Agile Testing – Is it for me and how are others doing it?
Alexander Tarlinder
 
Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...
Agile India
 
2013 Scrum Gathering Keynote: Buy or build — where did your agile come from?
2013 Scrum Gathering Keynote: Buy or build — where did your agile come from?2013 Scrum Gathering Keynote: Buy or build — where did your agile come from?
2013 Scrum Gathering Keynote: Buy or build — where did your agile come from?
James Coplien
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
Naveen Kumar Singh
 
Secrets of Scrum
Secrets of ScrumSecrets of Scrum
Secrets of Scrum
James Coplien
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
Javier Sánchez Rois
 
Practical DevOps
Practical DevOpsPractical DevOps
Practical DevOps
Naveen Kumar Singh
 
A confused tester in agile world finalversion
A confused tester in agile world finalversionA confused tester in agile world finalversion
A confused tester in agile world finalversion
Ashish Kumar
 

What's hot (20)

Will The Test Leaders Stand Up?
Will The Test Leaders Stand Up?Will The Test Leaders Stand Up?
Will The Test Leaders Stand Up?
 
Mastering Agile Practices to Build High Performing Teams
Mastering Agile Practices to Build High Performing TeamsMastering Agile Practices to Build High Performing Teams
Mastering Agile Practices to Build High Performing Teams
 
Introduction to TDD
Introduction to TDDIntroduction to TDD
Introduction to TDD
 
ScrumOps - Scrum + Practical DevOps
ScrumOps - Scrum + Practical DevOpsScrumOps - Scrum + Practical DevOps
ScrumOps - Scrum + Practical DevOps
 
Tester Challenges in Agile ?
Tester Challenges in Agile ?Tester Challenges in Agile ?
Tester Challenges in Agile ?
 
The Portal Builder Story: From Hell to Lean, from Zero to Cloud - part 2
The Portal Builder Story:  From Hell to Lean, from Zero to Cloud - part 2The Portal Builder Story:  From Hell to Lean, from Zero to Cloud - part 2
The Portal Builder Story: From Hell to Lean, from Zero to Cloud - part 2
 
GMO'less Software Development Practices
GMO'less Software Development PracticesGMO'less Software Development Practices
GMO'less Software Development Practices
 
'The Real Agile Testing Quadrants' with Michael Bolton
'The Real Agile Testing Quadrants' with Michael Bolton'The Real Agile Testing Quadrants' with Michael Bolton
'The Real Agile Testing Quadrants' with Michael Bolton
 
Scrum intro ILTechTalks
Scrum intro ILTechTalksScrum intro ILTechTalks
Scrum intro ILTechTalks
 
Scrum_BLR 11th meet up 13 dec-2014 - SDET - They Way to go for Testers - Jaya...
Scrum_BLR 11th meet up 13 dec-2014 - SDET - They Way to go for Testers - Jaya...Scrum_BLR 11th meet up 13 dec-2014 - SDET - They Way to go for Testers - Jaya...
Scrum_BLR 11th meet up 13 dec-2014 - SDET - They Way to go for Testers - Jaya...
 
Agile basics
Agile basicsAgile basics
Agile basics
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile Tester
 
Agile Testing – Is it for me and how are others doing it?
Agile Testing – Is it for me and how are others doing it?Agile Testing – Is it for me and how are others doing it?
Agile Testing – Is it for me and how are others doing it?
 
Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...
 
2013 Scrum Gathering Keynote: Buy or build — where did your agile come from?
2013 Scrum Gathering Keynote: Buy or build — where did your agile come from?2013 Scrum Gathering Keynote: Buy or build — where did your agile come from?
2013 Scrum Gathering Keynote: Buy or build — where did your agile come from?
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
Secrets of Scrum
Secrets of ScrumSecrets of Scrum
Secrets of Scrum
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Practical DevOps
Practical DevOpsPractical DevOps
Practical DevOps
 
A confused tester in agile world finalversion
A confused tester in agile world finalversionA confused tester in agile world finalversion
A confused tester in agile world finalversion
 

Viewers also liked

There Is No JavaScript
There Is No JavaScriptThere Is No JavaScript
There Is No JavaScript
Noam Kfir
 
Voip automation framework
Voip automation frameworkVoip automation framework
Voip automation framework
Happiest Minds Technologies
 
Maximizing UI Automation – A Case Study
Maximizing UI Automation – A Case StudyMaximizing UI Automation – A Case Study
Maximizing UI Automation – A Case Study
Noam Kfir
 
Position Sensor SPS-L075-HALS
Position Sensor SPS-L075-HALSPosition Sensor SPS-L075-HALS
Position Sensor SPS-L075-HALS
Premier Farnell
 
Software-automation-testing-course-navi-mumbai-software-automation-testing-co...
Software-automation-testing-course-navi-mumbai-software-automation-testing-co...Software-automation-testing-course-navi-mumbai-software-automation-testing-co...
Software-automation-testing-course-navi-mumbai-software-automation-testing-co...
VibrantGroup
 
Temperature,position sensor
Temperature,position sensorTemperature,position sensor
Temperature,position sensor
Divya Nidheesh
 
HEVC VIDEO CODEC By Vinayagam Mariappan
HEVC VIDEO CODEC By Vinayagam MariappanHEVC VIDEO CODEC By Vinayagam Mariappan
HEVC VIDEO CODEC By Vinayagam Mariappan
Vinayagam Mariappan
 
Clean code and the clean coders
Clean code and the clean codersClean code and the clean coders
Clean code and the clean coders
luisartola
 
Coded ui - lesson 3 - case study - calculator
Coded ui - lesson 3 - case study - calculatorCoded ui - lesson 3 - case study - calculator
Coded ui - lesson 3 - case study - calculator
Omer Karpas
 
Automation in software engineering
Automation in software engineeringAutomation in software engineering
Automation in software engineering
Mphasis
 
Week 6 2_design_of_pneumatic_circuit
Week 6 2_design_of_pneumatic_circuitWeek 6 2_design_of_pneumatic_circuit
Week 6 2_design_of_pneumatic_circuit
akmal ariffin
 
Michael Snyman - Software Test Automation Success
Michael Snyman - Software Test Automation Success Michael Snyman - Software Test Automation Success
Michael Snyman - Software Test Automation Success
TEST Huddle
 
Case Study : Manual & Automation Testing
Case Study : Manual & Automation TestingCase Study : Manual & Automation Testing
Case Study : Manual & Automation Testing
360logica Software Testing Services (A Saksoft Company)
 
Why Test Automation Fails
Why Test Automation FailsWhy Test Automation Fails
Why Test Automation Fails
Ranorex
 
Test automation - Building effective solutions
Test automation - Building effective solutionsTest automation - Building effective solutions
Test automation - Building effective solutions
Artem Nagornyi
 
decorder and encoder and its applications
decorder and encoder and its applicationsdecorder and encoder and its applications
decorder and encoder and its applications
safia safreen
 
Chap1 fittings&connectors
Chap1 fittings&connectorsChap1 fittings&connectors
Chap1 fittings&connectors
Smriti Mehta
 
Pressure Switch
Pressure Switch Pressure Switch
Pressure Switch
Syafwan Laili
 
Differential Pressure Switch/ Gages
Differential Pressure Switch/ GagesDifferential Pressure Switch/ Gages
Differential Pressure Switch/ GagesDwyer Instruments
 
automation testing benefits
automation testing benefitsautomation testing benefits
automation testing benefitsnazeer pasha
 

Viewers also liked (20)

There Is No JavaScript
There Is No JavaScriptThere Is No JavaScript
There Is No JavaScript
 
Voip automation framework
Voip automation frameworkVoip automation framework
Voip automation framework
 
Maximizing UI Automation – A Case Study
Maximizing UI Automation – A Case StudyMaximizing UI Automation – A Case Study
Maximizing UI Automation – A Case Study
 
Position Sensor SPS-L075-HALS
Position Sensor SPS-L075-HALSPosition Sensor SPS-L075-HALS
Position Sensor SPS-L075-HALS
 
Software-automation-testing-course-navi-mumbai-software-automation-testing-co...
Software-automation-testing-course-navi-mumbai-software-automation-testing-co...Software-automation-testing-course-navi-mumbai-software-automation-testing-co...
Software-automation-testing-course-navi-mumbai-software-automation-testing-co...
 
Temperature,position sensor
Temperature,position sensorTemperature,position sensor
Temperature,position sensor
 
HEVC VIDEO CODEC By Vinayagam Mariappan
HEVC VIDEO CODEC By Vinayagam MariappanHEVC VIDEO CODEC By Vinayagam Mariappan
HEVC VIDEO CODEC By Vinayagam Mariappan
 
Clean code and the clean coders
Clean code and the clean codersClean code and the clean coders
Clean code and the clean coders
 
Coded ui - lesson 3 - case study - calculator
Coded ui - lesson 3 - case study - calculatorCoded ui - lesson 3 - case study - calculator
Coded ui - lesson 3 - case study - calculator
 
Automation in software engineering
Automation in software engineeringAutomation in software engineering
Automation in software engineering
 
Week 6 2_design_of_pneumatic_circuit
Week 6 2_design_of_pneumatic_circuitWeek 6 2_design_of_pneumatic_circuit
Week 6 2_design_of_pneumatic_circuit
 
Michael Snyman - Software Test Automation Success
Michael Snyman - Software Test Automation Success Michael Snyman - Software Test Automation Success
Michael Snyman - Software Test Automation Success
 
Case Study : Manual & Automation Testing
Case Study : Manual & Automation TestingCase Study : Manual & Automation Testing
Case Study : Manual & Automation Testing
 
Why Test Automation Fails
Why Test Automation FailsWhy Test Automation Fails
Why Test Automation Fails
 
Test automation - Building effective solutions
Test automation - Building effective solutionsTest automation - Building effective solutions
Test automation - Building effective solutions
 
decorder and encoder and its applications
decorder and encoder and its applicationsdecorder and encoder and its applications
decorder and encoder and its applications
 
Chap1 fittings&connectors
Chap1 fittings&connectorsChap1 fittings&connectors
Chap1 fittings&connectors
 
Pressure Switch
Pressure Switch Pressure Switch
Pressure Switch
 
Differential Pressure Switch/ Gages
Differential Pressure Switch/ GagesDifferential Pressure Switch/ Gages
Differential Pressure Switch/ Gages
 
automation testing benefits
automation testing benefitsautomation testing benefits
automation testing benefits
 

Similar to Testers and Coders - Blurring the Lines

ChicagoJS's JSCAMP 2019 Keynote - Inclusive Architecture - Building Sustainab...
ChicagoJS's JSCAMP 2019 Keynote - Inclusive Architecture - Building Sustainab...ChicagoJS's JSCAMP 2019 Keynote - Inclusive Architecture - Building Sustainab...
ChicagoJS's JSCAMP 2019 Keynote - Inclusive Architecture - Building Sustainab...
Tracy Lee
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
Ahmet Bulut
 
Agile Testing - What, why and how.
Agile Testing - What, why and how.Agile Testing - What, why and how.
Agile Testing - What, why and how.
Asim Kazmi
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
Synerzip
 
Synerzip Agile Software Development
Synerzip Agile Software DevelopmentSynerzip Agile Software Development
Synerzip Agile Software Development
Synerzip
 
! Testing for agile teams
! Testing for agile teams! Testing for agile teams
! Testing for agile teams
Dennis Popov
 
Why Isn't Clean Coding Working For My Team
Why Isn't Clean Coding Working For My TeamWhy Isn't Clean Coding Working For My Team
Why Isn't Clean Coding Working For My Team
Rob Curry
 
Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019
Ahmed Misbah
 
Establishing an Agile Testing Culture
Establishing an Agile Testing CultureEstablishing an Agile Testing Culture
Establishing an Agile Testing Culture
TechWell
 
Continuous everything
Continuous everythingContinuous everything
Continuous everything
TEST Huddle
 
Top 10 Qualities of a QA Tester
Top 10 Qualities of a QA TesterTop 10 Qualities of a QA Tester
Top 10 Qualities of a QA Tester
Stacey Brown-Sommers
 
Software engineering for small product companies
Software engineering for small product companiesSoftware engineering for small product companies
Software engineering for small product companiesRaman Kannan
 
Pair Programming - Everything you need to know
Pair Programming - Everything you need to knowPair Programming - Everything you need to know
Pair Programming - Everything you need to know
Kristina Suchan
 
XebiCon'17 : //Tam-tams// Voici l’histoire de la disparition des dinosaures d...
XebiCon'17 : //Tam-tams// Voici l’histoire de la disparition des dinosaures d...XebiCon'17 : //Tam-tams// Voici l’histoire de la disparition des dinosaures d...
XebiCon'17 : //Tam-tams// Voici l’histoire de la disparition des dinosaures d...
Publicis Sapient Engineering
 
How do we fix testing
How do we fix testingHow do we fix testing
How do we fix testing
Peter Varhol
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
AllianceMSFourOneEig
 
Inclusive Architecture - Introducing the PAMstack - [Refactr.tech]
Inclusive Architecture - Introducing the PAMstack - [Refactr.tech] Inclusive Architecture - Introducing the PAMstack - [Refactr.tech]
Inclusive Architecture - Introducing the PAMstack - [Refactr.tech]
Tracy Lee
 
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
TEST Huddle
 
How testers add value to the organization appium conf
How testers add value to the organization  appium confHow testers add value to the organization  appium conf
How testers add value to the organization appium conf
Corina Pip
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
vodQA
 

Similar to Testers and Coders - Blurring the Lines (20)

ChicagoJS's JSCAMP 2019 Keynote - Inclusive Architecture - Building Sustainab...
ChicagoJS's JSCAMP 2019 Keynote - Inclusive Architecture - Building Sustainab...ChicagoJS's JSCAMP 2019 Keynote - Inclusive Architecture - Building Sustainab...
ChicagoJS's JSCAMP 2019 Keynote - Inclusive Architecture - Building Sustainab...
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Agile Testing - What, why and how.
Agile Testing - What, why and how.Agile Testing - What, why and how.
Agile Testing - What, why and how.
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Synerzip Agile Software Development
Synerzip Agile Software DevelopmentSynerzip Agile Software Development
Synerzip Agile Software Development
 
! Testing for agile teams
! Testing for agile teams! Testing for agile teams
! Testing for agile teams
 
Why Isn't Clean Coding Working For My Team
Why Isn't Clean Coding Working For My TeamWhy Isn't Clean Coding Working For My Team
Why Isn't Clean Coding Working For My Team
 
Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019
 
Establishing an Agile Testing Culture
Establishing an Agile Testing CultureEstablishing an Agile Testing Culture
Establishing an Agile Testing Culture
 
Continuous everything
Continuous everythingContinuous everything
Continuous everything
 
Top 10 Qualities of a QA Tester
Top 10 Qualities of a QA TesterTop 10 Qualities of a QA Tester
Top 10 Qualities of a QA Tester
 
Software engineering for small product companies
Software engineering for small product companiesSoftware engineering for small product companies
Software engineering for small product companies
 
Pair Programming - Everything you need to know
Pair Programming - Everything you need to knowPair Programming - Everything you need to know
Pair Programming - Everything you need to know
 
XebiCon'17 : //Tam-tams// Voici l’histoire de la disparition des dinosaures d...
XebiCon'17 : //Tam-tams// Voici l’histoire de la disparition des dinosaures d...XebiCon'17 : //Tam-tams// Voici l’histoire de la disparition des dinosaures d...
XebiCon'17 : //Tam-tams// Voici l’histoire de la disparition des dinosaures d...
 
How do we fix testing
How do we fix testingHow do we fix testing
How do we fix testing
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
Inclusive Architecture - Introducing the PAMstack - [Refactr.tech]
Inclusive Architecture - Introducing the PAMstack - [Refactr.tech] Inclusive Architecture - Introducing the PAMstack - [Refactr.tech]
Inclusive Architecture - Introducing the PAMstack - [Refactr.tech]
 
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
 
How testers add value to the organization appium conf
How testers add value to the organization  appium confHow testers add value to the organization  appium conf
How testers add value to the organization appium conf
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 

More from Noam Kfir

Agile Mind Games and the Art of Self-Delusion
Agile Mind Games and the Art of Self-DelusionAgile Mind Games and the Art of Self-Delusion
Agile Mind Games and the Art of Self-Delusion
Noam Kfir
 
TDD and the Legacy Code Black Hole
TDD and the Legacy Code Black HoleTDD and the Legacy Code Black Hole
TDD and the Legacy Code Black Hole
Noam Kfir
 
TypeScript Modules
TypeScript ModulesTypeScript Modules
TypeScript Modules
Noam Kfir
 
Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6
Noam Kfir
 
Meteor
MeteorMeteor
Meteor
Noam Kfir
 
Clean code
Clean codeClean code
Clean code
Noam Kfir
 
Web components
Web componentsWeb components
Web components
Noam Kfir
 
HTML5 and the Evolution of the Web
HTML5 and the Evolution of the WebHTML5 and the Evolution of the Web
HTML5 and the Evolution of the Web
Noam Kfir
 
Git Workflows
Git WorkflowsGit Workflows
Git Workflows
Noam Kfir
 
Getting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersGetting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS Users
Noam Kfir
 
Building Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaBuilding Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using Cordova
Noam Kfir
 
Telerik Platform
Telerik PlatformTelerik Platform
Telerik Platform
Noam Kfir
 
Profiling JavaScript Performance
Profiling JavaScript PerformanceProfiling JavaScript Performance
Profiling JavaScript Performance
Noam Kfir
 
Drawing in HTML5 Open House
Drawing in HTML5 Open HouseDrawing in HTML5 Open House
Drawing in HTML5 Open HouseNoam Kfir
 

More from Noam Kfir (14)

Agile Mind Games and the Art of Self-Delusion
Agile Mind Games and the Art of Self-DelusionAgile Mind Games and the Art of Self-Delusion
Agile Mind Games and the Art of Self-Delusion
 
TDD and the Legacy Code Black Hole
TDD and the Legacy Code Black HoleTDD and the Legacy Code Black Hole
TDD and the Legacy Code Black Hole
 
TypeScript Modules
TypeScript ModulesTypeScript Modules
TypeScript Modules
 
Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6
 
Meteor
MeteorMeteor
Meteor
 
Clean code
Clean codeClean code
Clean code
 
Web components
Web componentsWeb components
Web components
 
HTML5 and the Evolution of the Web
HTML5 and the Evolution of the WebHTML5 and the Evolution of the Web
HTML5 and the Evolution of the Web
 
Git Workflows
Git WorkflowsGit Workflows
Git Workflows
 
Getting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersGetting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS Users
 
Building Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaBuilding Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using Cordova
 
Telerik Platform
Telerik PlatformTelerik Platform
Telerik Platform
 
Profiling JavaScript Performance
Profiling JavaScript PerformanceProfiling JavaScript Performance
Profiling JavaScript Performance
 
Drawing in HTML5 Open House
Drawing in HTML5 Open HouseDrawing in HTML5 Open House
Drawing in HTML5 Open House
 

Recently uploaded

In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 

Recently uploaded (20)

In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 

Testers and Coders - Blurring the Lines

  • 1. TESTERS AND CODERS: BLURRING THE LINES Noam Kfir Consultant & Trainer noam@kfir.cc | http://noam.kfir.cc | @NoamKfir
  • 2. NOAM KFIR • Consultant and Trainer • Telerik Developer Expert • Ranorex Professional • ISTQB Reviewer • Agile Practitioners Meetup Co-organizer • Specialize in test automation for both testers and coders • Ranorex, Selenium… • TDD, BDD, Unit & Integration Testing… • JavaScript, C#…
  • 3. TESTERS AND CODERS MUST LEARN FROM EACH OTHER
  • 4. BULWORTH a little warning about language
  • 5.
  • 7. MANIFESTO FOR AGILE SOFTWARE DEVELOPMENT We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. http://agilemanifesto.org/
  • 8. AGILE PROGRAMINĖS ĮRANGOS KŪRIMO MANIFESTAS Kurdami programinę įrangą ir padėdami ją kurti kitiems, mes randame geresnius būdus tai daryti. Dirbdami mes vertiname: Žmones ir jų bendravimą labiau nei procesus ir įrankius Veikiančią programinę įrangą labiau nei išsamią dokumentaciją Bendradarbiavimą su klientu labiau nei derybas dėl kontraktų Reagavimą į pokyčius labiau nei plano vykdymą Be abejo, teiginiai dešinėje svarbūs, tačiau mes labiau vertiname teiginius kairėje. http://agilemanifesto.org/iso/lt/manifesto.html
  • 9. PRINCIPLES BEHIND THE AGILE MANIFESTO 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity--the art of maximizing the amount of work not done--is essential. 11. The best architectures, requirements, and designs emerge from self-organizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. http://agilemanifesto.org/principles.html
  • 10. QUALITY WE’RE MISSING SOMETHING… Why do we need Agile to begin with?
  • 12. ROLES & RESPONSIBILITIES WE’RE MISSING SOMETHING ELSE… It’s a bit more subtle…
  • 13. ROLES & RESPONSIBILITIES we customers business people developers individuals teams sponsors users
  • 14. THE CHICKEN AND THE PIG A Pig and a Chicken are walking down the road. Chicken: Hey Pig, I was thinking we should open a restaurant! Pig: Hm, maybe, what would we call it? Chicken: How about 'ham-n-eggs'? Pig: No thanks. I'd be committed, but you'd only be involved. https://en.wikipedia.org/wiki/The_Chicken_and_the_Pig
  • 15. WE ARE ALL DEVELOPERS Programmers (Coders) Quality Professionals (Testers) Designers Architects Product Managers Support 😎
  • 16. DEVELOPERS == PROGRAMMERS • Everybody else is just support • Reflected in culture, salaries, work conditions, growth potential, personal relations, etc. • Do you participate in every important meeting: spec, planning, daily…? • Fight entrenched perceptions • Do not use “developers” as an eponym
  • 17. TAKE DOWN THE WALL • Between coding and testing teams • And within cross-functional teams • Focus on “individuals and interactions” and “face-to-face conversations” • Be kind, insistent and professional, not aggressive • The organization is a facilitator for change • Responsible for culture, work conditions, personal mindsets, involvement… • Change your place of work…
  • 19. THE ANNOYING BUGGER PARADIGM • Testers seen as incompetent • Unexpected environments and configurations considered improper usage • Trivial issues considered pedantic, annoying, critical or even insulting • Testers faulted for “no repros” – their inability to reproduce bugs • Testers considered solely responsible for bugs Annoying Bugger incompetent
  • 20. THE OUT IN THE COLD PARADIGM • Testers generally seen as nonessential • Not “builders”, so can’t contribute much • Can never reach full coverage, so collaboration considered wasteful • Insightful feedback reported as defects often ignored • Testing seen as mundane and repetitive, lacking creativity • Often unappreciated and regarded as insignificant and unskilled Out in the Cold nonessential
  • 21. THE NECESSARY EVIL PARADIGM • Testers seen as gatekeepers, a safety net, a necessary evil • Often seen as the last line of defense, and become the only line of defense • Responsible for the impossible feat of catching every bug before it gets to production… and inevitably ruins the company • Sign-offs may entail repercussions • Don’t want them, but can’t live without them… Necessary Evil lone gatekeeper
  • 23. ANNOYING BUGGER REVISITED • Testers accepted as quality experts • Bugs reported and evaluated by consensus • The team tracks down “no repros” together • Testers share authority and collaborate with coders and other team members Annoying Bugger incompetent quality expert
  • 24. OUT IN THE COLD REVISITED • Testers accepted as active collaborators • Quality perspective expected in every meeting • Feedback given face-to-face • Prioritized coverage preferred to full coverage as system evolves • Reliance on automation and tooling grows • Testing recognized as creative, challenging and essential Out in the Cold nonessential active collaborator
  • 25. NECESSARY EVIL REVISITED • Testers accepted as full-fledged team members • Testers are no longer lone gatekeepers • The “last link” in the chain no longer blamed for everybody else’s failures • Everybody takes responsibility together • Safety net provided by proper planning, tools and collaboration • Automation and reflection replace sign-offs and repercussions Necessary Evil lone gatekeeper team member
  • 26. TESTERS ARE DEVELOPERS Annoying Bugger incompetent quality expert Out in the Cold nonessential active collaborator Necessary Evil lone gatekeeper team member
  • 27. EVOLUTION Agile testing is finally catching up with Agile programming
  • 28. CONVERGING ROLES Coders are writing tests Testers are writing
  • 29. MANY PARALLELS AND SIMILARITIES • Reliance on tests • Iterative work patterns • Focus on preventing regressions • Verifying correctness • … • Solving problems • Creativity • Satisfaction
  • 30. NOT ENOUGH SHARING • Coders and testers both have rich tomes of knowledge • Each has its own culture, educational material, best practices, heroes, career paths, tools, humor… • They are slowly converging, but not benefitting from each other’s maturity
  • 31. INEFFECTIVE CONVERGENCE Coders are writing poor tests Testers are writing poor code
  • 32. CODERS MUST IMPROVE THEIR TESTING SKILLS
  • 33. SOME SYMPTOMS Overlapping tests Wholes in coverage Only one or two types of test Missing boundary value tests Unhandled exceptions Swallowed exceptions No repros Consistent difficulty debugging Obvious use cases untested All tests in one file Legacy code black holes High cyclomatic complexity
  • 34. TESTING SKILLS Boundary analysis and equivalence partitioning Test design techniques Exploratory testing Assessing risk and prioritizing tests
  • 35. TESTERS MUST IMPROVE THEIR CODING SKILLS
  • 36. SOME SYMPTOMS Scripts Magic strings Buggy test code Unreadable code Not reusable Purely imperative Parameterless functions One test machine Different languages Lack of structure Require intervention No modularity
  • 37. CODING SKILLS Apply SOLID principles and design patterns Refactor (safely!) Write atomic, resilient maintainable tests Be lazy (in a good way…)
  • 38. ELIMINATE PROGRAMMERS AND TESTERS We need a voluntary free-spirited open-ended program of procreative racial deconstructionMetaphorically…
  • 39. DECONSTRUCTING CULTURE Take down the wall All pigs are developers Break the dissonance paradigms • quality experts, active collaborators, team members
  • 40. DECONSTRUCTING COLLABORATION Motivate individuals to take ownership of expertise • Let individuals self-select areas of expertise Build up cross-functional and self-organizing teams Encourage face-to-face conversations
  • 41. DECONSTRUCTING SKILLS Train all developers together • On an ongoing basis Share knowledge and skills across professional boundaries • Teach the rudiments of each role to all developers Encourage pairing as needed • To solve problems and to train
  • 42. QUALITY IS A SHARED RESPONSIBILITY! Specialization Collaboration Common ground
  • 43. QUESTIONS? Testers and Coders: Blurring the Lines Noam Kfir Consultant & Trainer noam@kfir.cc | http://noam.kfir.cc | @NoamKfir