by Deepak Seth

How’s the ‘software factory’ going?

May 17, 2018
Artificial IntelligenceSoftware DevelopmentTechnology Industry

A software factory steadily humming along consistently and delivering quality output is the holy grail of software development.

marketing automation gears
Credit: Stockbyte/Thinkstock

Your IT organization is either already a “software factory” or aspiring to be one via digital transformation, devops, agile et al. Many leading consulting firms have opined about this emerging trend over the last few years:

What’s new about this? Some may ask. Automation has been a part of the evolution of IT for many decades now. However, this factory is not just about “automation” but is all about “Intelligent Automation.” This is automation driven by artificial intelligence. A BCG study points out:

“Today’s AI algorithms already support remarkably accurate machine sight, hearing, and speech, and they can access global repositories of information. AI performance continues to improve, thanks to deep learning and other advanced AI techniques, a staggering level of growth in data, and continuing advances in raw processing power.”

These developments have led to an explosion in AI-enabled business applications, some of which were showcased so effectively at the recent Google I/O Conference (valuable insights about where the future is headed per Google’s vision and trailblazing work in areas of artificial intelligence, natural language processing, machine learning, deep learning, text-to-voice, driverless cars etc.) 

Many players have made forays into machines writing code for machines:

The next evolutionary step in the continuum is to leverage AI capabilities to build a software factory. Like any other factory the software factory is essentially modular. One need not think of it as an end-to-end platform from day one. You can build “intelligent automation” into an existing software delivery organization in alignment with the spend and cost transformation initiatives underway or aligned with your delivery priorities and transform it to a “software factory” piece by piece.

I recently had a chance to catch up with Ram Shanmugam, co-founder and CEO of Autonomiq, an AI-based software vendor, who has considered QA/Testing to be the best place to start with the intelligent automation of the software factory. He elucidates the reasons as:

“……. we see QA as the low hanging fruit for companies to pick off. Why? It’s simple:

  • Software factories require high levels of automation and monitoring to be successful.
  • Companies frequently funnel the majority of their funds into development teams, leaving the rest of the factory behind.
  • QA processes need to focus on the intent of testing, not the repetitive functions such as generating and maintain scripts, provisioning data, or executing tests.
  • AI is robust and economic enough to make QA teams far more productive.”

“Artificial intelligence has arrived for software QA. As applications get more complex and agile timelines get shorter, QA teams have been squeezed to the breaking point,” says Kevin Surace, CEO of Appvance, another player in this field.

Testing/QA seems to be an area ripe for disruption. We have “old stack” players like CA and Microfocus. The “new stack” environment is fragmented among many players: scripting layer (Testcraft); data layer (synthetic data generation: CA; execution layers: SauceLabs).

So an offering for QA/Testing is likely to be highly disruptive by offering features like:

  • writing your test scripts in plain English
  • letting software translate the plain English to code
  • running and maintaining the scripts
  • using AI to generate data to avoid touching prod databases, allowing companies to move much faster and retool budgets towards value added resources
  • compiling results in plain English
  • dashboard, automated notifications
  • Audit trail

Some of the disruption will be driven by changing the nature of the developer-tester continuum. Right now there is lot of stop and go as developers wait for testing results to come back. By introducing this kind of intelligent automation in the mix the efficiency of the developers is enhanced as they can continually develop. The throughput of the entire software factory is enhanced as the QA/Testing bottleneck is alleviated.

Tools such as these will allow intelligent automation to be built into in-house test environments or with third party test vendors: both cases drive costs down, efficiency up. This would just be the beginning of intelligent automation of the software factory. One can expect it to spread to other “cells” which make up the software delivery assembly line in the foreseeable future. Stay tuned.