Vojtěch Barta QA role in Agile team 1
• E-mail: bartavoj@gmail.com • Twitter: @bartavoj • Web: bartavoj.cz • QA, Testing, Agile – About 8 years – Leading QA Team in Vendavo 2 Vojtěch Barta
• Quite a lot of definitions -> Choose or Build your own • Four levels of quality – Deliver according to requirements – Deliver according correct requirements – Deliver value according to correct requirements – Deliver value according to correct requirements when all stakeholders are satisfied and happy • Quality is Satisfaction of all stakeholders What is quality?
My idea how to do it in right way 4
• Of course not! • It is a vision, target, something I aim for… • You need to know where you would like to be to go in correct direction • Each project has own challenges • It is about people!!! Do I really do it this way?
Before Project 6
• Our projects are based on SOW which defines a lot of things • Problems starts here – Our customers have different knowledge of Agile – Different experience and expectations – They do not understand process yet • Lessons learned – Never ever say Agile is easy for customer. It is not and they need to be prepared – Make sure all stakeholders understands their responsibilities – Find out where are you as soon as possible Before project
• We have good SOW (not perfect) but … – Nobody cares to much about the most important chapters • Methodology to be followed – What does it mean to work in Sprints? – What is a definition of done? – What do we expect from customers? – Everybody cares about Scope • It is not understood as wish list • Despite SOW is legal document it is hard to push to make to process real later in the project SOW
• Is kind off kick of Sprint(s) before real implementation starts • Very good idea with clear Exit Criteria – All stakeholders identified and understood – Process of working agreed (Sprints, responsibilities, etc.) – High level idea is clear – Enough User Stories to start next Sprint (ideally for next two sprints to mitigate risk of PO to be bottleneck) – Test Strategy Prepared, reviewed and agreed Foundation Sprint
• We are not strict on Exit Criteria – All stakeholders identified and understood • Testing team on Customer team – what are you talking about? – Process of working agreed (Sprints, responsibilities, etc.) • That is not how we understood SOW – we do not like that – High level idea is clear – Enough User Stories to start next Sprint • Even most important User Stories are vague, not clear, missing Acceptance Criteria, etc. – Test Strategy Prepared, reviewed and agreed • Testing is your stuff… Foundation Sprint - BUT
• Process – Help with negotiation • Requirements – Agree on the way how requirements should be captured to provide • Enough information for Devs to Develop and Test • For Testers to Test • For PO to Accept • For Customer to Accept • Test strategy – What we should do and why? – Who is responsible for what? – Preventing vs. Finding bugs QA Work in Foundation Sprint
Sprint work 12
• Sprint as Small waterfall • There is no Test Phase in Agile!!! Sprint work – Small waterfalls
• Grooming – Regular whole team activity – Go trough new / changed User Stories – PO -> Team = business understanding sharing – Team -> PO = quick feedback – Achieve team agreement about requirements Sprint work – ensuring business understanding
• Grooming – Regular whole team activity • It is not regular – Go trough new / changed User Stories • There are not enough User Stories defined – PO -> Team = business understanding sharing • Devs do not not care – Team -> PO = quick feedback • Voiceless (sleeping) team Sprint work – ensuring business understanding - BUT
• Sizing – When we are satisfied based on grooming – Set a size as relative measure – Achieve team agreement about complexity Sprint work – ensuring business understanding
• Sizing – When we are satisfied based on grooming – Set a size as relative measure • What is the middle size • Manager: I need to know it in hours – Achieve team agreement about complexity Sprint work – ensuring business understanding - BUT
• Planning – Break down US to Tasks – Each task is estimated by the one who will do it – At least one Dev and one QA task – Agree who will test what (Dev vs. QA) Sprint work – planning as personal commitment
• Planning – Break down US to Tasks – Each task is estimated by the one who will do it • Estimates are low • Estimates are guess with buffer • Somebody else provides estimates – At least one Dev and one QA task – Agree who will test what (Dev vs. QA) • Why should Devs test? Sprint work – planning as personal commitment - BUT
• Before development of Critical US starts • QA + Dev – Do we have same expectations? • QA Dev – This is how I will test it… – This is what I do expect from you to test… – What help do you need? Sprint Progress – QA Touch Points – Before
• Support Devs – This is the highest priority for QAs – Sometimes QA = Questions and answers • QA should be capable to answer the most of the questions • There is very close cooperation between QA and Dev on each task = know your developers • Product Owner is usually busy with preparation of next sprint – We do pair programming Dev + QA sometimes • Senior QAs need to be able to understand code properly Sprint Progress – QA Touch Points – During
• Test Case preparation – Test Cases should have right level of details • Steps are optional • Supporting materials (excels, diagrams, mind maps) – Are • Identification of test flows and effective way how to test them • Measure – Are not • Prove of testing • Training materials – Sometimes done even in advance in cooperation with Product Owner Sprint Progress – QA Touch Points – During
• Automation – There is no Agile success without Automation – Not necessarily QA task – Really dependent on project, architecture, etc. Sprint Progress – QA Touch Points – During
• Handover to QA – When development is finished (or more often) – Dev QA • This is how I implemented it = Demo • This is how I tested it – QA Dev • Direct feedback • Avoiding ping pong • Reduce time of testing • Testing – Yes we test Sprint Progress – QA Touch Points – After
• Good practice to have weekly Demo • QAs are a good candidates to do it • Present to the team what was done – Devs to comment on others work – QAs to get bigger picture – Product Owner to validate Sprint Progress – Internal Demo
• There have to be demo to customer be the end of each Sprint • Actively seek for feedback – Get acceptance if possible Demo to customer
• Help them with regular testing – Most of the US cannot be accepted on Demo – Further Customer testing is required for Acceptance • Customer are not test experts • In our case they do not know our product • Teach them, but do not do it instead of them • During UAT – Be onsite and help to solve problems quickly Supporting customers
• What is the reason for reports – To inform about something – Target for different audience – Do not do reports which nobody needs – Make them easy Reporting