Skip to content

Latest commit

 

History

History

quality-attributes-examples

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Quality Attributes Examples

Introdcution

Examples of Execution qualities, such as security and usability, which are observable at run time. Evolution qualities, such as testability, maintainability, extensibility and scalability, which are embodied in the static structure of the software system.

IEEE Recommended Practice

Examples based on IEEE Recommended Practice for Software Requirements Specifications

  • Performance requirements
  • Interface requirements
  • Operational requirements
  • Resource requirements
  • Verification requirements
  • Acceptance requirements
  • Documentation requirements
  • Security requirements
  • Portability requirements
  • Quality requirements
  • Reliability requirements
  • Maintainability requirements
  • Safety requirements

Users and developers

Users and developers typically want different kinds of quality attributes.

Important to usersImportant to developers
UsabilityMaintainability
AvailabilityScalability
ReliabilityTestability

Subjective and objective

Examples of subjective attributes and objective attributes:

SubjectiveObjective
FastWithin 1 second
EasyA majority of focus group users check the survey box "this is easy"
FrequentEvery hour on the hour
SecureAll password storage uses scrypt encryption
AvailableOur third-party monitoring service proves our uptime is 99% or higher

Big list of categories and examples

Accessibility:

  • Can a blind person navigate the site using a screen reader?

Accountability:

  • Does each image have a watermark or similar indicator of who owns it and the usage rights?

Accuracy:

  • Does an estimate come within 1% of the true value?

Adaptability:

  • TODO

Administrability:

  • TODO

Affordability:

  • Is our product priced within 10% of our competitor's similar product?

Agility:

  • How long does it take to go from a new idea to deploying the idea as a new feature?

Auditability:

  • How is information managed to ensure accuracy, warrantability, traceability, etc.?
  • What are the policies for company retention, legal discovery, regulatory compliance, etc.?

Autonomy:

  • TODO

Automatability:

  • Are we able to interaction with the system by using command line interfaces, scripts, etc.?

Atomicity:

  • How do we verify that a transaction is "all or nothing", rather than stuck at partially-completed?

Availability:

  • We are aiming for 99.99% uptime according to our monitoring service.
  • What are expectations for uptime, hours of operation, maintenance windows, outage mean time to recovery, etc.?
  • Where are the most important locations of operation, and are there any special connection requirements?

Capacity:

  • How many transactions does the system need to be able during normal usage and also at peak usage?
  • What resources are expected, in terms of memory, storage, processing, bandwidth, etc.?
  • What happens if the system ever exhausts a resource?

Compatibility:

  • Our API data conforms to the JSON specification.

Composability:

  • TODO

Configurability:

  • TODO

Controllability:

  • Can we control the state of the system by using administration tools?

Consistency:

  • To what degree are the system and its data consistent, such as changing only in allowed ways?

Correctness:

  • TODO

Credibility:

  • TODO

Customizability:

  • TODO

Debugability:

  • TODO

Degradability:

  • TODO

Determinability:

  • TODO

Demonstrability:

  • TODO

Dependability:

  • TODO

Deployability:

  • TODO

Discoverability:

  • TODO

Distributability:

  • TODO

Durability:

  • When a transaction is committed, is it preserved, even in the event of power loss, crashes, or errors?

Effectiveness:

  • TODO

Efficiency:

  • TODO

Evolvability:

  • TODO

Extensibility:

  • TODO

Failure transparency:

  • TODO

Fault-tolerance:

  • How will the system handle failures?
  • What are the goals for fault trapping?

Fidelity:

  • TODO

Flexibility:

  • TODO

Heterogeneity:

  • To what extent do we use diverse technologies, such as multiple programming languages and frameworks?

Homogeneity:

  • To what extent do we use the same technologies, such as one programming language and framework?

Inspectability:

  • TODO

Installability:

  • TODO

Integrity:

  • What are goals for consistency of events, values, methods, measures, expectations, and outcomes?
  • Are there needs for application integrity, such as checksumming binaries, or signing transactions, etc.?
  • Are there needs for data integrity, such as referential integrity, or randomness guarantees, etc.?

