In my talk last week at AllDayDevOps, I reminded DevOps practitioners that QA is still a critical discipline within DevOps teams. Let me lay out my beliefs -
- QA mindset is different than development mindset. QA is evaluating business benefit and risks to optimize testing while development is balancing their development effort between customer needs and technical debt.
- QA skills are distinct from development skills. QA is typically using tools to automate function and load tests then using other tools to validate security and device compatibility. Developers are using tools to develop code and unit tests.
- Both developers and QA should be committed to delivering shippable code at the end of every sprint, so every sprint team needs developers and QA working collaboratively toward that goal.
- When sizing stories and committing to the sprint, QA should be working with the team and voicing their opinions on the complexity and effort around testing. Story sizes should reflect both the development and testing complexities.
- Developers should use coding and documenting principles enabling QA members to understand their code and enable them to diagnose defects.
- Teams should collaboratively plan their sprints so that the effort required to test and automate doesn't become time-crunched the last few days of the sprint.
- QA should not only identify the defect, but should take a first pass at reviewing the code and identifying the underling issue.
- QA should be providing specific guidelines on whether a release "passes QA". They should become loud and speak their objections when others want to release without this endorsement.
- QA should be the first group to triage incidents and defects identified from Ops. At minimum they should take steps to recreate the issue in their testing environments. Ops teams should be providing sufficient computing environments, access to log files, and reports from monitoring systems to enable QA.
- QA should develop metrics showing actual test coverage against a defined targeted standards. If this percentage is low and the number of defects discovered in production is high, they should review causes and provide recommendations on improving their practices and identifying where additional investment is need.
You can watch my talk, Driving an Agile and DevOps Culture that Delivers Business Transformation to learn about transformation, team responsibilities, and developing a culture.