SlideShare a Scribd company logo
Test Team Dynamics
Anton Muzhailo,
Senior Automation Engineer / Consultant, GlobalLogic
Certified ISTQB Test Manager
Kyiv 2017
About me
AntonMuzhailo
Senior Automation Engineer/ Consultant, GlobalLogic
• ISTQBCertifiedTest Manager
• ISTQBCertifiedTrainingsCoachin CodeSpace.com.ua
• 3 yearsof mentoringexperience, 250+students
in/muzhailo/
What will not be discussed
Agenda
The reason of this speech is to expand the view on the root causes of
project / product issues
• Do you really fix the most important issue?
• There are also formal approaches to build the test team
• What can you do wrong in building test team?
• Gap analysis – a technique to deal with test team dynamics
Have you seen such situations? (1/3)
What do we invest What do we receive
Ideal agile process defined with all
needed tools and activities
Unpredictable releases Complex process
Metrics doesn’t show real situation
Have you seen such situations? (2/3)
What do we invest What do we receive
Formal retrospectives and reviews with
everybody present.
Establishing and implementing improvements
Continue making the same mistakes
Everything seems awesome on paper only
Have you seen such situations? (3/3)
What do we invest What do we receive
Canonical planning with pointing poker.
Regular grooming and brainstorming, even formal
estimation techniques application.
Last minute changes
If we fail in planning
we say “We should be agile”
The biggest challenge
- Now in this world of cool frameworks and approaches, people remains to be
the most often bottleneck
- You can’t build effective processes before building the team
- Every process should be in engineers’ mind rather than on paper
- You must hire right people
In role of Architecting QA processes, we expect
you to be responsible for such scope of tasks:
* Act as a driving force for all test automation
initiatives
* Architect and develop overall QA processes
* Maintain and document automation scripts
* Design and code review for automated tests
* Define test strategy for particular use case
* Share Automation experience with stakeholders
* Drive continuous process improvements for the
QA department by providing consistent feedback
on current standards and best practices
QA Team Lead responsibilities will include:
* Lead, mentor and motivate QA Automation team
* Execute, support and improve multi-team
strategy for development testing on team level
* Coordinate between project teams on quality
related efforts as needed
* Improve the overall efficiency of the QA team
* Measure and report on QA operational KPI's to
Management
* Prioritize QA testing and profiling assignments,
monitor tasks through completion, and ensure
testing schedules are met and releases go out on
time
* Manage the development of the QA pipeline, test
plans, and checklists to verify the functionality and
performance of new features
Execution of QA processes:
* Execute of all quality assurance processes
* Maintain, execute and analyze test automation scripts,
frameworks, programs and utilities
* Create test documentation
* Collaboration with developers on technical aspects
We expect You to have the following experience:
* 3+ years of experience working in test automation
* Experience in managing and coordinating QA teams
* Proficient expertise in the full Quality Assurance life cycle,
testing methodologies, and test automation
* Understanding of software testing principles
* Knowledge of object oriented language (C# or similar)
* Knowledge of scripting languages (Python, Groovy or
similar)
* Experience in building large and scalable multi-threaded
applications
* Experience in creating well designed APIs and interfaces
* Knowledge of UI development principles/UI testing
experience
* Knowledge of Source Control software like Perforce, GIT,
SVN or else
* Good knowledge and understanding of Agile (scrum)
* Strong organizational, planning and problem-solving skills
* Upper-intermediate English level, both spoken and written
Lead QA Automation Engineer
WFT??
LOL
What I’ve learned from this vacancy
1. Probably frontend/backend testing written on ??? with ??? frameworks
2. Leading several teams?? How many teams/people?
3. Lots of word ‘improvement’, does it mean to build processes from scratch?
4. Why they require experience in building large multithreaded apps and
API/interfaces. Will it be my responsibility? Performance testing too?
Overall opinion: They want a person, that will do everything
- Managing several (!) teams with total ?? people.
- Improve and setup all the processes on project
Two types of team structure
Dominion model Communion model
 Clear responsibility/reporting chain
 Works with any people
 Easy to implement
X One can block others/everyone
X Always require skilled leader
 Multiple leaders in their own domains
 Resistant to bottlenecks
 More “agile”
X Doesn’t work without strong engineers
X People aren’t used to it
How to build the test team right?
The ideal test team has:
1. a mix of skills (hard and soft) and experience levels
2. common goals
3. willingness and ability to teach and learn
4. clear communication
5. respect & trust
You can teach monkey how to code at some point
but you will never teach human how to be human
Soft skills in 90% >> Hard skills
Test Manager/Lead should hire the people that are able to:
• Learn (Ask to use some new FW with the help of Google)
• Share knowledge (Ask to tell something or write some documentation)
• Explain (Ask to proof his point of view with evidences and arguments)
• Negotiate (Prepare needed circumstances and negotiate)
• Review and be reviewed (Place in appropriate situation)
• Separate work conflicts from personal (Ask the thoughts)
How to define the hard skills
1. List all your skills and mark those applicable for a project
2. Compare this with the list of skills provided by customer and add needed
3. Think about other skills that will be also helpful. (You may use job vacancies
web sites or linkedin  )
4. Prioritize the value of each skill you marked applicable. Assign them with a
priority level: Must have, Better to have, Will be a plus
5. Generate vacancy description based on this list
Skill set definition
Testing Skills
SDLC/STLC activities
Test Design
Test Management
Static Testing (Reqs, Specs)
Black-box Testing
White-box Testing
Performance Testing
Risk Based Test Strategy
Code Coverage
Test Automation
Test Planning / Estimation
Technical Skills
Win / Linux / OSX
C++ / Python / Shell
TCP/IP, networking
Patterns, O(n), SW design
Databases (Oracle, MongoDB)
Continuous Integration toolset
UI testing with Selenium
Hardware maintenance
C#-based servers
Cloud (Azure)
Unit Test frameworks
Soft skills
Mentoring
Learning
Public Speaking
Assessment / Audit
Negotiations
Customer communications
Interviewing
English
Review skills
Presenting (ppt, graphs etc)
Conflicts handling
Project description
Hi-load cloud-based software for smth
- FrondEnd / BackEnd: Angular 2 with Java and Oracle on AWS
- Android and iOS apps
- Fast iterations based on Agile/Scrum
- Custom automation framework on Ruby+Cucumber
- CI/CD on Jenkins/Docker
- Performance testing required from scratch
- 3 major releases during 1 year, additional 50% resources decided to hire
- Main problems are: critical defects found on RCs, metrics doesn’t show real
picture, big staff turnover, severe dependence on several people, low skill
level of a test team
Final skills needed
Testing Skills
SDLC/STLC activities
Test Design
Test Management
Static Testing (Reqs, Specs)
Black-box Testing
White-box Testing
Performance Testing
Risk Based Test Strategy
Code Coverage
Test Automation
Test Planning / Estimation
Technical Skills
Win / Linux / OSX
C++ / Python / Shell
TCP/IP, networking
Patterns, O(n), SW design
Databases (Oracle, MongoDB)
Continuous Integration toolset
UI testing with Selenium
Hardware maintenance
C#-based servers
Cloud (Azure)
Unit Test frameworks
Additional Skills
C# backend
Cloud (AWS)
Ruby Automation + Cucumber
Mobile manual testing
experience (Android + iOS)
Dynamic testing (DynaTrace)
Because TM is
you already
Duplicated
with Ruby
0 – no experience, 3 – able to use with some help, 5 –
able to solve anything independently
Skills Required/Desired Jeremy Lucy Michael
SDLC/STLC activities R3 4 3 2
Test Design R3 4 3 2
Black-box Testing R4 4 2 2
Performance Testing 0 2 0 3
Code Coverage 0 0 2 3
Win / Linux / OSX R3 3 4 4
TCP/IP, networking D3 2 3 4
Databases (Oracle) D2 0 0 3
Continuous Integration toolset D2 1 2 3
UI testing with Selenium 0 0 3 3
C# backend 0 0 0 2
Cloud (AWS) D4 4 1 4
Ruby Automation + Cucumber 0 0 0 1
Android + iOS manual testing D4 1 4 0
Dynamic testing (DynaTrace) 0 0 0 2
TOTAL POINTS 25 27 35
Manual QA
0
1
2
3
4
5
SDLC/STLC activities
Test Design
Black-box Testing
Performance Testing
Code Coverage
Win / Linux / OSX
TCP/IP, networking
Databases (Oracle)
Continuous
Integration toolset
UI testing with
Selenium
C# backend
Cloud (AWS)
Ruby Automation +
Cucumber
Android + iOS manual
testing
Dynamic testing
(DynaTrace)
Manual QA
Jeremy Lucy Michael
- Lucy is needed because only she has
Android + iOS testing skills
- Michael has more automation skills and will
be proposed to apply for automation
- If we hire Jeremy and Lucy we will have
following manual qa team:
0
1
2
3
4
5
SDLC/STLC
activities
Test Design
Black-box
Testing
Win / Linux /
OSX
TCP/IP,
networking
Databases
(Oracle)
Continuous
Integration…
Cloud (AWS)
Android + iOS
manual testing
Manual QA
Ideal Minimum Team has max
Skills Required/Desired Susan Rick Bob
SDLC/STLC activities R3 3 3 4
Test Design R3 3 2 4
Black-box Testing 0 0 0 2
Performance Testing D2 0 3 0
Code Coverage R3 0 3 0
Win / Linux / OSX R3 3 4 4
TCP/IP, networking R3 2 4 4
Databases (Oracle) R3 4 3 2
Continuous Integration toolset R4 4 3 1
UI testing with Selenium R4 4 1 2
C# backend D3 0 4 1
Cloud (AWS) R3 2 3 3
Ruby Automation + Cucumber R4 2 4 2
Android + iOS manual testing 0 0 0 2
Dynamic testing (DynaTrace) D2 2 0 0
TOTAL POINTS 29 37 31
Automation QA
0
1
2
3
4
5
SDLC/STLC activities
Test Design
Black-box Testing
Performance Testing
Code Coverage
Win / Linux / OSX
TCP/IP, networking
Databases (Oracle)
Continuous
Integration toolset
UI testing with
Selenium
C# backend
Cloud (AWS)
Ruby Automation +
Cucumber
Android + iOS manual
testing
Dynamic testing
(DynaTrace)
Automation QA
Susan Rick Josh
- Bob is totally lower than our expectations
- Susan and Rick covers the gaps of each other
like a perfect mates if we hire them, we will
have following automation qa team:
0
1
2
3
4
5
SDLC/STLC…
Test Design
Black-box…
Performance…
Code…
Win / Linux…
TCP/IP,…
Databases…Continuous…
UI testing…
C# backend
Cloud (AWS)
Ruby…
Android +…
Dynamic…
Automation QA
Ideal Minimum Team max
Think about the people in a team as a whole.
The team has weaknesses and advantages, not people.
Team cares about itself as human does about its body.
Team has the development plan, consisting of personal development plans.
Terms does everything
Skills Jeremy Lucy Susan Rick Average Max Total
SDLC/STLC activities 4 3 3 3 3.25 4 13
Test Design 4 3 3 2 3 4 12
Black-box Testing 4 2 0 0 1.5 4 6
Performance Testing 2 0 0 3 1.25 3 5
Code Coverage 0 2 0 3 1.25 3 5
Win / Linux / OSX 3 4 3 4 3.5 4 14
TCP/IP, networking 2 3 2 4 2.75 4 11
Databases (Oracle) 0 0 4 3 1.75 4 7
Continuous Integration toolset 1 2 4 3 2.5 4 10
UI testing with Selenium 0 3 4 1 2 4 8
C# backend 0 0 0 4 1 4 4
Cloud (AWS) 4 1 2 3 2.5 4 10
Ruby Automation + Cucumber 0 0 2 4 1.5 4 6
Android + iOS manual testing 1 4 0 0 1.25 4 5
Dynamic testing (DynaTrace) 0 0 2 0 0.5 2 2
TOTAL POINTS 25 27 29 37 118
The Team
0
1
2
3
4
5
SDLC/STLC activities
Test Design
Black-box Testing
Performance Testing
Code Coverage
Win / Linux / OSX
TCP/IP, networking
Databases (Oracle)Continuous Integration toolset
UI testing with Selenium
C# backend
Cloud (AWS)
Ruby Automation + Cucumber
Android + iOS manual testing
Dynamic testing (DynaTrace)
Test Team Dynamic
Jeremy Lucy Susan Rick Max
in/muzhailo/
Anton Muzhailo

More Related Content

Test team dynamics, Антон Мужайло

  • 1. Test Team Dynamics Anton Muzhailo, Senior Automation Engineer / Consultant, GlobalLogic Certified ISTQB Test Manager Kyiv 2017
  • 2. About me AntonMuzhailo Senior Automation Engineer/ Consultant, GlobalLogic • ISTQBCertifiedTest Manager • ISTQBCertifiedTrainingsCoachin CodeSpace.com.ua • 3 yearsof mentoringexperience, 250+students in/muzhailo/
  • 3. What will not be discussed
  • 4. Agenda The reason of this speech is to expand the view on the root causes of project / product issues • Do you really fix the most important issue? • There are also formal approaches to build the test team • What can you do wrong in building test team? • Gap analysis – a technique to deal with test team dynamics
  • 5. Have you seen such situations? (1/3) What do we invest What do we receive Ideal agile process defined with all needed tools and activities Unpredictable releases Complex process Metrics doesn’t show real situation
  • 6. Have you seen such situations? (2/3) What do we invest What do we receive Formal retrospectives and reviews with everybody present. Establishing and implementing improvements Continue making the same mistakes Everything seems awesome on paper only
  • 7. Have you seen such situations? (3/3) What do we invest What do we receive Canonical planning with pointing poker. Regular grooming and brainstorming, even formal estimation techniques application. Last minute changes If we fail in planning we say “We should be agile”
  • 8. The biggest challenge - Now in this world of cool frameworks and approaches, people remains to be the most often bottleneck - You can’t build effective processes before building the team - Every process should be in engineers’ mind rather than on paper - You must hire right people
  • 9. In role of Architecting QA processes, we expect you to be responsible for such scope of tasks: * Act as a driving force for all test automation initiatives * Architect and develop overall QA processes * Maintain and document automation scripts * Design and code review for automated tests * Define test strategy for particular use case * Share Automation experience with stakeholders * Drive continuous process improvements for the QA department by providing consistent feedback on current standards and best practices QA Team Lead responsibilities will include: * Lead, mentor and motivate QA Automation team * Execute, support and improve multi-team strategy for development testing on team level * Coordinate between project teams on quality related efforts as needed * Improve the overall efficiency of the QA team * Measure and report on QA operational KPI's to Management * Prioritize QA testing and profiling assignments, monitor tasks through completion, and ensure testing schedules are met and releases go out on time * Manage the development of the QA pipeline, test plans, and checklists to verify the functionality and performance of new features Execution of QA processes: * Execute of all quality assurance processes * Maintain, execute and analyze test automation scripts, frameworks, programs and utilities * Create test documentation * Collaboration with developers on technical aspects We expect You to have the following experience: * 3+ years of experience working in test automation * Experience in managing and coordinating QA teams * Proficient expertise in the full Quality Assurance life cycle, testing methodologies, and test automation * Understanding of software testing principles * Knowledge of object oriented language (C# or similar) * Knowledge of scripting languages (Python, Groovy or similar) * Experience in building large and scalable multi-threaded applications * Experience in creating well designed APIs and interfaces * Knowledge of UI development principles/UI testing experience * Knowledge of Source Control software like Perforce, GIT, SVN or else * Good knowledge and understanding of Agile (scrum) * Strong organizational, planning and problem-solving skills * Upper-intermediate English level, both spoken and written Lead QA Automation Engineer WFT?? LOL
  • 10. What I’ve learned from this vacancy 1. Probably frontend/backend testing written on ??? with ??? frameworks 2. Leading several teams?? How many teams/people? 3. Lots of word ‘improvement’, does it mean to build processes from scratch? 4. Why they require experience in building large multithreaded apps and API/interfaces. Will it be my responsibility? Performance testing too? Overall opinion: They want a person, that will do everything - Managing several (!) teams with total ?? people. - Improve and setup all the processes on project
  • 11. Two types of team structure Dominion model Communion model  Clear responsibility/reporting chain  Works with any people  Easy to implement X One can block others/everyone X Always require skilled leader  Multiple leaders in their own domains  Resistant to bottlenecks  More “agile” X Doesn’t work without strong engineers X People aren’t used to it
  • 12. How to build the test team right? The ideal test team has: 1. a mix of skills (hard and soft) and experience levels 2. common goals 3. willingness and ability to teach and learn 4. clear communication 5. respect & trust You can teach monkey how to code at some point but you will never teach human how to be human
  • 13. Soft skills in 90% >> Hard skills Test Manager/Lead should hire the people that are able to: • Learn (Ask to use some new FW with the help of Google) • Share knowledge (Ask to tell something or write some documentation) • Explain (Ask to proof his point of view with evidences and arguments) • Negotiate (Prepare needed circumstances and negotiate) • Review and be reviewed (Place in appropriate situation) • Separate work conflicts from personal (Ask the thoughts)
  • 14. How to define the hard skills 1. List all your skills and mark those applicable for a project 2. Compare this with the list of skills provided by customer and add needed 3. Think about other skills that will be also helpful. (You may use job vacancies web sites or linkedin  ) 4. Prioritize the value of each skill you marked applicable. Assign them with a priority level: Must have, Better to have, Will be a plus 5. Generate vacancy description based on this list
  • 15. Skill set definition Testing Skills SDLC/STLC activities Test Design Test Management Static Testing (Reqs, Specs) Black-box Testing White-box Testing Performance Testing Risk Based Test Strategy Code Coverage Test Automation Test Planning / Estimation Technical Skills Win / Linux / OSX C++ / Python / Shell TCP/IP, networking Patterns, O(n), SW design Databases (Oracle, MongoDB) Continuous Integration toolset UI testing with Selenium Hardware maintenance C#-based servers Cloud (Azure) Unit Test frameworks Soft skills Mentoring Learning Public Speaking Assessment / Audit Negotiations Customer communications Interviewing English Review skills Presenting (ppt, graphs etc) Conflicts handling
  • 16. Project description Hi-load cloud-based software for smth - FrondEnd / BackEnd: Angular 2 with Java and Oracle on AWS - Android and iOS apps - Fast iterations based on Agile/Scrum - Custom automation framework on Ruby+Cucumber - CI/CD on Jenkins/Docker - Performance testing required from scratch - 3 major releases during 1 year, additional 50% resources decided to hire - Main problems are: critical defects found on RCs, metrics doesn’t show real picture, big staff turnover, severe dependence on several people, low skill level of a test team
  • 17. Final skills needed Testing Skills SDLC/STLC activities Test Design Test Management Static Testing (Reqs, Specs) Black-box Testing White-box Testing Performance Testing Risk Based Test Strategy Code Coverage Test Automation Test Planning / Estimation Technical Skills Win / Linux / OSX C++ / Python / Shell TCP/IP, networking Patterns, O(n), SW design Databases (Oracle, MongoDB) Continuous Integration toolset UI testing with Selenium Hardware maintenance C#-based servers Cloud (Azure) Unit Test frameworks Additional Skills C# backend Cloud (AWS) Ruby Automation + Cucumber Mobile manual testing experience (Android + iOS) Dynamic testing (DynaTrace) Because TM is you already Duplicated with Ruby 0 – no experience, 3 – able to use with some help, 5 – able to solve anything independently
  • 18. Skills Required/Desired Jeremy Lucy Michael SDLC/STLC activities R3 4 3 2 Test Design R3 4 3 2 Black-box Testing R4 4 2 2 Performance Testing 0 2 0 3 Code Coverage 0 0 2 3 Win / Linux / OSX R3 3 4 4 TCP/IP, networking D3 2 3 4 Databases (Oracle) D2 0 0 3 Continuous Integration toolset D2 1 2 3 UI testing with Selenium 0 0 3 3 C# backend 0 0 0 2 Cloud (AWS) D4 4 1 4 Ruby Automation + Cucumber 0 0 0 1 Android + iOS manual testing D4 1 4 0 Dynamic testing (DynaTrace) 0 0 0 2 TOTAL POINTS 25 27 35 Manual QA
  • 19. 0 1 2 3 4 5 SDLC/STLC activities Test Design Black-box Testing Performance Testing Code Coverage Win / Linux / OSX TCP/IP, networking Databases (Oracle) Continuous Integration toolset UI testing with Selenium C# backend Cloud (AWS) Ruby Automation + Cucumber Android + iOS manual testing Dynamic testing (DynaTrace) Manual QA Jeremy Lucy Michael - Lucy is needed because only she has Android + iOS testing skills - Michael has more automation skills and will be proposed to apply for automation - If we hire Jeremy and Lucy we will have following manual qa team: 0 1 2 3 4 5 SDLC/STLC activities Test Design Black-box Testing Win / Linux / OSX TCP/IP, networking Databases (Oracle) Continuous Integration… Cloud (AWS) Android + iOS manual testing Manual QA Ideal Minimum Team has max
  • 20. Skills Required/Desired Susan Rick Bob SDLC/STLC activities R3 3 3 4 Test Design R3 3 2 4 Black-box Testing 0 0 0 2 Performance Testing D2 0 3 0 Code Coverage R3 0 3 0 Win / Linux / OSX R3 3 4 4 TCP/IP, networking R3 2 4 4 Databases (Oracle) R3 4 3 2 Continuous Integration toolset R4 4 3 1 UI testing with Selenium R4 4 1 2 C# backend D3 0 4 1 Cloud (AWS) R3 2 3 3 Ruby Automation + Cucumber R4 2 4 2 Android + iOS manual testing 0 0 0 2 Dynamic testing (DynaTrace) D2 2 0 0 TOTAL POINTS 29 37 31 Automation QA
  • 21. 0 1 2 3 4 5 SDLC/STLC activities Test Design Black-box Testing Performance Testing Code Coverage Win / Linux / OSX TCP/IP, networking Databases (Oracle) Continuous Integration toolset UI testing with Selenium C# backend Cloud (AWS) Ruby Automation + Cucumber Android + iOS manual testing Dynamic testing (DynaTrace) Automation QA Susan Rick Josh - Bob is totally lower than our expectations - Susan and Rick covers the gaps of each other like a perfect mates if we hire them, we will have following automation qa team: 0 1 2 3 4 5 SDLC/STLC… Test Design Black-box… Performance… Code… Win / Linux… TCP/IP,… Databases…Continuous… UI testing… C# backend Cloud (AWS) Ruby… Android +… Dynamic… Automation QA Ideal Minimum Team max
  • 22. Think about the people in a team as a whole. The team has weaknesses and advantages, not people. Team cares about itself as human does about its body. Team has the development plan, consisting of personal development plans. Terms does everything
  • 23. Skills Jeremy Lucy Susan Rick Average Max Total SDLC/STLC activities 4 3 3 3 3.25 4 13 Test Design 4 3 3 2 3 4 12 Black-box Testing 4 2 0 0 1.5 4 6 Performance Testing 2 0 0 3 1.25 3 5 Code Coverage 0 2 0 3 1.25 3 5 Win / Linux / OSX 3 4 3 4 3.5 4 14 TCP/IP, networking 2 3 2 4 2.75 4 11 Databases (Oracle) 0 0 4 3 1.75 4 7 Continuous Integration toolset 1 2 4 3 2.5 4 10 UI testing with Selenium 0 3 4 1 2 4 8 C# backend 0 0 0 4 1 4 4 Cloud (AWS) 4 1 2 3 2.5 4 10 Ruby Automation + Cucumber 0 0 2 4 1.5 4 6 Android + iOS manual testing 1 4 0 0 1.25 4 5 Dynamic testing (DynaTrace) 0 0 2 0 0.5 2 2 TOTAL POINTS 25 27 29 37 118 The Team
  • 24. 0 1 2 3 4 5 SDLC/STLC activities Test Design Black-box Testing Performance Testing Code Coverage Win / Linux / OSX TCP/IP, networking Databases (Oracle)Continuous Integration toolset UI testing with Selenium C# backend Cloud (AWS) Ruby Automation + Cucumber Android + iOS manual testing Dynamic testing (DynaTrace) Test Team Dynamic Jeremy Lucy Susan Rick Max