Testing Services provides a platform for QA professionals to discuss and gain insights in to the business value delivered by testing, the best practices and processes that drive it and the emergence of new technologies that will shape the future of this profession.

« Agile and testing: What banks need to know | Main | Data validation nuances for unifying Omnichannel data »

Lift the curb on Performance Engineering with Innovation

Author: Sanjeeb Kumar Jena, Test Engineer

In my previous two blogs, I discussed about bringing pragmatism and a cultural mind-set change to performance engineering teams. In this blog, we will evaluate the outcome of these shifts during the transformation journey from performance testing (only limited to quality assessment phase of software applications) to performance engineering (covers the entire life-span of software applications to ensure higher return on investment).

For performance engineering teams, the return on investment (ROI) is the long-term brand value (that is measured through revenues and lasting customer relationships) and end-user satisfaction (that is the result of higher performance at scale).

However, these metrics are not new to the regular performance testing (PT) approach that uses agile methodologies such as Scrum, Sprint planning, continuous reporting and feedback, etc., to achieve the required ROI.

Then, Why is innovation required here? 
 What does innovation mean here?
 How do we apply or better create a platform for continuous innovation in performance?

Why is innovation required?

From the early ages of written language to the era of the Internet of Everything (IoE), communication between two entities -- producer and consumer -- is the de facto enabler for any business. Producers (aka business owners) send their value (information on services / products offerings) to their consumers through communication channels. The higher the performance of the channel, the better the consumer growth, hence the greater the service and business growth.

Nowadays these communication channels have taken the form of consumer-driven applications that are available on every type of device. Consumers are using apps on desktops, mobile phones, wearable devices, and cloud-enabled physical appliances (IoT devices); anytime and from anywhere.

The exponential growth in computation power with lower price / performance ratio and democratized low-cost manufacturing have catalyzed billions of online users who access these applications.

Rapid implementation of open source technologies in application development and delivery has shifted the customer relationship paradigm towards a stack of diversified technologies.

To keep pace with this exponentially growing trend, in both customer accessibility and open source application development paradigms, the performance engineering market is also accelerating at a similar rate.

In the current knowledge-sharing and data-driven economy, performance is not only limited to continuously testing your application against an expected load (number of users) and updating it in an agile way, but performance means analyzing  customer behavior (evaluate how people are using the features) to ensure scalability and reliability. So, today's performance engineering tools include data analytics, machine learning, artificial intelligence (AI), code-level diagnosis, application performance management (APM), operations management, automation, etc.

That's why, the available tools and technologies (open source and enterprise) in this landscape are growing at an exponential rate. Numerous vendors compete with tools that provide approximately similar functionalities.

So, how does an industry choose the better one?

Surely evaluating performance capabilities of tools through existing customers' feedback or listing of features is not enough. What fits the bill is to validate the tools for the application in the industry's environment in a rapid experimentation approach. If not available, enterprises can build a new solution on what's already available.

This is where innovation comes into place.

Innovation is not about inventing something new out of nothing; instead it's an experimentation approach where you try out different options, integrate the best ones, and build the framework / tool that works for you.

Innovation is the creative process, not the end result. As Steve Jobs mentioned, "Creativity is about connecting things," so innovation is about experimenting and finding the pieces to be connected.

It's a fact that the current approach towards performance engineering ensures a steady state in customer value. However, in order to keep pace with rapidly growing technologies and methodologies in the performance industry, it is advisable to create a platform for innovation to Be More.

How do we create a platform for innovation?

Clayton M. Christensen in his book titled 'Innovator's Dilemma' mentioned that large companies have certain barriers to innovation which make it difficult to invest in disruptive / emerging technologies early on, because they have an 'established customer base,' to which they must stay accountable. These customers often ask for better versions of current products rather than opting for new technologies. Thus, the company wants their resources to focus on activities that address customers' needs and promise them higher profits, technological feasibility, and play in existing markets.

So, in order to enable innovation (experimentation process) or solve an innovator's dilemma, we need to engage in discovery-driven planning, in which we operate on the assumption that new markets cannot be analyzed and instead rely on learning by doing (rapid prototyping / experimentation) and real-time adjustment of strategy and planning.

The same concept can be applied to bring the innovation spirit in performance engineering.

First, it requires an environment that provides an opportunity for teams to experiment with many tools / technologies (open source or enterprise) in PE industry. The managed cloud environment (Amazon Web Services, Microsoft Azure, and OpenStack) is a cost-effective and easy-to-setup solution through a protocol of try-fail-learn-again-try-success in a rapid iterative manner (rapid prototyping).

In  coming blogs, we will discuss on the process of setting an online experimentation lab for performance engineering on cloud.

The Infosys approach to innovation

Infosys is rolling out its innovation strategy, called the AiKiDo principle, across its delivery units. It is combining AI-based knowledge discovery, platform automation, and process empowerment with Design Thinking. The same AiKiDo principle can be used for innovation in performance engineering teams. It is driven by three main elements -- machine learning based predictive analytics, DevOps or automation, and Design Thinking.

First, machine learning based predictive analytics can be applied on data generated by load testing tools and the application logs. Instead of targeting values of defined performance KPIs, this approach can build new predictive models based on newly found patterns. Knowledge discovery in performance is a competitive advantage over defined reports.

Second, the DevOps or automation approach can make the validation process effective and less time consuming. Automating server orchestration, data management, and log management and integrating performance testing in application continuous integration (CI) / continuous development (CD) pipeline can reduce the time-to-market with higher performance management.

Third, Design Thinking simply means a way of problem solving by using a mindset of 'building for people' through empathy and collaboration. Performance engineering is more about collaboration amongst all stakeholders who consider performance as key goal from the early days of development to deployment.

Innovation happens when everyone participates in problem solving or solution design process. When people are working on something exciting that can impact other lives positively, the need to promote innovation strategies becomes redundant. That's because the vision and contribution mindset pulls the urge to innovate in the team.

So it's really important to build a platform for innovation -- an online experiment lab where engineers can try out many solutions (instead of just few) in a rapid prototyping environment and choose the better solution that's validated through facts or knowledge.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

Please key in the two words you see in the box to validate your identity as an authentic user and reduce spam.

Subscribe to this blog's feed

Follow us on

Infosys on Twitter