In this article, we will explore the answers to the question – “can software testing bring value to the business of the customer and for end customer?”
Let us have below considerations for the purpose here:
- End customer: the ultimate consumer of the services and/or products
- Business: which provides the services/products for the end customer
- Service provider: the one who provides the services to business to create the products/services for end customer
Meaning of Value:
Value is not same for all. Generically, value means all the tangible and non tangible benefits a business may derive from the services / products, it creates with the help of the Service Provider for the End Customer.
With this context, let us try and go a step further. For end customers, it will be the quality of the product or service against the money paid to buy those, while for a business owner, it is profit and sustainability. As the Business will have multiple stakeholders, the value as seen by each of them will differ. The service provider will be contributing to these values through the services.
Value could made up of quality, price, time and overall positive feeling leading to sustainable business for all and satisfied customer.
Now the question comes, for all the software services / products, does software testing add to the value? If yes, then how, to what extent and on what factors, software testing can make impact on the value to End Customer and to Business.
When software testing gets aligned with the business goals it can create a larger impact. Let us continue exploring how this alignment can become stronger and give more benefits to all.
Below are some steps to start with:
2. Testing strategy should give maximum coverage for the business risks: While defining the test strategy and processes, methods and approaches are to be created in such a way that it would complement the enterprise wide standards, tools and people. The focus should be maintained to excel the benchmarks set by organization for products/services to the end customer. Some techniques like Model Based Testing, Business process Test Repositories, Reusable Test Assets and complete test life cycle automation, etc. can bring in the assurance and optimization on the test coverage from test design to test execution and reporting phases.
3. Testing should be performed through business perspective: Every testing team member should be trained to consider the perspective of the end customer while performing the testing of the service/product.
4. Success of software testing should be measured against business goals achieved.
Below are a few techniques to enhance Business Value through Software Testing:
- Synergized innovation: Innovation in services / products is required to keep the high satisfaction levels of the end customer. But innovation in isolation between the groups who create these services / product will not be able achieve the same. Innovative testing tools, processes, techniques and methods are to be synergized with the other streams involved in service / product creation.
- Testing shift left methodology: The earliest start to verification of service / product being created in form of business feasibility, end user usage patterns, market demand, concept validation, etc. would help keep the entire focus on building the service/product right from early stages.
- Defect prediction: With good awareness and understanding of the end user requirements and high maturity of the business processes, it is possible to predict the defects at early stages and take preventive actions. Many scientific techniques help to achieve this.
- Process improvisation and lean adoption: LEAN which is about removing the wastage from all stages / phases of the life cycle of service / product creation is one of the proven techniques to bring the value to business.
Below are the metrics to measure the value gain out of software testing:
- Time to market: Here two levels are to be considered; one is “time to complete the service / product with desired quality” and another is its “impact on time to reach the product to end customer”.
- Cost of quality: This will be calculated at different levels such as CoQ for business while creating the service/product, CoQ to business if desired quality is not maintained and CoQ to the end customer.
- First time right index and estimated cost save: Cost of rework is one of the highest costs. Hence, first time right index for services/products should be measured. An estimated cost save on rework also could be calculated. This could be very well act as an input to continuous improvement.
- End user satisfaction level: This is the overall process of service/product creation but mainly about the testing/QA process as the satisfaction would be the outcome of quality. Also, Business would be able to maintain the lower cost for end user majorly based on the CoQ. Hence assurance of the quality and improved positive feeling of the end user is to be measured and mapped with testing.
Business benefits of quality ensured are both deep and broad. It facilitates innovation, increases predictability, lowers risk and reduces rework.
The above approach can be a starting point to make the value that software testing brings into business clear and visible.
So far, we discussed about only the technicalities and processes to achieve value. But equally important are the characteristics of the testing team. The traits that a testing team and a team member should demonstrate are unique within it. Let us talk about those in the next part of this series.
- Article by Keith Anderson, dated 29th Aug 2012, “Creating Value through Software Testing”
- Article by Geoffrey Basin, dated 15th Jan 2004, “The business value of Software Quality”
Mahesh M Deosthale is a Principal Consultant – BNFS Testing Services,...