Start with one real example
Show how a work order, booking or stock movement happens today. Identify who starts the task, who takes over and how you know it is complete. An anonymised example is a better starting point than a long feature list.
Separate rules from screens
Before implementation, I define required fields, allowed status transitions, permissions and corrections. If two people edit the same record, the application needs an explicit rule for accepting or rejecting their changes.
Agree on verifiable scope
The proposal describes the application, integrations, data transfer and acceptance checks. Importing old records, offline operation and mobile installation are separate requirements when needed. Price and schedule follow that specific scope.
Take a real task through the prototype
Reviewing the opening screen is not enough. Together, we walk through intake, corrections, cancellation and completion, then invalid inputs and network failures. Once the flow works, I refine the interface and connect the agreed services.
Move data with checks
Before migration, I examine columns, identifiers, duplicates and text encoding. A trial import runs separately; record counts and relevant totals are compared with the original. The source records remain available until the result is accepted.
Release with a way back
An update receives access checks, critical workflow tests and a backup plan. Guidance follows the agreed user roles. After release, reported issues and real usage inform subsequent changes.