From a feature request to a maintainable ERP workflow
A workflow is a product decision
When a request says 'add approval', the first question is who can move the record, what evidence must remain, and what happens after rejection. The endpoint comes later.
Name the states
A workflow becomes manageable when its states are explicit. Draft, submitted, approved, rejected, and cancelled are more useful than a growing collection of booleans.
Keep the audit close
Audit history should answer what changed, who changed it, and why. It is not a logging afterthought; it is part of the workflow's contract.
Design for the next exception
The first exception is never the last. A clear command boundary and a small policy layer leave room for the next rule without turning the application service into a paragraph.
Comments