A-Z Popular Blog Software Quality Search »
Hardcoding vs Softcoding
 Advertisements
Related Guides
Software Quality
Key Concepts
Software Entropy

Software Quality
Software Quality

Quality

Appellation

Availability

Cost Of Poor Quality

Critical To Quality

Document Quality

Ease Of Use

Elegance

Fit For Purpose

45 Examples of Software Quality

 , updated on
Software quality is the degree to which software serves its purpose. This includes business functionality, usability and operational characteristics such as availability. The following are common examples of software quality.

Accessibility

User interfaces that are accessible to people with disabilities.

Accuracy

Software that implements requirements correctly. In many cases, requirements are open to interpretation making this a bit tricky. It is possible to design requirements as logical statements and then prove that an implementing procedure is correct. In practice, correctness is usually something of a judgement call.

Adaptable

Software that easily adjusts to change. For example, an application that can be adapted to use different data sources.

Aesthetics

In many cases, users will end up spending thousands or perhaps millions of hours looking at a user interface. As such, aesthetics are often considered a software quality factor.

Algorithms

Algorithms are procedures that have a rigorous design. In order to be truly rigorous, they are hardened with techniques such as peer review and mathematical proofs. In many cases, quality control of algorithms requires novel approaches due to their complexity and need for high performance and correctness.

Architecture

The structure of software and how it fits into an enterprise architecture.

Audit Trail

Logs and other recordings that allow events to be reconstructed for the purposes of audit or investigation.

Authentication And Authorization

Determining the identity of people and things and using identity to control access to information and actions. A focus of security assurance.

Availability

Software that is designed for high availability.

Behavior

Conformance to behavioral specifications such as use cases.

Code Readability

Code that is intelligently documented and formatted with clearly named variables. Programming style and skillful use of language facilities are also readability factors.

Code Smell

A term for code that is generally sloppy with problems such as lack of structure and source that looks as if it has been pasted from somewhere with little thought or skill.

Complexity

Complexity tends to increase costs to maintain, support and extend. Ideally code is no more complex than required to achieve its functionality, behavior and quality.

Compliance

Compliance to laws, regulations and standards.

Consumability

Software that is easily consumed meaning that users and business units can adopt it with little effort. Think of a mobile application that feels intuitive from the start.

Defects

Software that has undergone rigorous testing and is free of defects meaning that it conforms to specifications.

Design

Software that has a cohesive design that achieves both short term and long term needs of a business. This typically requires a skilled architect well versed in your business and practices such as patterns.

Documentation

Documentation such as requirements, non-functional requirements, architecture, design, test cases and operational tools such as a runbook.

Durability

Software that resists the effects of software entropy or the tendency for software to become error prone and brittle with time.

Efficiency

Software that uses resources such as memory, computing cycles and bandwidth efficiently.

Elegance

Code that is remarkable for its unusual power and simplicity. At its best, programming is more art than science with vast differences in ability between programmers. The elegance of code is a qualitative judgement that can be established by peer review.

Error Reporting

The usefulness and security of error messages, logs and other error reporting mechanisms.

Extensible

Software that is easy to extend with new functionality.

Fault Tolerance

The ability to continue to operate when errors are encountered. Fault tolerance is often left to the programmer but it has a significant business impact that calls for requirements such as expected behavior when resources such as a network connection are lost.

Functionality

Conformance to functional requirements such as business rules.

Hardcoding vs Softcoding

Hardcoding is the practice of embedding functions and values in code. Softcoding is the placement of values in configuration and parameters. Both inappropriate hardcoding and excessive softcoding are common software quality problems.

Human Factors

Designs and features that incorporate human cognitive factors such as validations to prevent human error.

Interoperability

The ability to work seamlessly with other software and devices.

Maintainability

Easy, inexpensive and low risk to maintain.

Modular

Software that is divided into independent reusable components.

Operable

Interfaces, tools and reporting that reduce the operating overhead of software. For example, an administration console that simplifies common operational tasks.

Performance

Speed of execution under a variety of load conditions.

Portability

Software that can be used in different environments such as operating systems, platforms and devices.

Privacy

Privacy controls on data.

Reliability

Performs consistently without seemingly intermittent or unpredictable behavior and errors.

Requirements Quality

Software is garbage in garbage out and depends on the quality of its requirements. As such, the common definition of software quality as "conformance to specifications" represents a narrow viewpoint.

Reusable

Platforms, libraries, components and methods that encapsulate reusable functionality behind a useful interface.

Risk Managed

The practice of identifying and treating risks related to software.

Robustness

Another common term for fault tolerance, or the ability to continue when errors are encountered.

Scalable

Software that performs proportionally to available resources. Associated with distributed systems such as cloud platforms or peer-to-peer software.

Stability

Software that doesn't crash. Stability is commonly measured with nines such as 99.99% or 99.999% uptime.

Testability

Testability mostly relates to documentation such as requirements and test cases. In many cases, legacy software lacks the information required to properly regression test.

Transactional Integrity

The integrity of transactions at the business level such as a money transfer that either succeeds or fails with nothing inbetween.

Usability

A user interface that is pleasing and productive to use.

Vulnerability

A vulnerability is a flaw or weakness in software that can be exploited by a security threat. In many cases, software undergoes a security assurance process that validates designs and tests for vulnerabilities.

Software Quality

This is the complete list of articles we have written about software quality.
Availability
IT Examples
Quality
Software Quality
If you enjoyed this page, please consider bookmarking Simplicable.
 

Software Quality

A list of software quality factors.

Design Debt

An overview of design debt.

Software Examples

An overview of software with real-world examples.

Problem Solving

An overview of problem solving with examples.

Thought Processes

A list of thinking approaches and types.

Workaround

A definition of workaround with examples.

Creative Thinking

A list of common creative thinking techniques.

Problems

A list of common types of problems.

Analysis Paralysis

The definition of analysis paralysis with examples.

Arrow Of Time

The definition of the arrow of time with examples.

Business Problems

An overview of common business problems.

Decision Framing

The definition of decision framing with examples.

Research

The common types of research.
The most popular articles on Simplicable in the past day.

New Articles

Recent posts or updates on Simplicable.
Site Map