Innovative Software Testing Cannot Be Bought Off the Shelf
With software development becoming more agile by the day, software testing must follow suit.
My time spent working at Matrix Medical Network, a company that is heavily reliant upon software for core service delivery, has shown me that software testing needs to keep pace with shrinking development times to stay ahead of the competition. This means meeting needs for faster, more efficient and higher quality testing and delivery.
I see two critical elements to the solution. First, we must continuallyexperiment with new tools and techniques to drive our testing capability forward. Second and more importantly, we must develop the people to supportthe software and tools.
Fundamentally, well-managed software testing is a process of exploring and thinking critically
My teams are regularly encouraged to develop better, faster and more efficient testing techniques. Some may work while others may not, but that is the point. When new testingprocesses are successful, they spread organically across all my teams.
To this end, everyone feels more involved in the quality assurance process, and my employee retention rates have always been very high. I’ve learned that people tend to stay longer when they feel engaged and empowered in improving testing methods and can see their ideas come to fruition. We strive for a culture that rewards innovation and views failures as learning experiences.
At Matrix, we have evolved our approach away from a separation of manual versus automation testing in favor of a more efficient cucumber/gherkin model where the lines between the two are blurred. Our testers are more involved with how code is written, giving them insight on how to be better testers. All this culminates with faster delivery to our customers with much higher code quality.
Many of these concepts are derived from Deming’s 14 Points, which are still very viable and relevant even after all these years. Based on his recommendations for improvement, we encourage and drive innovation in the testing space.
Key Metrics to Consider
Here are some key metrics I use to assess the value gained from innovations in our software testing:
Time to Reach Market: There are two factors at play here. One is our time to complete our testing at expected quality levels, and the other is our impact on the time needed to ultimately deliver the project to the customer.
Cost of Quality: There are three different costs of quality to calculate at different stages: cost of quality during the project lifecycle, cost of quality during ongoing maintenance and cost of quality to the end user.
Estimated Cost Save on Rework: Rework is one of the highest cost drivers for any project, therefore it is important to get it right the first time. It is helpful to calculate estimated potential rework costs we have avoided to emphasize this importance.
End User Satisfaction: Changes in end user satisfaction with each release is a very powerful way to measure testing effectiveness. Improving end user satisfaction is a key to success with any project, and solid testing provides a strong correlation with the end resu
Key Factors of Innovation
Simply tracking the right metrics won’t get move you closer to having a more innovation-driven testing organization. There are other key elements with respect to your team that you need to consider:
Build an Environment of Trust
Allowing your team members to try new things regardless of whether they succeed or fail. Successes and failures should be equally celebrated to instill a sense of purpose in your team to continuously improve. You want your team to develop improved processes unhindered by pressure or expectation of success.
Allow Your Teams to Self-Improve
Once part of your team has successfully implemented a change, allow them to propagate that change to the rest of the team. Corporate mandates may not always be viewed favorably, but peer sharing can be very successful. However, do be careful to ensure new processes or toolsare surrounded by proper due diligence. A great idea can quickly become a liability if left unchecked.
Reward the Adopters Just like the Innovators
Often we as leaders give high praise to the originators of new ideas, especially those that bring highly measurable improvement. It is important to remember that all innovation should be welcome no matter how large or small, and those who adopt and evangelize new concepts are just as important to the overall effort.
Innovation is a Philosophy
Fundamentally, well-managed software testing is a process of exploring and thinking critically.There will always be opportunities to improve and adapt new best practices, but it is imperative to be aware of how these may be linked to the company’s overall strategic growth.
Create an environment that supports growth and innovation while aligning with strategic business interests. Encourage your teams to develop cohesiveness and relationships with other development and business teams. Where possible, have the team interact with end users to discover new testing scenarios and challenges.
Innovative software testing cannot be bought or rented. It comes from the day-in and day-out hard work of the people on your teams. Trusting them with opportunities to grow and innovate engenders greater buy-in and leads to better support for your overall business goals. In the end, it is your team that will drive you there.