Software Development Heuristics

for Interaction Designers

Quick—

Name the first users of your software designs.

Early adopters? Stakeholders? Usability testers?

How often do we consider, as a community with distinct needs, some of the earliest consumers of our design work: the software teams we rely on to build them?

The following heuristics were devised from interviews with software teams of all shapes and sizes, written by an interaction designer and former software developer, and intended to supplement traditional heuristics (Nielsen, Rosenfeld, etc.) that focus solely on end users.

Rather than watering down your designs to only the most easily implementable features, these heuristics will

Intent

All design choices are made for a reason.

Consistency

The same interactions are represented the same way throughout the design.

Thoroughness

The design comprehensively represents all system states, transitions, and modes of communication.

Inforealism

The design fully reflects the data to be displayed and captured.

Adaptation

The design indicates how the system will adapt to different form factors.

Maintenance

The design describes how users will administer the system.

Measurability

The design specifies what metrics will be collected to indicate the success of the system.

Communication

The design specifies how the system will communicate with users throughout the entire product experience.

Presentations

Software Development Heuristics for Interaction Designers

UXPA 2013 Annual Conference
Washington, DC · 12 July 2013

First Users: Heuristics for designer/developer collaboration

University of Illinois Web Conference 2013
Champaign-Urbana, IL · 16 April 2013

Downloads

Use these items to integrate Dev Heuristics into your team process.

Resources

Referenced in a presentation, or otherwise recommended.

Heuristics, Principles, Axioms

Inspirational Books

Design Patterns

Web Apps

  • Litmus
    Test e-mails on real e-mail clients.

Strategies & Techniques

Be in touch

While I've tried to capture input from many different developers and designers, my perspective is naturally limited. If you're trying to use these heuristics in your practice, please share your experiences.

—Jonathan Abbett