Interchangeability:

  • TODO

Interoperability:

  • TODO

Instrumentability:

  • To what degree is it possible to instrument the system?

Isolateability:

  • To what degree are items are kept separate, such as for ACID transactions or testing?

Learnability:

  • TODO

Maintainability:

  • How easily can the system be maintained?
  • What are the goals for conformance to best practices, coding standards, enterprise architecture patterns, etc.?
  • What documentation is needed for the system, training, versioning, etc.?

Manageability:

  • TODO

Mobility:

  • TODO

Modifiability:

  • TODO

Modularity:

  • TODO

Monitorability:

  • the degree to which it is possible to monitor the system.

Observability:

  • the degree to which it is possible to observe the system.

Operability:

  • TODO

Orthogonality:

  • TODO

Portability:

  • TODO

Precision:

  • TODO

Predictability:

  • TODO

Process capabilities:

  • TODO

Producibility:

  • TODO

Provability:

  • TODO

Recoverability:

  • What is the disaster recovery plan?
  • What is the data policy for backups, retentions, proof of fitness for recoverability, fire drills, etc.?
  • Are there any sensitive data that involves special handling because of privacy, or legality, or other reasons?
  • What are the Recovery Point Objectives (RPO) and Recovery Time Objectives (RTO)?

Relevance:

  • TODO

Reliability:

  • Mean Time Between Failures (MTBF): what are the acceptable thresholds for outages, down time, material errors, etc.?
  • Mean Time To Recovery (MTTR): if something breaks, how much time is expected to get everything corrected and running?

Repeatability:

  • TODO

Reproducibility:

  • TODO

Resilience:

  • TODO

Responsiveness:

  • How fast are response times for browser page loading, API responses, software downloads, etc.?
  • What is the process for tracking query times, reporting times, ETL times, etc.?
  • Throughput

Reusability:

  • TODO

Robustness:

  • How will the system handle failures?
  • What are the goals for fault trapping, application hooks, SMNP, etc.?

Safety:

  • TODO

Scalability:

  • TODO

Seamlessness:

  • TODO

Self-sustainability:

  • TODO

Serviceability:

  • TODO

Securability:

  • How are authentication credentials encrypted and managed?
  • How are authorization access control rules managed?
  • Do passwords have any requirements, such as length, special characters, expiry, recycling policies, multi-factor authentication (MFA)
  • What are the encryption requirements for data in flight and/or data at rest?
  • What is the policy if someone reports a possible data breach?
  • SSL implementation
  • Password policy
  • Integrity of accounts
  • Data confidentiality
  • Processes for authentication and authorization PCI compliance Non-repudiation Encryption

Separability:

  • The extent to which each item has a single well defined responsibility.

Simplicity:

  • TODO

Stability:

  • TODO

Standards compliance:

  • What standards are involved, such as ISO, IEEE, Internet RFCs, etc.?
  • What are the goals for conformance to Enterprise Architecture standards, technical design standards, coding standards, etc.?
  • What automatic standards validators are available, such as code quality metric tools, source code linters, etc.?

Supportability:

  • TODO

Survivability:

  • TODO

Sustainability:

  • TODO

Tailorability:

  • TODO

Testability:

  • TODO

Timeliness:

  • TODO

Traceability:

  • TODO

Transparency:

  • TODO

Ubiquity:

  • TODO

Understandability:

  • the system items are self-explaining, or documented, or diagrammed, etc.

Upgradability:

  • TODO

Usability:

  • How are we measuring customer sastisfaction?
  • Are there goals or standards for user interfaces, look and feel, keyboard navigation, image alt tags, etc.?
  • What are the needs for internationalization, localization, languages, spellings, regional keyboards, etc.?
  • What help is available for the users?
  • See also: Learnability, Efficiency, Memorability

Warrantability:

  • for guarantees or promises, express or implied, such as for legal contracts, SLAs, and QoS.