Loading1%
Software Engineering8 min read03 / 06

Designing software around real workflows

Reliable internal software begins with states, responsibilities, exceptions, and handoffs—not a dashboard assembled before the work is understood.

Written byRadiaix EditorialProduct, design, and engineering
A laptop displaying a code editor at a development desk
Radiaix / field notes03
Custom softwareOperationsSystem design
01

Observe the work before modeling it

A process diagram rarely captures the whole process. People remember missing information, correct unusual cases, and coordinate through messages or spreadsheets that never appear in the official workflow.

Talk to the people doing the work and follow a few real cases from beginning to end. Record where information originates, who changes it, what causes delay, and how people recover when the expected path breaks.

02

Model states and responsibilities

Screens are temporary; state transitions are the system. Define what an item can be, what moves it from one state to another, and which role is allowed to make that change.

This model becomes the foundation for permissions, notifications, audit history, reporting, and integrations. When it is clear, the interface can explain the work rather than compensate for uncertain rules.

  • Use explicit names for meaningful states.
  • Record who or what caused each transition.
  • Keep required information close to the decision that needs it.
  • Distinguish reversible actions from consequential ones.
03

Design the exceptions early

Operational tools earn trust when they handle imperfect reality. Missing records, duplicate requests, rejected approvals, unavailable integrations, and changes after completion are product scenarios, not implementation details.

Designing these paths early makes the happy path simpler because the system no longer needs ambiguous shortcuts. It also gives QA a concrete risk map.

The quality of workflow software is often most visible when the expected path stops being available.
04

Make adoption part of the system

A technically correct product can still fail if people cannot see what changed or why it helps. Plan migration, permissions, training, support, and feedback alongside feature delivery.

Release to a focused group, watch how real work moves through the system, and improve the model before expanding it. Adoption is a product outcome, not a post-launch communication task.

Key takeaways

The short version.

04 practical notes
  1. 01Trace representative work from trigger to completion before designing screens.
  2. 02Treat state, permissions, and responsibility as one connected model.
  3. 03Make exception paths part of scope and QA from the beginning.
  4. 04Plan migration and adoption with the product, not after it.

Turn insight into action

Ready to make the next product decision clearer?

Use the thinking from Designing software around real workflows as a starting point, or bring us the challenge your team is working through.