I was in a good debate recently with an IT partner about the right path for their customer. The company needed better operational systems. Two legitimate options on the table: commercial off-the-shelf software or custom-built PowerApps.
Neither answer was obviously wrong. And honestly, that’s what made the conversation fun.
We were talking about Enterprise Resource Planning software which, admittedly, is the expensive, high stakes end of the spectrum. As we talked through it, I kept thinking about how the same logic applies across the board. Project tracking tools. Customer intake forms. Approval workflows. That database someone built because the spreadsheet got out of hand.
Sometimes PowerApps is exactly the right call. Sometimes it’s a trap that doesn’t reveal itself for two years. The trick is knowing which situation you’re actually in.
A cautionary tale.
Just this last week, Zack Nelson from JerryRigEverything posted this on X:
About a year ago a local software company bid me $100k – $150k to create custom manufacturing software for my wheelchair factory.
Fast forward a year – they still aren’t finished with the original scope of work – and now want an additional $100k because they went over budget.
I’ve already paid $150k.
What would you do in this situation?
This isn’t a cautionary tale about a bad developer or a shady company. This is what custom software development often looks like, even when everyone involved has good intentions. Requirements evolve. Edge cases multiply. Integration challenges surface. And suddenly you’re deep into a project that’s taken on a life of its own.
Manufacturing software isn’t exotic. Thousands of companies run factories. Mature solutions exist precisely because this problem has been solved over and over again. But the custom path looked appealing, built exactly to spec, no paying for features you don’t need, no learning someone else’s system.
A year and $150k later, I guess the math looks different.
Here’s what I find myself asking in these conversations:
How core is this to your business?
There’s a real difference between a tool that supports your operations and a system that is your operations. The closer you get to the latter, the more you probably want battle-tested software with a vendor behind it.
PowerApps shines for departmental tools, workflow automation, and filling gaps between systems. Need a maintenance request form that routes approvals and logs to SharePoint? That’s a sweet spot. Need to run your manufacturing floor? Different conversation.
How complex is the problem and will it stay that way?
Some processes really are simple. A checklist. A tracking log. A basic approval chain. PowerApps handles these beautifully, and honestly, buying dedicated software might be overkill.
But here’s the thing, simple has a way of not staying simple. That tracking log needs reporting. The approval chain needs exceptions. The checklist needs to talk to three other systems. What started as a weekend project quietly becomes something that needs real architecture.
Before you build, it’s worth asking:
What does this look like in two years?
If the answer is “probably about the same,” build away. If the answer is “honestly, I have no idea” that’s worth sitting with.
Does something already exist for this?
For genuinely common problems, project management, CRM, help desk, accounting, manufacturing mature software exists because thousands of companies have the same needs you do. Those vendors have already tripped over the edge cases you haven’t hit yet.
But for niche workflows, industry-specific processes, or internal tools that bridge your particular systems? Maybe nothing fits. Or what exists is overbuilt and overpriced for what you actually need.
The answer often comes down to whether your problem is common enough that someone’s already solved it well.
What’s your appetite for ownership?
A custom build means you own it. That’s freedom and burden wrapped together.
You control the roadmap. You’re not waiting on some vendor to maybe prioritize your feature request next quarter. You’re not paying for capabilities you’ll never touch. But you’re also on the hook for everything; security, maintenance, upgrades, documentation, and keeping it running when the person who built it moves on.
Off-the-shelf software shifts that burden to the vendor. You give up some control, sure, but you gain a team whose whole job is making sure the thing works.
Do you have the muscle to sustain this?
Custom apps need ongoing care. Not just fixing what breaks but actively developing as your business changes. The question isn’t whether you can build it, it’s whether you can keep it healthy indefinitely.
For a simple form, maintenance might be trivial. For something woven into daily operations, you’re committing real ongoing capacity. Some companies have that. A lot don’t realize they don’t until they’re already in too deep.
What’s the honest total cost?
Software pricing hurts because it’s so visible. You see the licensing, the implementation fees, the annual renewal. It’s right there staring at you.
Custom build costs are sneakier. They’re scattered across internal time, opportunity cost, future enhancements, and the slow pile-up of technical debt. That initial estimate almost never accounts for what year three actually looks like.
Zack’s situation is a textbook example. The bid was $100k-$150k. A year later, he’s spent $150k, no finished product, and a request for another $100k. The original estimate didn’t account for the fundamental difficulty of building software that works in the real world.
For simple tools, the math often favors building especially if you’re already paying for the Microsoft stack. For complex systems, the hidden costs have a way of swamping the visible savings.
What’s your exit strategy?
If this doesn’t work out, or you outgrow it, then what? Can you get the data out cleanly? Is there a realistic path to something else?
For a simple app, the exit might be painless; export to Excel and move on. For something deeply embedded in how you operate, extraction becomes its own project.
Why this is harder than it looks.
The people in the room tend to see different pieces. The IT partner sees what’s technically possible. Finance sees the price tag. Operations see today’s pain. Nobody naturally thinks five years out, or what happens when key people leave, or how this choice bumps into the next three decisions down the road.
And everyone’s got some skin in the game. Partners want the work. Internal teams want something that doesn’t blow up their world. Vendors want the sale.
What’s often missing is someone asking questions on behalf of the business itself. Someone who’s seen both paths play out and can help you think through the stuff that isn’t obvious yet, without a stake in which way you go.
It’s not about having the right answer. It’s about making sure you’re asking the right questions before you’re locked in.




