How to promote the Quality Best Practices
How to promote the Quality Best Practices
Two ways to promote the quality best practices are: Influencing the teams or to enforce the best practices. A periodical team reality check about the current practices is the beginning of the process. A team can easily live in their own Ivory Tower or to be biased by this statement: “We always did it that way so why changing it?”.
Influence or evangelize
- Discussions: gather information about current pain points (retrospectives and lessons learned)
- Involve QA Specialists in all SDLC (or Software Development Life Cycle)
- 1:1 meetings to get information and expose point of views, share ideas and explain the best practices: it may be easier to convince on person than a group
- Talk to the teams
- Provide existing articles and blog posts
- Tech talk to expose the vision
- Create training material: guidelines, processes, videos (e.g.: Pluralsight, etc.)
- Involve people in quality solutions:
- Organize Workshops (on short term) so that the targeted public becomes active participants
- Organize Work Groups (on long term) so that the concerned people become active participants
- To use data as leverage; more information is available in the data-driven decision section
Data-Driven decisions
To show metrics of the current situation (or challenge the “no metrics” or lack of metrics). It is the also called “Shift-Right” approach in the Software Quality world.
- End-users or Customers survey can be used (e.g.: use a post-transaction experience survey on the mobile app or web site)
- White-Label partner surveys
- Use production dashboards (examples: Datadog or SignalFX metrics) and performance tools (e.g.: WebVitals, etc.) to monitor APIs, SQLs, etc.
- Daily performance emails can be sent to the engineering teams
- NPS and CSAT surveys: NPS vs CSAT definitions
- Real Customers Journey (traces of the end-users through the applications)
- Use support CIM dashboards: customer tickets, production tickets, ticket aging/bug fix time, tickets by services or teams, RCA (find the issues caused by quality process)
- CIM stands for Customer Interaction Management
- A way to generate CIM data is to use a tool like eazy bi
- Correlation between test coverage (static code) and production issues
- It is also possible to get test coverage from a live service using a tool like Sealights
- Compile the functional testers (manual tests) created Tickets/JIRA vs current team or service test coverage
- Create Success Stories: start with one team and use the before/after statistics
- GIT statistics (e.g. with a tool like GitPrime (now Pluralsight Flow)) in order to correlate bugs/tickets and developers stats (e.g.: number of commits, active days, etc.)
- I.e.: low stats may be caused by developers not working on features or test automations because they are working on manual tests or production support
- Correlate the release cycle (how often the team releases or time to market) and test coverage; better/reliable test coverage and test regression suite will shorten the release cycle.
- Gather statistic about how much time it takes to refactor an existing feature? Better test coverage will result in faster refactoring
Enforce
- Contact the best practices stakeholders and ask for support (I.e.: to push the best practices downward)
- To fix deadlines (must be adopted by specific dates)
- Enforce with Gates, checklists, DoD, etc.
- Set Quality specific OKRs
- Assign Quality trainings