Download - Weaning Legagy Platform From Offshore Qa
![Page 1: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/1.jpg)
Weaning a Legacy Platform from Traditional Offshore QA
January 31, 2012
![Page 2: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/2.jpg)
The Agile Quality Ideal
•Unit Tests
•Integration Tests
•Story/Acceptance Tests
•The development team “owns” quality
![Page 3: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/3.jpg)
The Agile Quality Ideal – Where is QA?
Traditional QA Responsibilities:
• Verifying functionality
• Verifying bug fixes
• Regression Testing
Nearly obsolete?
![Page 4: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/4.jpg)
The Agile Quality Ideal – A possible role for QA
![Page 5: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/5.jpg)
Why was offshore QA a good idea in the past?
Little or no test coverage
Fear of refactoring
Code rot
Changes introduce bugs
Copious regression testing needed
![Page 6: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/6.jpg)
Why was offshore QA a good idea in the past?
Manual regression testing
Offshore QA
•3X cheaper
•Overnight feedback
![Page 7: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/7.jpg)
Why is offshore QA an impediment now?
• Development team produces functionality
• QA team assures quality
![Page 8: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/8.jpg)
Why is it so hard to abandon the offshore QA model?
• Low test coverage and brittle code are realities – They don’t change overnight
• All-hands-on-deck cleanup effort is impractical – Business must go on
![Page 9: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/9.jpg)
Practical steps to wean platform from offshore QA
Three-step plan:1. Establish development team as a
Quality organization
2. Establish development team as a “Quality Assurance” organization
3. Find a new value-adding role for offshore QA staff
![Page 10: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/10.jpg)
Constant improvement of code cleanliness / test coverage
a. Opportunistic legacy rescue
b. Scheduled/budgeted cleanup
c. Culture of bug prevention
![Page 11: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/11.jpg)
Opportunistic Legacy Rescue: The Hippocratic Oath
First, do no harm
![Page 12: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/12.jpg)
Opportunistic Legacy Rescue: The Boy Scout Principle
Always leave the campsite cleaner than how you found it.
![Page 13: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/13.jpg)
The legacy rescue catch-22
![Page 14: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/14.jpg)
The legacy code change algorithm
From Michael Feathers, Working Effectively with Legacy Code
1. Identify change points
2. Find test points
3. Break dependencies (safe refactoring)
4. Write tests
5. Make changes and refactor
![Page 15: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/15.jpg)
Opportunistic Legacy Rescue: Not enough
• Business expects a certain velocity
• Large-scale refactoring is expensive
• Can’t absorb within context of story development
![Page 16: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/16.jpg)
Budget for cleanup
• One pair dedicated to large-scale refactoring and code cleanup
• Team prioritizes cleanup items to tackle
• Pair addresses issues one-by-one
![Page 17: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/17.jpg)
Creating a culture of bug prevention
• Scrum Kanban
• Newly-introduced bug goes to top of priority queue
• Bug backlog stays in control
• Bugs become painful
![Page 18: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/18.jpg)
Feeling the pain
• Developers: Increase efforts toward bug prevention
• Business owners: Support bug prevention efforts (e.g. refactoring)
![Page 19: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/19.jpg)
Practical steps to wean platform from offshore QA
Three-step plan:1. Establish development team as a
Quality organization
2. Establish development team as a “Quality Assurance” organization
3. Find a new value-adding role for offshore QA staff
![Page 20: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/20.jpg)
Adoption of “QA-type” responsibilities by the development team
a. QA lead in team room
b. Co-owned Selenium test suite
c. “QA hats” for developers
![Page 21: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/21.jpg)
QA lead in team room
• Owns QA process
• Provides direction to QA team
• Provides instant, face-to-face feedback to developers
• Diffuses us vs. them conflicts
• Collaborates with developers in writing Selenium tests
• Coordinates exploratory testing
![Page 22: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/22.jpg)
Selenium test suite
• Co-owned by Development and QA
• Developers responsible for adding tests as per their judgment
• Selenium tests run on CI server
• Failures require immediate attention
![Page 23: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/23.jpg)
Developers put on “QA hats”
1. Peer verification2. Exploratory testing
![Page 24: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/24.jpg)
Peer verification
• In workflow, between DEV Completion and Business Verification
![Page 25: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/25.jpg)
Exploratory testing by team
• ½ hour per week
![Page 26: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/26.jpg)
Benefits of developers wearing QA hats
• Developers assume ownership of quality
• Quality gaps become more visible to developers
• Team develops mindset toward quality
• Detect bugs that would otherwise have gone offshore
• Offshore team’s load is lightened
![Page 27: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/27.jpg)
Practical steps to wean platform from offshore QA
Three-step plan:1. Establish development team as a
Quality organization
2. Establish development team as a “Quality Assurance” organization
3. Find a new value-adding role for offshore QA staff
![Page 28: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/28.jpg)
But we like our offshore QA team
• Long-standing relationship
• Domain knowledge
• Inexpensive
• We want to make their current role irrelevant, not make them irrelevant
• How can we leverage them to provide value in our new Agile world?
![Page 29: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/29.jpg)
Re-training offshore QA team to take on value-adding roles
a. Second line of defense
b. Performance testing
c. “User-centric” regression tests
![Page 30: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/30.jpg)
Second line of defense
![Page 31: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/31.jpg)
Writing, maintaining and executing performance tests
![Page 32: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/32.jpg)
Writing and maintaining automated “user-centric” regression tests
![Page 33: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/33.jpg)
The offshore QA challenge
Update your skills or become obsolete
![Page 34: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/34.jpg)
So how are we doing?
Size of offshore QA team Before November 2010: 16
November 2010 – June 2011: 8
Since June 2011: 4
Unit test coverage June 2011: 18%
January 2012: 36%
![Page 35: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/35.jpg)
Production high/critical bugs created vs. resolved
![Page 36: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/36.jpg)
All high/critical bugs created vs. resolved
![Page 37: Weaning Legagy Platform From Offshore Qa](https://reader036.vdocuments.mx/reader036/viewer/2022062320/55b10e73bb61ebae0f8b45d2/html5/thumbnails/37.jpg)
Q & A
שו'ת
Making Web Applications Accessible37