Upload
carl-bruiners
View
3.542
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Agile High Performing QA presentation. Sharing as there is a lot of useful reusable content.
Citation preview
Creating a high performing QA function… SimplesBy Carl Bruiners
Presumptions
• Continuous Integration (CI) environmental at an embryotic stage
• No Continuous Delivery (CD) model
• No or limited reporting around QA
• Certain aspects around Development / Agile has been omitted to keep the focus on QA
Note: This should form part of the teams definition of done
Team QA Vision
What is high performing QA• Testing an integral part of the team
• Automated testing
• Continuous integration / delivery
• Reducing escaping defects
• Eliminating debt
• Reduce uncertainty
• Compliance – Accessibility, W3C, etc…
• Coding standards, practices and patterns
• Improving code base through refactoring
• Features / functions delivered are aligned to commercial requirements
• Hi-visibility of failing tests – i.e. CI / defect information radiators
• Team take shared responsibility for failed tests
• Guaranteed environment up time – Managed through SLA’s
Commercial Benefits
Customer
• Increased frequency of new feature deliveries
• Improved customer experience by reducing likelihood of encountering a defect
• Improved ability to test granular level functions without impacting on the product (in combination with A/B or multi-variant testing).
• Improved flexibility to react to competitors
Product
• Reduced time spent on fixing defects = More time spent working on product features
• Teams work on small incremental feature / function deliveries so that new features ready for production are not held back by other unfinished features
• Base product improvement will help extensibility and scalability
• Feature areas are modular, encapsulated independent features which lessens any escaping defects impacting on other features / areas of the product
• A/B / Multi-variant testing feedback helps commercial make customer driven decisions
Financials
• Average daily cost of £58 p/p
• Average effort time per defect 2 days
• Average weekly incoming defect rate 10
Weekly Monthly Annual Target Cost in days
Base £1,160 £4,640 £55,680 n/a 960
1st Year £696 £2,784 £33,408 40% 576
2nd Year £11.60 £46.40 £556.80 99% 9.5
Agile Development
Agile Application Lifecycle Management
Agile Delivery Process
• QA integrated within the team
• Refactoring as the team goes along
• Test Driven Development (TDD)
• Pair Programming – to reduce SPOF’s
• GUI / Functional automated testing
• Set a sensible BAU percentage – 20%-30%
• Development practices / patterns – i.e. OO, MVC, patterns, etc..
• Defects reviewed on a daily basis by the PO and team
• Testers validate defects – ensure reproducible steps
• Defining a commercial focused MMFS (Minimal Marketable Feature Set)
• Quality gates in swim lane – Peer review and ready for acceptance (on stage)
Development
Defects
•Testers review incoming defects
•Ensuring defects have enough information supplied
•Identifying priority / severity of defect/s based on commercial value
•Frequently review defects
•Minimise escalations
•PM / PO's to be inclusive of prioritisation of defects
Testing
•Define smoke testing areas on the product
•Adopt Test Driven Development (TDD)
•Introducing Quality Control Gates (QC) into Sprints
Managing Risk
Continuous Integration
Automated testing
•Automated unit testing
•Automated smoke testing
Environment
•Integration server
•SCM – All project deliverables stored under source control i.e. images, SQL scripts, documentation, etc…
•Builds should happen as frequently as possible
•Continuous visible feedback on testing
•Configuration management
Continuous Delivery – Post CI buildAutomated testing
•GUI testing
•Functional testing
•Security testing
•Performance testing
•Regression testing
•Smoke testing
Automated deployment
•Stage
•Production
Continuous delivery workflow
Dev test suite Test suite
Build Performance
Unit test Security
Code scan (U)AT
Compliancy
Regression
GUI
Functional
The Plan
Deliverable goals – Year 1
• Reduce escaping defects through implementing QC gates
• Reduce incoming defects
• Implement / improve CI environment
• Implement CD (inc. fully automated testing)
• Ensure features / functions delivered are aligned to commercial drivers
• Introduce Quality Controls into Agile process
• Work with teams to ensure correct defects are targeted
• Work with teams on correct best practice development practices
• Measure success rates of defects and improve when needed
• Promote X-team development through sharing each others journeys
• Measure escaping defects
Short Term (Q1 / Q2 2012)
*Note: Subject to change
Medium Term (Q3 / Q4 2012)
Long Term 2013+
My role• Reshape teams to be more test driven / orientated – Testers embedded in the teams• Ensure features being delivered on are returning health ROI• Ensuring commercial alignment;
• Create Scrum of Scrums not only amongst the teams – I attend• Daily Scrum of Scrums between myself and other Senior Management – Prioritised defect list shared
• Protect the teams from external influences• Reviewing defect backlogs to ensure that defects being worked on are aligned to commercial alignment• Stopping enhancements by reviewing the defect backlogs• Spot review stories to ensure stories are using I.N.V.E.S.T• Measure escaping defects• Mitigation of SPOFs• Ensuring Operations / IT have environments up against a ILSA• Bring in ISLA’s• Manage ISLA’s• Define, manage and negotiate rollback plans• Define, manage and negotiate dependency reductions – self sufficient teams / department• Managing other senior managers expectations – transparency / honesty• Protect teams from external factors that are out of scope• Manage scope creep• Resource management – Alignment of staff to peek periods or demands required to meet commercial
goals.• Building strongest equal teams• Carry out an annual Agile assessment (incorporates QA)• Organising the introduction of hi-visibility information radiators• Reduce aged defects over x days old • CI our QA strategy• Reduce cost of QA through improved process and productivity improvements
Questions
Handouts
Fig. 1 – Cone of uncertainty
Fig. 2 – Agile test curve
Fig. 3 – CI dashboard
Fig. 4 – Prototyping
Fig. 5 – Scrum Ceremonies