Business Assurance: The Quality Implications of Digital Transformation
To advance the digital business agenda, QA organizations must break loose from their traditional bug testing shackles and embrace frictionless, full-lifecycle automation and a continuous delivery approach. Doing so will ensure quality is built-in from the start, facilitating the delivery of enhanced customer experiences that burnish the brand and drive competitive differentiation.
The digitization of everything is disrupting business models, processes and strategies. Amid this business-technology sea change, three constants remain on the corporate stakeholder agenda: cost, time-to-market and customer experience. While their priority order can change over time, today’s imperative is first and foremost customer experience.
These changes in focus and priority are now subtly but surely rippling into quality assurance. Historically, quality assurance has meant certifying the functionality of software, hardware or networking components, with no attention to the customer experience. Today, the customer experience represents the brand, the company and the individuals within it. This shift is forcing QA organizations to consider, from the get-go, the social and psychological impacts of the customer experience that the company’s products and services deliver, simultaneously with the functionalities under development.
Another change to QA is that while it has always focused on value delivery, the proposition has shifted to accelerated time-to-value. Writing requirements and designing, building and deploying code are all considered to be “active” (productive) time, while validation is considered to be “wait” (nonproductive) time. QA professionals are now trying to increase the efficiency of the QA lifecycle by eliminating “wait” time and accelerating value-adding activities. The new attitude is that if it’s done right the first time, there is no need to validate. Emerging technologies and methodologies have introduced both challenges and opportunities to this goal; hence, a well-defined digital transformation strategy is absolutely essential to the QA function.
New Mandates for QA
To understand the implications of digital transformation on QA and arrive at the next generation of quality assurance, organizations should address the following broad mandates:
Ensure a seamless and consistent customer experience.
Gartner predicts that by 2020, 25 billion “things” will be connected to the Internet1 – a phenomenon that could make the business and social implications of the Industrial Revolution pale in comparison. Due to this explosion of devices, ensuring the compatibility of applications across the plethora of networks, devices and interfaces is imperative for digital businesses to deliver a rich and meaningful user experience. As a result, ensuring impeccable quality and a consistent customer experience is pushing companies to expand the frontiers of QA.
Speed time-to-market and business alignment through Agile development methodologies.
The importance – and implications – of digital connectivity today cannot be overstated. Along with the constant connectivity of consumers, businesses and devices, new apps and functionalities are continuously being developed; additionally, at any given moment, our smartphone apps are either updating for more recent versions of software or are fixing bugs we do not even realize exist.
Such developments require modern-day QA techniques to not only find and fix defects but also work closely with stakeholders to prevent such defects from reoccurring. Better stakeholder collaboration can be enabled through the use of Agile techniques, such as fast prototyping, frequent iteration and the creation of user stories, replacing isolated development processes, lengthy requirements gathering and formal status meetings.
Meanwhile, increased digital connectivity has also shrunk software lifecycles drastically, even as it has expanded the number of touchpoints between initial customer engagement and after-sales service. Combined with an increased focus on the business value of technology, the shorter timeframes are blurring the demarcation between technology and the business, only adding to the mandate for Agile adoption.
One particular Agile methodology, DevOps,2 combines development and operations functions to help businesses respond quickly and effectively to the fast pace of digital evolution. A goal of DevOps is to “build quality within” rather than ensuring quality after the fact, as QA processes are integrated into every phase of the software development lifecycle.
DevOps is not just pushing the boundaries of developing superior software; it is also ensuring impeccable accuracy and stringent quality in the products being developed, while drastically reducing cost. Its techniques have led the QA function to move away from a pure-play validation role to a contextual testing mode, thereby bucking the conventional trend of risking quality for faster-time-to-market. This is known as digital assurance.
Deliver business value by addressing the risks that emerge across the digital ecosystem.
Gartner predicts that by 2020, 60% of digital businesses will suffer a major service failure because of IT teams’ inability to manage digital risks in new technology and use cases.3 Today, every business is vulnerable to the risks inherent to digitization, such as cyber theft, fraud and data loss, as nearly all organizations now interact with customers through a digital interface and increasingly depend on digital technologies for growth.
Digital risk comes in many forms, including defects that are not easily uncovered due to configuration errors, faulty integration procedures and workflow failings. Moreover, with increased customer preference for digital channels, businesses need to maintain the highest digital assurance possible to avoid irreparable damage to their reputation and bottom line.
While digital technologies are a source of new and unique business opportunities, they also introduce additional risks, some of which the digital technologies themselves can help to resolve. For example, through intelligent process automation (IPA), QA teams can ensure the consistency and accuracy of their business rules and processes.
Five Steps to Digital Assurance
To address these challenges, many IT organizations are reconsidering their centralized and standalone models of QA and are moving toward integrating the software development supply chain into the business. Digital businesses were the first to do this, with the goals of improving efficiency, boosting effectiveness and reducing time-to-market.
By implementing the Agile/DevOps philosophy and enforcing full lifecycle automation, QA organizations can yield just-in-time process improvement metrics, and establish continuous feedback and learning mechanisms that reduce errors and accelerate time-to-value, elevating digital assurance from an amorphous goal to a data-driven reality.
To deliver digital assurance, QA organizations must embrace the following five steps
(see Figure 1):
Focus on Frictionless Automation
Organizations should automate all “wait” time activities across the lifecycle to minimize cost and time-to-market. To move toward this goal, business should identify areas that can be completely automated and integrate them across the software development lifecycle, including requirements modeling, test design automation, test data automation, regression automation, service automation and non-functional automation.
Once these individual tracks are automated, the focus should shift to automate handshakes (interfaces) that accomplish the following:
Provide continuous integration for developers to integrate code in a single repository multiple times a day.
Invoke automation to compile and build applications without human intervention.
Offer release automation for packaging and deploying code.
Enable continuous delivery to make every atomic change releasable.
In our view, frictionless automation means enabling accelerated releases of applications into production while sustaining continuous feedback and improvement across the software development lifecycle (see Figure 2).
Case in point: A major retailer has achieved more than 80% regression automation and 30% functional automation by integrating its development, QA and operations teams in key business areas and enabling continuous delivery. Doing so has reduced the retailer’s time-to-market for software builds by 50% without negatively impacting quality performance. Having proved the concept, the company is now extending this philosophy across all lines of business within the organization.
Proactively Predict, Prevent and Detect Defects
The QA function needs to transition from a “project-oriented” mindset to a “competency-
based” one. Rather than serving as an instrument of measurement, QA needs to predict the resulting code quality, using measures applied to people, products, processes and profiles.
To develop a defect-prevention capability, QA organizations need to make extensive use of root-cause analysis, such as analyzing the correlation between defect occurrence and independent variables. Autonomic computing and IPA will also help drive this transition. As organizations continue to adopt “shift-left” approaches,4 QA experts will collaborate better with the rest of the IT function to foresee and prevent quality issues earlier in the lifecycle, thereby reducing the total cost of quality.
Similarly, “shift-right” approaches5 will help QA professionals collaborate better with the Ops function to facilitate release/deployment, and learn from post-production issues to predict and prevent quality issues. In effect, QA personnel will become DevQA6 when they shift-left, and OpsQA7 when they shift-right, which will serve to advance the enterprise’s digital business agenda. Reactive QA processes become proactive through quality intelligence and smart lifecycle platforms
(see Figure 3).
Case in point: Having built a robust metrics tracking and management process, a leading insurer sought options to drive shift-left efficiencies. The ability to prevent and then predict defects was achieved through a detailed analysis to identify defect origins and their correlation with associated test cases and functionality. By analyzing requirements deficiencies, environment challenges, configuration issues, flawed design, chaotic coding and release management practices, the insurer was able to isolate weak areas. It then prioritized preventive measures to keep the defects from occurring, identified high-risk releases and predicted possible defect incidences based on precision data correlation.
Shift to Competency Centers from Testing Centers of Excellence
In the spirit of achieving outcome-based models, organizations are pushing to convert mature testing centers of excellence (TCoE) into competency centers. These centers can focus on domain expertise relevant to the lines of business, lifecycle automation capabilities, Agile practices, industry regulations and non-functional capabilities, such as usability, performance, etc. Such a transformation will demand a re-skilling of QA professionals to enable their work in the competency center.
Case in point: Nearly every high-tech organization, especially in Silicon Valley, has stopped using independent QA functions. Instead, developers and quality engineers work together in pods to drive high-frequency release cycles, supported by specialists such as business analysts and technical leads. This approach enables them to focus on “competencies” and build focus groups with specialized domain or technology talent.
Such groups improve the productivity of the entire organization, not just a few isolated areas. In our experience, converting TCoEs to competency centers is easier than starting fresh because the discipline of the TCoE will enable QA to more quickly become integrated with the development and operations teams.
Invest in Intelligent Application and Lifecycle Management Platforms
Intelligent lifecycle platforms allow users to reverse-engineer the dynamic behavior of a given software application into layers of well-abstracted architecture, delivering quick insights into requirements traceability, defect prediction, data and infrastructure requirements, etc. This will help reduce and even eliminate wait time. The phased integration of QA with the software development lifecycle will imbue applications with the ability to self-learn and self-heal, thereby reducing the need for QA in the future.
In addition, QA requires platforms that can provide a 360-degree view of quality, combining both systems of engagement and systems of record.8 The agents of different phases of the software development lifecycle (analyst, programmer, architect, tester, etc.) require specialized views and capabilities to guide their actions. The intelligent platform should provide the necessary controls to enable continuous delivery.
Case in point: A leading U.S. telecommunications provider is building resiliency into its applications by allowing code to self-prepare test data and associated rules to auto-adjust the execution flow. This allows applications to self-heal and avoids costly delays due to the manual intervention that would have otherwise been needed. Comparing the time delays (application downtime due to quality issues) over a period of time, downtime was reduced by more than 90%. A critical success factor was the organization’s ability to enforce changes across the software development lifecycle processes and create a culture of collaboration among developers, QA professionals and the operations teams.
Assign Higher Priority to Customer Experience Testing, Graduating to Brand Assurance
At this stage, priorities will shift from application testing to customer experience testing. Test objectives will move beyond functional scenarios to quality through the eyes of real customers. Effort will be spent on replicating real customer scenarios, not just the applications, devices or channels being tested. Objectives, therefore, must address customers’ geographic and demographic characteristics (i.e., behaviors, preferences and usage).
This means QA organizations should focus not only on traditional test assets, but also on the type of testers required, depending on the demographics, geography, culture, etc. available on-demand to simulate real-world scenarios (i.e., crowd testers). Equally important are the platforms that help QA organize the activities of these on-demand testers. Such an “outside-in” testing approach and simulation of real-world customer types and scenarios will ensure that the customer brand is protected in each business application release. The QA organization will need to find a way to integrate real-world customer feedback for an enhanced customer experience.
Case in point: A leading hospitality chain is leveraging customer experience analysis to drive the changes and functionalities needed for its mobile applications. While it is still early, by leveraging direct consumer feedback, the company is able to successfully address customer desires and incorporate them as product features much more quickly than would otherwise be possible, reinforcing, if not advancing, its brand promise.
The importance of QA in today’s digitally-intensive marketplace extends well beyond the software development lifecycle. As QA transforms to meet and exceed ever-changing digital technology and business dynamics, it is important that leaders redefine the function’s role.
As automated tools, techniques and development methodologies enable integration of QA processes across the lifecycle, businesses are better positioned to respond to digital technology disruptions within compressed timeframes, protecting and even enhancing the brand value through a superior customer experience.
4. “Shift left” is the practice of focusing on quality from day one of a project in order to identify and fix defects as they arise. It also indicates continuous involvement of QA in the early phases of the software development lifecycle.
5. “Shift right” is the practice of focusing on quality post-deployment by collaborating with the operations function. This helps the organization understand customer-facing issues and use feedback to predict and prevent issues in early phases of the lifecycle.
6. DevQA refers to the QA professional who has been trained in software engineering principles and the underlying technology, improving the effectiveness of the partnership with software developers.
7. OpsQA refers to the QA professional who has been trained in the industry domain and operations discipline, such as configuration, release management and post-implementation support principles, increasing the effectiveness of the association with the business operations team.