All articles

SOFTWARE ENGINEERING

From paper to code: map the workflow first

Start with records, responsibilities, and transaction boundaries before designing a new interface.

A workflow is more than a screen

A sale can affect several records: an order, a payment, and inventory. PostgreSQL transactions provide a way to group related database operations so they either complete together or are rolled back. This is a useful technical foundation for thinking about a business workflow, even before choosing the interface. The official transaction tutorial explains this behavior through a sequence of related operations. [1]

A practical mapping session

Begin with one real task. Ask who starts it, which information they need, what they change, and who checks the result. Write down the states that the task moves through, including cancellation and correction. Separate an editable draft from a completed record. A simple state map is often more useful at this stage than a collection of polished screens.

Next, identify the records that belong together. For a café order, this could mean the selected items and their quantities, the table, the operator, and the completion state. Decide what happens if a request is repeated or an operation stops halfway. These are design questions, not details to postpone until the interface is finished.

Deliver a small, inspectable change

Choose one task for the first delivery and define how the team will check it. Compare the stored records with the expected workflow, test corrections, and inspect what the user sees after a failure. Keep a short decision log so later modules can use the same rules. This suggested approach applies to a browser application or a native desktop workspace. The interface can change; the meaning of the records should remain clear.

Sources

  1. PostgreSQL: transactions