Editor’s note: Joe Procopio is the Chief Product Officer at Get Spiffy and the founder of teachingstartup.com. Joe has a long entrepreneurial history in the Triangle that includes Automated Insights, ExitEvent, and Intrepid Media. He writes a column about startups, management and innovation each Monday as an exclusive part of WRAL TechWire’s Startup Monday package.

Note to readers: WRAL TechWire would like to hear from you about views expressed by our contributors. Please send email to: info@wraltechwire.com.


RESEARCH TRIANGLE PARK – Having an experienced technical resource on your side to help you turn your vision into reality is an amazing feeling. Until it isn’t.

That’s the number one problem I hear from companies who work with an outsourced firm to build out their tech:

“I don’t know that things are going poorly until it’s too late.”

Joe Procopio

Joe Procopio (Photo courtesy of Joe Procopio)

One of the stops on my startup journey was the several years I spent running a technical and product consulting firm. Smaller companies and startups would hire us to outsource their technical build, huge corporations and government organizations would hire us to be a technical bull detector on their outsourced development.

Here’s the cold fact. Technical development is full of risk and unknowns.

There are two ways to react to that reality. One is to shrug and hope for the best, the other is to mitigate the risk of unpleasant surprises from the moment you engage a technical firm.

I’ll distill my experience on the other side to talk about how to save your company some headache and maybe even a ton of money.


How to find and engage the right firm for you

Back away from Google search. Steer clear of freelancer listing services. Do not be tempted to respond to inbound emails and unsolicited LinkedIn messages.

The key to finding the technical development firm that’s going to work for you is to reduce the degrees of separation between you and that firm. And that takes more work than a search engine is going to do for you. Now to be clear, when I say reduce the degrees of separation, I’m not talking about physical distance, I’m talking about trust. You want to find someone you trust who trusts a firm that did actual work for them, and recently.

Start with who you know. Just as if you were replacing your HVAC unit or finding an honest plumber, and expand outward.

Be clear with what information you’re looking for, because the devil is always in the details. People will gush about how awesome a tech firm is until they actually hire that firm. Don’t ask if your network “knows” a good firm, ask if they’ve “worked with” a good firm.

On a side note: I actually never give recommendations on tech firms, as much as I know about tech firms, because while I know them, and most of them are awesome people, I’ve never hired one.

Once you’ve exhausted your network, go to competitive analysis. Look at companies similar to yours whose tech you admire, and call them up and ask them how they got it done.

Here’s the truth behind visionaries & killer products: Vision needs validation

How to negotiate results instead of the price

Here’s what the firm won’t tell you. You are in charge. You have the money. Their only leverage is to try to get to pay you for their effort, not your results.

Don’t let this happen.

The vast majority of tech firms aren’t looking at you as they’re meal ticket. A firm worth hiring is going to want to do an awesome job for you. They’re going to want to call you a success story so that when other potential customers try to reduce degrees of separation and reach out to you for a recommendation, you’ll gush.

That said, they need to make a profit on the work, and since technical development is risky and full of unknowns, what they’ll often do is mitigate their profit risk by talking about payment by hour or week or sprint or whatever, instead of payment by result.

One concern I heard recently:

“We work with an outsourced company and develop under two-week sprint timelines. Although they deliver code at the end of each sprint, they often slip the overall feature timeline. Predictably, their work costs more than we anticipated, even though the quality is high.”

Bear in mind that a sprint isn’t a result, it’s just a label for a 2-week chunk of effort.

This is where you negotiate. Not in terms of rate per unit of effort spent, but in terms of rate per unit delivered.

And this is where you have to know your stuff. Not necessarily the low level tech, but what you want to make it do.

Avoid flatlining: Why startups need to follow the money, not the model

How to create specs without a computer science degree

I don’t want you to tell me how what you want should be coded. You don’t have to show me your GitHub. But you should be able to show me plenty of documents, flowcharts, and spreadsheets, because you need to list out every wrinkle in what you want your software to be able to do.

This is where the big mistakes are made, when people who need tech built spend too much time trying to decide if they need AWS or Azure, React.js or React Native, Postgres or NoSQL. You shouldn’t be making those decisions in a vacuum.

Focus on defining what the tech should do. Don’t try to determine how, just what, all the way from beginning to end, with all of the caveats and quirks. Then, for each action the software takes, have a defined reason why, and be able to communicate it.

Then you’ll be able to negotiate not by the hour, not by the sprint, but by connecting payment to progress. The firm’s job is to provide functionality that works, by feature. This will not only help you avoid surprises, it will make them invested in your success.

It’s also a good gut check. If the firm doesn’t want to work this way and insists on charging for effort instead of progress, it’s either because you don’t know what you want, you’re not properly communicating what you want, or they aren’t invested in your success.

Never go into negotiations with a tech firm without that documentation. There should never be an open discussion on what you need, only open discussions on how to get what you need done.

One more thing. Include all of your documentation as an exhibit of the contract, even if that documentation consists solely of photographs of sketches on napkins.

Successful entrepreneurs learn how to just say ‘no’ to great product ideas

How to manage progress and minimize surprises

You’ll never be able to eliminate surprises and neither will the tech firm, so plan for them.

Don’t agree to two-week sprints. This is just a way to get to hourly billing without calling it hourly billing. Instead, agree to functional sprints and put two-week check-ins in place. If they want to go all agile and do their thing, give them that freedom. Don’t make it contractual, because honestly, you don’t care what they do every two weeks. You care that they deliver features on time.

Now, here’s where you want to give them leeway. Time.

First of all, if you’re paying for progress, it benefits them to get the most amount of progress done in the least amount of time. Second, understand the fact that sometimes it takes an hour or a day of creative thinking, which results in no progress, to shave hours or days or even weeks off the overall build.

A lot of tech isn’t done by experience alone, but by applying existing experience in new ways. Code is a mix of science and art. Give them leeway to be artists.

That said, never let them get away with missing a requirement, a review, or gaps in functionality. They agreed to the spec, they need to build to the spec. They need to be able to gauge their own abilities. If they can’t, that’s on them, not you.

Remember all that documentation you created and they agreed to, with all the whats and whys?

Forget user manuals – here’s how your business can ensure customer success

If everything goes wrong

Always go in to a technical build engagement with a backup firm on speed dial. We were that backup several times, and it turned into solid work for us, so we were happy to do it. Never get into a situation where the firm holds all your results and you can’t hold back the money.

You don’t want to have to get into a confrontation, but you want to be able to if you have to.

Exec advice: How startups can outsource their tech without going broke

So make everything go right

Finally, keep in mind that a lot of hurdles can be hurdled and a lot of stops can be unstopped if what you’re doing looks like it will be a success. In other words, the more you have together, the more likely it is you’ll pay less money to get it built. And in less time. And with less headache.


Hey! If you found this post actionable or insightful, please consider signing up for my weekly newsletter at joeprocopio.com so you don’t miss any new posts. It’s short and to the point. Or if you’d like more tactical startup advice direct to your inbox, get a free trial of Teaching Startup.