SCRUM & Testing Back to the Future Erik van Veenendaal www.erikvanveendaal.nl
Erik van Veenendaal Founder and major shareholder ImproveQS In testing since 1989 working for many different clients and in many different roles Author TMap, The Testing Practitioner and many other books and papers Vice-President International Software Testing Qualifications Board (ISTQB) 2005-2008 Vice-Chair TMMi Foundation Keynote speaker, e.g. EuroSTAR, STAReast Winner of the European Testing Excellence Award (2007) Improve Quality Services BV 2
Improve Quality Services BV www. improveqs.nl Service organisation in the area of Testing, Requirements Engineering and Quality Management Consultancy, Subcontracting and Training Testing (TMap, TMMi) Test Process Improvement Certification (ISTQB) - incl. Advanced!! Inspections / Reviews SW Process Improvement Quality Assurance IT-Auditing Requirements Engineering & management (IREB) Improve Quality Services BV 3
What is Agile? Improve Quality Services BV 4
Why Agile? Only 28% of IT projects is successful!! Deliver business value earlier Divide and conquer The requirements problem Reliable Estimates Formal methodology 6% 5% Minimized scope Standard software infrastructure 8% 10% AGILE REQ ENG Executive support 18% 12% Clear business objectives Experienced Project Manager 14% Other 5% 16% User involvement 6% Firm basic requirements Improve Quality Services BV 5
Agile Development Model Iteration High level product requirements High level iteration requirements Definition of Done Design Implementation & unit testing Acceptance testing Documentation Acceptance Product Improve Quality Services BV 6
Testing Challenges Obvious for agile (iterative) development: Regression testing, Test automation Quality of specification, Traceability, Time-boxing Less obvious to most experts : Knowledge and skills of test professionals The (new) role of developers The involvement of the business Management awareness Test levels and test types It s simple but not easy Improve Quality Services BV 7
Other Test Levels? Improve Quality Services BV 8
What is agile testing? Testing in an immature (test) organization The great excuse!! Testing in an agile development project Re-shaping traditional practices Testing following the statutes of the agile manifesto A different mind set to start from Improve Quality Services BV 9
Agile Manifesto Individuals & interactions over Processes and Tools Working Software over Comprehensive Documentation Customer Collaboration over Contract Negotiation Responding to Change over Following a Plan Agile Values (Kent Beck) Communication, Feedback Simplicity, Courage Improve Quality Services BV 10
Core Agile Testing Practices Risk based: Product Risk Analysis communication, customer collaboration, working software & responding to change Reviews: Walkthroughs & Informal Reviews communication & feedback, customer collaboration Test strategy: (automated) unit testing & regression testing working software over comprehensive documentation Test design: Use informal techniques formally responding to change, customer collaboration & no comprehensive documentation People: Build experienced and skilled testers individuals and interactions over processes and tools Improve Quality Services BV 11
The Product Risk Matrix Likelihood H Exploratory Testing Support module tests Review module tests M L L Could Test x x I III Exploratory Testing Won t Test Impact M x x Test design techniques Review Must Test design Support module tests Review module tests x II IV Test design techniques Review Should design Test H Improve Quality Services BV 12
Exploratory Testing tests PRODUCT Simultaneous exploration, test design and execution Finding the most important defects in the time available What about - Test charters available and reviewed - Checklist with most common defects (heuristics) - Experienced testers (test design techniques) - Working in pairs during test sessions - Test logs delivered - Daily debriefing sessions - Feedback loop; new risk areas Improve Quality Services BV 13
People Skills via (exchanging) Practical Experiences, Coaching and (formal) Training Test knowledge - Test management - Techniques - Tools, etc. Domain knowledge - Business process - User characteristics IT knowledge - Software development - Requirements (IREB) - Configuration mgt. Soft skills - Communication - Critical mindset - Team player Improve Quality Services BV 14
SCRUM in Five Minutes Sprint a focused effort for a 30-day period towards fixed goals Product Owner responsible for compiling and maintaining a prioritized product backlog (a to do list) Sprint backlog to do list for Sprint Scrum team self organized and jointly responsible (5-9 people) Scrum Master coaches the scrum team and creates the best possible circumstances Improve Quality Services BV 15
SCRUM Process Understand requirements Estimation sessions High level test design Product risk analysis (test plan) Definition-of-done Review, Design Test execution Report, Adjust Coach, Support Define fit criteria Daily SCRUM Participate Retrospective System-integration-test? End-to-end test? Non-functional tests? Review requirements Improve Quality Services BV 16
Experiences - Finance Domain Domain knowledge extremely important Manage on process, not functionality Exploratory testing & also test design techniques Automated regression testing (QTP) Never a dull moment Great to work in a team Belbin assessments Problem areas Product quality hard to measure Watch-out for the V-model Task not well split-up Business will try to squeeze in one more CR Continuous time pressure Time-to market is not 4 weeks Improve Quality Services BV 17
Experiences Medical Domain Product Risk Analysis Detailed definition-of-done Pair programming Unit tests & code coverage Exploratory testing Automated regression test Weekly product demo Test levels outside sprint Empowerment Retrospective meetings Problem areas Non-Functional Testing Synchronization How much documentation? Improve Quality Services BV 18
Experiences Embedded SW Product Risk Analysis Detailed definition-of-done Agile Master Test Plan Pair programming Unit tests & code coverage Exploratory testing Automated regression test No changes last 4 days Test levels outside sprint Design Reviews Problem areas Testers profile Documentation Coherent SCRUM and other testing Works great for SW, but Reliability Improve Quality Services BV 19
The Agile Tester Focus is on delivering business value Provides a skeptical view of the quality of the system Does more than just test Also performs test management activities Great communicator, coach and team player Has courage to get out of his comfort zone What about the test manager? Improve Quality Services BV 20
How to start? Process Define an overall test strategy Define an approach to development (unit) testing People blue-print Define role and develop skills of SCRUM testers Change mindset and develop testing skills of developers Test automation Only part of phase two. Improve Quality Services BV 21
Finally... Future: A different process and mindset Back: Testing is not as easy as it seems (again underestimated, pffffff..) Study theory, but listen to practitioners X Testing = Tester Professional testers can re-use their knowledge and skills Improve Quality Services BV 22
Agile Humor Thank You!! Improve Quality Services BV 23