Start with workflow depth
A workflow with one actor and one state is different from a process involving multiple departments, approvals, escalations and exceptions. Map the states before estimating the interface.
Roles and permissions compound complexity
Every meaningful role can change what data is visible, what actions are permitted and how the workflow branches. Role-based behavior should be designed early.
Integrations and migration are real product scope
Legacy data cleanup, system APIs, identity, ERP/CRM integration and reconciliation frequently carry more uncertainty than new UI. Validate external dependencies before committing to a narrow estimate.
Administrative and support surfaces matter
Custom software needs ways to manage accounts, correct errors, inspect workflows, configure safe settings and support users. These surfaces are often omitted from first-pass estimates but essential at launch.
Build vs. buy changes the calculation
Compare the long-term cost of custom software with licensing, manual workarounds, integration burden, operational risk and lost differentiation. Custom is not automatically better just because it fits perfectly.
A useful estimate is an architecture document
The estimate should reveal modules, assumptions, external dependencies, release boundaries and risk. If it is only a total number, it is difficult to reason about what changes the number.