A manufacturing company bought a comprehensive operations management platform. Six months and $200K later, they abandoned it. The software worked—technically. It just didn't match how they actually operated.
This pattern repeats constantly. Organizations buy generic tools, spend months configuring them, train staff, integrate systems, and then realize: the tool doesn't fit the workflow. People work around it. Spreadsheets proliferate. The expensive platform becomes shelfware.
The problem isn't the tools. Generic platforms serve generic processes well. The problem is assuming your operations are generic when they're not.
Why Generic Tools Fail
Generic software fails operational teams for predictable reasons:
1. Your Workflow Isn't Standard
Generic tools assume standard workflows. Request → Approval → Execution → Done. Real operations are messier.
Example: A field service company bought dispatch software designed for standard routing. Their actual workflow: Customer calls. Dispatcher checks technician location, skill level, current workload, parts inventory, and customer history. Assigns based on complex rules. Technician arrives, discovers problem is different than described. Needs approval for additional work. Contacts dispatcher. Dispatcher checks customer credit, gets verbal approval, texts technician. Technician completes work, realizes needs different part. Calls warehouse. Warehouse checks inventory across three locations.
The dispatch software handled "assign technician to job." It didn't handle the fifteen contextual decisions, exceptions, and communications that constitute actual dispatch work.
2. Exceptions are Your Normal
Generic tools optimize the happy path—the 80% of cases that follow standard patterns. Operations live in the exceptions.
Your warehouse ships standard orders efficiently. But 30% of orders have special handling: fragile items, international customs, split shipments, customer-specific packaging, rush processing. Generic warehouse management systems handle standard orders. The special cases require workarounds, manual intervention, and spreadsheets.
When exceptions constitute 30% of your work, software that doesn't handle them isn't solving 70% of your problem—it's solving 70% of the easy part while complicating the hard part.
3. Context Switching Kills Productivity
Generic tools force users into the tool to access information. Real workflows require information from multiple sources simultaneously.
An operations manager needs to make decisions. Each decision requires data from: ERP, warehouse management system, customer database, supplier portal, email, spreadsheets, and tribal knowledge from three team members. Generic tools don't consolidate context—they add another system to the collection.
Result: Users spend half their time switching between systems, copying data, and maintaining parallel records.
4. Rigid Approval Chains Don't Match Reality
Generic tools enforce predefined approval workflows. Real approval logic is contextual.
Example: Purchase approvals. Generic system: Orders under $5K auto-approve. Orders $5K-$20K need manager approval. Orders over $20K need director approval.
Actual logic: Standard supplies under $5K auto-approve. Non-standard items always need manager review. Urgent orders need director approval regardless of amount if they'll expedite shipping costs. Repeat orders from trusted vendors auto-approve up to $10K. New vendors require procurement review at any amount. International purchases need compliance check.
The real logic has seven branches and considers order type, vendor history, urgency, location, and compliance. Generic tools can't express this.
What Custom Software Fixes
Custom software solves these problems by matching the actual workflow, not forcing workflows to match software capabilities:
1. Custom Portals: Consolidate Context
Instead of making users jump between systems, build portals that aggregate relevant information in one place.
Example: A distribution center built a custom dashboard for warehouse managers. Single screen showed: Today's orders with priorities, current inventory levels, incoming shipments with ETAs, team schedules and current task status, exceptions requiring attention, performance metrics.
All pulled from existing systems via APIs. Nothing new to maintain—just a smart interface on top of existing data. Managers stopped switching between six systems. Decision time dropped 40%.
2. Smart Routing: Encode Business Logic
Build routing logic that reflects actual decision-making, not simplified rules.
Example: A field service company built custom dispatch logic: Matched jobs to technicians based on skills, location, workload, customer relationship history, and parts availability. Automatically escalated complex jobs to senior techs. Routed warranty work to specialists. Grouped jobs geographically when possible. Adjusted for traffic and weather.
This logic was too complex for generic dispatch software but straightforward to code. Result: Better assignments, fewer callbacks, higher first-time-fix rates.
3. Flexible Approvals: Context-Aware Workflows
Build approval logic that considers all relevant factors, not just amount thresholds.
Custom approval systems can route based on: Transaction type and amount, vendor history and risk profile, urgency and business impact, requester role and history, regulatory requirements, budget status, seasonal factors.
Example: A purchasing system routed routine supplies automatically, flagged unusual requests for review, expedited urgent needs to appropriate approvers based on availability, and enforced compliance checks on regulated purchases—all in one workflow that matched actual approval logic.
4. Exception Handling: Make Workarounds First-Class
Instead of treating exceptions as edge cases, build systems where exception handling is a primary feature.
Generic tools assume 80% of work follows standard patterns. Custom software can assume 30% requires special handling and design for it.
Example: A logistics company built a shipment management system where every shipment could have "special instructions" that triggered custom workflows: fragile handling, temperature monitoring, customs documentation, customer-specific packaging, split deliveries.
These weren't workarounds—they were first-class features. Result: Special handling shipments became as easy as standard shipments instead of requiring manual intervention.
When Generic Tools Work
Generic tools work well when:
Your process is truly standard. If 80% of companies in your industry do it the same way, generic software probably works.
You can change your process. If adopting industry-standard workflows would improve your operations, generic software that enforces those workflows helps.
Integration is your main need. If your workflow is fine but systems don't connect, generic integration platforms might suffice.
You need it immediately. If you can't wait for custom development, generic software provides immediate, imperfect functionality.
When to Build Custom
Build custom software when:
Your workflow is your advantage. If how you do operations creates competitive differentiation, build software that enables your workflow, don't adopt generic workflows.
Exceptions are significant. If more than 20% of your work requires special handling, build exception handling into the core system.
Context switching is killing productivity. If your team spends half their time jumping between systems, build consolidating interfaces.
Generic tools have failed. If you've tried two generic platforms and neither worked, that's a strong signal your operations aren't generic.
What to Build: A Practical Framework
You don't need to build everything. Focus on high-impact custom components:
Build Custom Interfaces
Keep your existing systems (ERP, WMS, CRM). Build lightweight custom interfaces that consolidate information and streamline common tasks.
These are relatively cheap to build and deliver immediate value by reducing context switching.
Build Custom Routing Logic
Use existing systems for data storage. Build custom logic for deciding what happens when—approvals, assignments, escalations, notifications.
This is where generic tools fail most often. Custom routing logic is usually straightforward to implement and delivers significant value.
Build Exception Handling
Generic tools handle standard cases. Build custom components specifically for handling exceptions—the 20-30% of work that doesn't fit standard patterns.
This transforms exceptions from productivity killers into manageable workflows.
Integrate, Don't Replace
Rarely should you build a complete system from scratch. Build custom components that integrate with and enhance existing systems.
Use existing tools for what they do well: data storage, standard transactions, reporting. Build custom software for what they do poorly: workflow matching, exception handling, context consolidation.
Real-World Example
A mid-sized distribution company struggled with order management. They tried two generic order management systems. Neither worked.
Problem: 35% of orders had special requirements—custom packaging, specific carrier requirements, delivery time windows, multi-location fulfillment, customer-specific documentation.
Solution: They kept their ERP for order data and inventory management. Built custom software for:
Custom order portal: Let customers specify special requirements during ordering with clear options, not free-text notes.
Smart routing: Automatically routed orders to appropriate fulfillment locations based on inventory, customer location, and special requirements.
Exception handling: Flagged orders with special requirements and presented them in a dedicated queue with relevant context.
Packing instructions: Generated clear, visual packing instructions for warehouse staff based on special requirements.
Development cost: $80K. Time: 4 months. Result: Order processing time decreased 35%. Error rates dropped 60%. Customer satisfaction increased. Special orders became as smooth as standard orders.
The Bottom Line
Generic tools are excellent for generic processes. But many operations aren't generic—they're differentiated by context, exceptions, and judgment calls that generic software can't capture.
If you've struggled with generic tools, you're not alone. The solution isn't finding better generic tools—it's building custom components that match your actual workflow.
Focus custom development on what generic tools miss: consolidating context, encoding complex routing logic, handling exceptions gracefully, and matching your actual decision-making process.
You don't need to build everything. Build the 20% that makes generic tools fail for you. Keep using generic tools for the 80% they handle well.


