Operational mismatch
Recognize when standard software stops fitting.
Custom engineering should answer a structural operational problem, not a preference for owning code.
Overextended spreadsheets
A workbook has become the operating system
Replace fragile files with shared records, access controls, validation, and a traceable history of change.
Fragmented internal records
Departments hold different versions of reality
Give billing, fulfilment, support, and operations a consistent model for the records they share.
Rigid product workarounds
The tool dictates the operation
Consider owned software when product limitations create recurring manual work, risk, or commercial constraint.
Operational foundations
Records, access, and history you can trust.
A durable business system makes its data model, responsibilities, migration, and operating evidence explicit.
Durable data model
Records and transactions
Model entities, relationships, and transaction boundaries around the information that must remain correct.
Role-based access
Responsibility and separation
Give operators, managers, auditors, customers, and partners only the access their roles require.
Controlled migration
Historical data and cutover
Validate, import, and reconcile existing records with a tested migration and rollback approach.
Audit and reporting
Operational accountability
Make important changes traceable and provide exports and reporting that support actual decisions.
Build or buy
Compare fit and ownership, not licence price alone.
The decision should account for operational fit, lifecycle cost, control, portability, and the consequences of remaining constrained.
Prefer the standard option
Buy when the process is common
Choose an existing product when its rules, operating model, and total cost fit the work without consequential compromises.
Own the distinctive operation
Build when the mismatch is structural
Consider custom software when important workflows, permissions, records, or constraints cannot be represented responsibly by available products.
Plan beyond release
Account for total ownership
Evaluate hosting, support, security updates, data portability, documentation, and future change alongside the initial implementation cost.
Custom software questions
What should be understood before owning a system?
The decision reaches beyond implementation into migration, maintenance, data ownership, and long-term operating responsibility.
Related capabilities
Connected problems rarely stop at one boundary.
Explore the adjacent engineering capability when the same operational problem also involves another system, workflow, or user journey.
Start a conversation
Bring the workaround that has become the operation.
Share what the team uses today, where it stops fitting, and what must become more reliable. The answer may still be to configure or integrate an existing product.