Software quality is a journey, not a destination. Where is your organization in its quality journey?
If the answer to that question is not what you wish — in other words, if your software quality is not as strong as you know it can or should be — then it’s time to rethink your approach to the software-quality journey. For many organizations, that will mean reconfiguring the ways in which different teams interact, and perhaps even creating a brand-new workflow that accomplishes a higher level of quality through better software testing.
With these goals in mind, I’d like to offer some pointers in this post, based on what I've learned over the years building a culture of software-quality excellence in which every member of the organization owns quality.
Software quality: It’s an uphill battle, but it’s achievable
It will be a very intimidating task to rethink the journey of quality ownership, but it's achievable.
Ask yourself a few questions (or more). What is your current state of quality ownership? What is your reason for the change in quality ownership? You want to change — but do you need assistance in how to transform your organization to the point where everyone owns quality?
You don't have to fight an uphill battle. Take time to outline your short and long-term goals when planning to transform your organization’s quality journey. Then you'll be ready to share your vision with the company and educate teams on why they need to invest in quality and how everyone shares the quality responsibilities. The truth is that change will be challenging. That's what change is all about. As you're rolling out the quality journey and a brand-new workflow, remind yourselves to learn, grow, adapt, and pivot when necessary.
The following details can assist the transformation process and help you get organizational buy-in.
Building the foundation
A solid foundation starts with creating an elevator pitch for your organization that illustrates why they need to invest in quality. Let me share a sample of my elevator pitch:
Mission: Create a culture of quality, where everyone owns quality.
Responsibilities include: the creation of a hosted continuous integration platform; being the champion of quality; helping product owners enrich acceptance criteria, and shape the organization’s approach to testing; standardizing tool solutions, processes, and CI/CD, as well as supporting development teams to deliver high-quality software. We are advocating for automating the right things and ensuring the tests are reusable and maintainable.
Outlining the short and long-term goals will allow teams to move toward the goals of higher autonomy, automated testing, CI/CD, and evangelizing new technologies and processes.
A small sample of a quality transformation plan:
- Lay out the strategy, vision, and culture change.
- Change the quality culture from reactive to proactive.
- Define a quality workflow process (check out my blog post: Building an Agile Process Playbook for Software Testing).
- Identify and document the existing test coverage from unit, integration, ..., ..., and to manual
- Define a continuous testing strategy that transforms manual processes with automation, where possible — Check out Angie Jones' SauceCon session: Which Tests Should We Automate?
- Clarify capabilities by identifying training needs for your organization.
- Governance for quality to speed up decision-making processes; governance for quality metrics, progress measurement, accountability, and evaluation of system health
- Develop a quality roadmap with milestones and workstreams that aligns with the business
- Evaluate and standardize testing tool solutions
- Define a service-level agreement (SLA) for quality roles, responsibilities, and expectations
- Dedicated development team evaluation, developing and maintaining testing solutions
- Define guidelines on how to make great acceptance criteria, from independent, negotiable, valuable, small, and testable to estimable
- Encourage innovation
- Need to be proactive and seek improvement continuously
- Define the communication channels
With this, you're on the way to greatness, or at least heading down the right path!
Sharing and transforming the culture
To get organizational buy-in, it's more than sharing an elevator pitch and communicating short and long-term goals. You must cultivate quality advocates within your organization. They are trusted partners who are an extension of your quality team that understands the mission of quality excellence. Your quality advocates set the expectation that it's achievable by sharing experiences and successes, best practices, and more. These details will increase the adoption of quality ownership and will naturally build confidence. Take the time to appreciate your advocates — They're an essential component of transforming the culture.
- Stand-ups or check-in meetings
- Internal customer advisory board (CAB) meetings
- Monthly newsletter
- Showcase quality and performance metrics
- Internal blog posts
- Self-paced tutorials
An organization's journey to quality excellence begins once it ceases to sacrifice quality for speed. Quality is no longer viewed as an optional or nice-to-have part of the software development process. It's a necessary piece of the process.
Greg Sypolt, Director of Quality Engineering at Gannett | USA Today Network, maintains a developer, quality, and DevOps mindset, allowing him to bridge the gaps between all team members to achieve desired outcomes. Greg helps shape the organization’s approach to testing, tools, processes, continuous integration, and supports development teams to deliver software that meets high-quality software standards. He's an advocate for automating the right things and ensuring that tests are reusable and maintainable. He actively contributes to the testing community by speaking at conferences, writing articles, blogging, and being directly involved in various testing-related activities.