Skip to content
IRC-CodingIRC-Coding
User ExperienceUXUsabilityAccessibilityUser TestingSoftware Quality

Software Quality: UX, Usability & Accessibility

Master UX design, usability, accessibility, and user testing. Best practices for building user-friendly software.

S

schutzgeist

3 min read
Software Quality: UX, Usability & Accessibility

Software Quality and Usability

Usability is a quality characteristic that describes how easily software can be understood, learned, and used by its users.

In a Nutshell

Usability means that software is intuitive, efficient, and satisfying to use. Key factors: UX design, accessibility, user testing, feedback loops.

Technical Overview

Usability is a quality characteristic defined in ISO 25010 that describes how easily software can be understood, learned, and used by its users. It encompasses usability itself (effectiveness, efficiency, satisfaction), accessibility, and user experience (UX). Usable software reduces training costs, errors, and dropout rates.

Usability Principles

1. Effectiveness

Can users accomplish their goals?

// Poor: Goal unclear
<button>OK</button>

// Good: Goal clear
<button>Complete Order</button>

2. Efficiency

Can users reach their goals quickly?

// Poor: Too many clicks
Dashboard → Settings → Account → Change Password

// Good: Direct access
Settings → Change Password

3. Satisfaction

Is the experience pleasant?

// Poor: No feedback
await saveData();

// Good: With feedback
await saveData();
showNotification('Data saved!');

Accessibility

WCAG Principles

PrincipleDescriptionExample
PerceivableContent is perceptibleAlt text for images
OperableUsers can navigateKeyboard navigation
UnderstandableContent is clearPlain language
RobustWorks with assistive techScreenreader compatible

Examples

<!-- Poor: No alt text -->
<img src="chart.png" />

<!-- Good: With alt text -->
<img src="chart.png" alt="Revenue growth 2024: +15%" />

<!-- Poor: No label -->
<input type="text" />

<!-- Good: With label -->
<label for="email">Email</label>
<input type="text" id="email" />

<!-- Poor: No focus management -->
<button onclick="openModal()">Open</button>

<!-- Good: With focus management -->
<button onclick="openModal()" aria-expanded="false">Open</button>

User Testing

Methods

MethodDescriptionWhen
Usability TestingObserve users performing tasksDesign phase
A/B TestingCompare variationsDevelopment
Heuristic EvaluationExpert reviewAnytime
SurveysUser questionnairesPost-launch

Example Test

// Usability test: Registration
const testScenarios = [
  {
    task: 'Create a new account',
    steps: [
      'Click Register',
      'Fill out form',
      'Confirm email'
    ],
    successCriteria: 'Completed in < 2 minutes'
  }
];

UX Design Principles

Jakob’s Law

Users behave in ways they’re already familiar with from other websites.

// Poor: Unfamiliar pattern
<button>Proceed to next stage</button>

// Good: Familiar pattern
<button>Continue</button>

Fitts’s Law

The time to reach a target depends on its size and distance.

// Poor: Small button far away
<button style="padding: 4px; margin-left: 500px">Submit</button>

// Good: Large button close by
<button style="padding: 16px; margin: 8px">Submit</button>

Hick’s Law

Decision time increases with the number of options.

// Poor: Too many options
<select>
  <option>Option 1</option>
  <option>Option 2</option>
  <!-- 20 more options -->
</select>

// Good: Grouped options
<select>
  <optgroup label="Category A">
    <option>Option 1</option>
  </optgroup>
  <optgroup label="Category B">
    <option>Option 2</option>
  </optgroup>
</select>

Best Practices

  • Progressive Disclosure: Reveal information gradually to avoid overwhelming users
  • Consistency: Maintain unified design patterns
  • Feedback: Provide immediate responses to user actions
  • Error Prevention: Prevent errors rather than just reporting them
  • Accessibility: Comply with WCAG 2.1 AA standards

Key Takeaways for Review

  • Usability according to ISO 25010: effectiveness, efficiency, satisfaction
  • WCAG principles: Perceivable, Operable, Understandable, Robust
  • UX principles: Jakob’s Law, Fitts’s Law, Hick’s Law
  • User testing: Usability testing, A/B testing, heuristic evaluation
  • Accessibility: Screenreaders, keyboard navigation, alt text

FAQ

1. What is usability?

The ability to understand, learn, and use software with ease.

2. What does usability mean?

Effectiveness, efficiency, and satisfaction in use.

3. What is accessibility?

Ensuring software is usable by people with disabilities. Governed by WCAG standards.

4. What is WCAG?

Web Content Accessibility Guidelines. Principles: Perceivable, Operable, Understandable, Robust.

5. What is Jakob’s Law?

Users expect your interface to behave like other interfaces they already know. Consistency matters.

6. What is Fitts’s Law?

The time to reach a target depends on its size and distance. Make buttons large and nearby.

7. What is Hick’s Law?

Decision time increases with the number of choices. Fewer options is better.

8. What is user testing?

Observing users perform tasks to identify usability problems.

9. What is A/B testing?

Comparing two variations to determine which performs better.

10. What is heuristic evaluation?

Expert review based on established usability principles.

11. What about alt text for images?

Descriptive text for screenreaders. Use empty alt text for purely decorative images.

12. What is keyboard navigation?

All interactive elements must be reachable and operable via keyboard.

13. What is progressive disclosure?

Show information gradually to prevent cognitive overload.

14. What about screenreader compatibility?

Use semantic HTML, ARIA attributes, and proper focus management.

15. What’s the difference between UX and usability?

Usability is part of UX. UX encompasses the entire user experience; usability focuses specifically on how easy the product is to use.

Continuing Your Software Quality Learning Path

All articles in the software quality learning path are now complete. Return to the Software Quality Learning Path Overview.

Sources

  1. https://iso25000.com/index.php/en/iso-25000-standards/iso-25010.html
  2. https://www.w3.org/WAI/WCAG21/quickref/
  3. https://www.nngroup.com/articles/ten-usability-heuristics/

To deepen your understanding of usability, UX, and software quality, we recommend the following books:

Software Engineering

Books about software quality, clean code, code reviews and software development processes

Clean Code: A Handbook of Agile Software Craftsmanship von Robert C. Martin

Clean Code: A Handbook of Agile Software Craftsmanship von Robert C. Martin

Bei Amazon ansehen

Affiliate-Link: Bei einem Kauf erhalten wir möglicherweise eine Provision.

The Pragmatic Programmer: Your Journey to Mastery von David Thomas, Andrew Hunt

The Pragmatic Programmer: Your Journey to Mastery von David Thomas, Andrew Hunt

Bei Amazon ansehen

Affiliate-Link: Bei einem Kauf erhalten wir möglicherweise eine Provision.

Back to Blog
Share:

Related Posts