The Economic Consequences of Neglecting AI in Software Quality Control

The Economic Consequences of Neglecting AI in Software Quality Control

Leading a software product development business is much more than leading software engineering.

Success is measured in terms of overall economic results.

How often do company leaders discuss the economic tradeoffs of having

  • Rigid versus flexible org structure,
  • Continuing with manual versus building automated testing,
  • Project versus team funding,
  • Top-down versus bottom-up decisions,
  • Betting on managers versus Scrum Masters,

and such?

Let's discuss the risks and the costs associated with quality and tradeoffs related to automation vs. manual testing.

The problem exists since engineers can modify and build the system successfully, which will work but not as intended.

What risks are associated with writing or modifying just one line of code in a complex software system?

There are numerous, and each has its associated cost.

To name a few:

  • Causing regression without awareness
  • Creating sub-optimum solution
  • Impacting performance
  • Impacting security
  • Introducing unwanted behavior (sometimes unethical)
  • Introducing duplicate functionality
  • Missing a corner case scenario
  • Overloading system
  • Using deprecated dependency (which causes a loss of effort)
  • Using old technology
  • Introducing residual problems
  • Complicating code
  • Introducing a resource leak
  • Using wrong data
  • Creating wrong or inconsistent data
  • Causing data loss
  • Passing redundant data
  • Missing vital information
  • Depending on unreliable code
  • Confusing AI machine learning process with the bad data
  • Simply using ineffective coding practices

Some of the issues, when realized, may cause immediate and devastating damage, while others may slowly "eat" your budget.

For instance, a security breach will work like a land mine, and you'll never know WHEN it'll trigger and cause a disaster.

How to control all the parameters of quality at all times?

Would you delegate it to a developer and rely on a human to keep track of all the aspects of quality?

All software engineers have different skills and different levels of expertise.

So, it is inconsistent.

How can many people organize a collaborative development without constantly introducing small and big problems?

From the very beginning of the software engineering discipline, people realized that keeping all the problems and issues in the code AWAY from the "green" production codebase is beneficial.

EACH engineer must be able to filter out ALL the problems in the code before it becomes shared with the rest of the engineers.

This hard work of filtering could ONLY be accomplished by a machine aware of ALL the work being done in the system.

Having an efficient filter that can verify any new line of code in a matter of minutes or seconds enables each individual engineer in the group to rapidly develop the system without regression.

Failure to invest in creating such a filter will result in "quality debt."

The cost of this debt has multiple components and will be associated with the following.

  • Delays in revenue due to slowness of development (as engineers will be distracted by fixing defects)
  • Loss of opportunity to capture new markets (due to slowness of development)
  • The slowness of defect resolution (as there will be more defects than engineers to resolve them)
  • Reduced value of the product (due to quality issues)
  • Operational costs (to support customer requests)
  • Impact on revenue due to product returns
  • Loss of reputation resulting in reduced sales

Seems like the economic tradeoff between the cost of quality and the costs associated with inferior quality shifts drastically toward automation.

Think of it in 3 folds:

  • Time to create and maintain automation vs. time to fix defects. In most cases, it could take half time for both. Over time the effort to fix defects could start to outweigh the effort to maintain automation.
  • Operational costs, returns, and escalations, including those involving higher management. Each defect resolution may cause several thousands of US dollars from the moment of reporting till the moment of delivering a fix. This component also measures against the effort to automate the tests and build the infrastructure. It can easily exceed the costs of automation.
  • Costs of business opportunities and reputation. Those costs are the hardest to measure, but they are always present. Most business people in any company say that development is too slow and doesn't catch up with the pace of business opportunities.

Traditionally, companies do not quantify the costs but instead apply affordable solutions based on the available budget and leave the rest to manual testing based on the workforce hired to do the best they can.

Such an ad-hoc approach inevitably forces companies to organize releases in big batches delivered infrequently.

Infrequent delivery and delays in getting customer feedback results in slow decision-making, which brings additional costs and risks of missing market opportunities, patch processes, and long-living defects.

How AI changes the situation?

There are various AI-powered tools to build automated tests. Some popular ones include:

  • Test.ai
  • Appvance AI
  • Functionize
  • Reflect.run
  • TestCraft (Perfecto)
  • Mabl

These tools use machine learning and natural language processing techniques to help automate the test creation process, making it faster and more efficient.

There's good news and bad news about it.

The good news is that AI can write 100% of tests and refactor the code to be more testable when applied skillfully.

This means that the companies which manage to delegate quality to AI will achieve superior results in no time.

The learning of the AI will be achieved through interaction with the users, who will point out the issues missed by AI.

The bad news is that the companies which do not start to invest in AI now will soon be outperformed and pushed out of the market.

It will soon be irresponsible to even think about relying on a human to test the product.

But overall, we'll see many more high-quality solutions in the market, raising our standards and experiences to unseen levels.

We all will become quality experts.

There's no other way.

?

Send me a message to connect and learn more.

Join the upcoming Live LinkedIn webcast "Agile metrics for making a strong business case"

#doublethroughput #agile #leadership #growth #nimbleteams

Chaz Horn

The B2B Blueprint To Predictable Sales Aligns Sales & Marketing & Starts w/ The Intention To Serve **Life Change Speaker**

2 年

Great read and very relevant?????? Vladimir Bushin

回复

要查看或添加评论,请登录

Vladimir Bushin的更多文章

社区洞察

其他会员也浏览了