Key features of effective software development?

Artificial intelligence (AI): AI enables software to emulate human decision-making and learning. Neural networks, machine learning, natural language processing and cognitive capabilities present developers and businesses with the opportunity to offer products and services that disrupt marketplaces and leap ahead of the competition.
Cloud-native development: Cloud-native development is a way of building applications to exploit cloud environments. A cloud-native application consists of discrete, reusable components known as microservices that are designed to integrate into any cloud environment.
Cloud-based development: Just as IT organizations look to the cloud to improve resource management and cut costs, so do software development organizations. In this way, the cloud can be used as a fast, flexible and cost-efficient integrated development environment (IDE) or development.
Blockchain: Blockchain is a secure, digitally linked ledger that eliminates cost and vulnerability introduced by parties like banks, regulatory bodies and other intermediaries. It is transforming businesses by freeing capital, accelerating processes, lowering transaction costs and more.

  • Low code: Forrester defines low code as: “Products and/or cloud services for application development that employ visual, declarative techniques instead of programming and are available to customers at low- or no-cost in money and training …” In short, it’s a development practice that reduces the need for coding and enables non-coders or citizen developers to build or help build applications quickly and at lower cost.

It is a world of difference between a truly effective software development and routine. Development of customized software is one of the main ways in which companies can improve their business processes and ensure that their performance is a growth-oriented business. So how do you know that the software developed is effective and meets all customer expectations?
As per my understandings below are the features would make a software more effective.
Correctness,Usability.Efficiency,Reliability,Accuracy,Maintainability,Reusability,Readability,Testability