If you are running a startup or a tech business, outsourcing the execution of your product is a critical business decision. You can’t fail and there are many factors to consider to ensure you choose the right agency to outsource software development. This is part of the inherent risk whenever outsourcing anything that is not a commodity.
If you decide to outsource software development this article will help you make the right choices and avoid the mistakes made by many founders.
I have seen first-hand the effects of choosing the wrong agency when you outsource software development. It is a nasty business, believe me!
Back in 2019, a startup founder came to me with this exact problem. He outsourced with an overseas agency that offered a price no one could compete with.
Also, their time estimation was hard to beat, they estimated two months for a fully working marketplace that has multiple non-standard features.
This is what they’d promised, now what happened was:
They didn’t complete it in two months, and they kept delaying and telling him “it will be ready next month.”
This happened for 5 months and then on the 6th he asked for a code audit. The outcome of this audit showed that the platform was completely unusable. Literally 100% of it had to be trashed.
The founder found himself in a tough position, he could either give up or start it all from scratch. Luckily he had the money to start from scratch and outsource software development to a new agency.
A lot of founders don’t get this second opportunity because they have used twice the budget they planned to use. And remember, even if you do have twice the money, there’s nothing that will cure the pain of double time to market. In the case of this startup founder, a competitor may have reached the market before him — at which point the problem his product is trying to solve has already been solved.
After him, a lot of other founders with similar stories came to me. That’s why I’ve created this article, so this story doesn’t repeat over and over again. Gathered from my experience founding 7 startups and mentoring many early-stage startups, this is a guideline on how to outsource software development to a trustworthy agency – that also has the right experience and pricing to match your needs.
These steps will help you mitigate the risks and guide you towards a beneficial business relationship, for both you and the agency.
There are no two ways about it, you must validate the quality of previous works by your potential partner. What you want to validate is:
In which technology is the agency proposing to build your product? This is not purely a technical decision. There is a business side to technology decisions that can impact your time to market, product stability and your budget.
Be aware of generalists — if you hear an agency tell you:
“We’re not stuck to a technology … we can do all stacks and technologies … we can do everything”
Subsequently following this up with a list of technologies as long as your arm with 50+ logos beware. What they actually mean is they are not specialised in any technology.
If someone is saying “I do Mobile native, Web in JS, Java and .Net” its a red flag. Ideally, you should work with an agency that is specialized in web or mobile and in a specific technology, i.e. Javascript frameworks, Java, .Net. You want a team of specialists that have mastered one or two technologies/stacks. Not a team that gets distracted by the next shiny new framework while leaving the older one half learned.
It is important to find a partner with a compatible pricing structure:
You should find a partner that offers flexibility in terms of team size and time allocation. Don’t get caught up in a waterfall contract that is too rigid. Start by committing to small sprints and deliverables before contracting them for months and months of work.
Software is a living organism — your needs will change throughout the process and you need to adapt and evolve with it. By committing to a smaller, project-based, working relationship there is no real pressure to sustain it long term, which allows your company to hire “as and when” it is necessary. This not only makes everything more flexible but also reduces costs.
Involvement is a key aspect of a key partner. The agency you’re picking will either get involved and committed OR, they’ll just do their work as needed with a minimum commitment. But, now, when selling everyone is highly committed because they want to persuade the client, they show a lot of commitment, so how do you separate the wheat from the chaff?
Be aware of the Yes Man. My secret technique to spot fake salesmen is simple: if they are saying “amen” to everything. I can’t stress enough how huge a red flag this is.
Conversely, if they challenge my vision and tell me “no” then they start to earn my trust and I will be more likely to outsource software development to them. If your potential partner is able to say “no”, challenge your product vision or your list of features to build it:
Most probably, an agency with a Lean approach will propose that you cut features from your initial list. If I’m talking with an agency that’s proposing to reduce the scope, it immediately shows me I can trust them.
It tells me that they have a commitment and product vision. Moreover, it shows they are not “salesy” because, putting it bluntly, by reducing the scope they are reducing the budget (contradictory to their financial goals). So if an agency is proposing to reduce and cut features, give them extra points.
Are they very clear about the process? Building a software is always a complex project. If you outsource software development to an agency they must have a very solid structure and be very transparent. They should be able to communicate beforehand on what the process will entail.
When you outsource software development it is vital that your potential partner can communicate fluently to understand the requirements around the project. This will tell you if they can execute the project successfully.
It will also let you know that they’re approachable — which will make inevitable problem solving easier further down the line. A major thing to avoid here is a failure to understand the scope and risking feature misinterpretation. This will have a huge impact on your roadmap and budget.
Most product-centric agencies tend to solve this problem by writing “user stories” then build UX prototypes followed by a clickable UI prototype. This is a vital step and should be done before any further implementation. This will avoid feature creep and keep things streamlined.
It is important that your partner speaks your “language.” I don’t necessarily mean this literally, although it is a big help. What I mean here is that they understand your idea, business and vision. It is important that they have a working culture that aligns with yours in terms of commitment, schedules and timekeeping.
Take extra care not to get stuck in a “lock-in nightmare” — of which there are two kinds:
Outsourcing MVPs, or “satellite features” of your core, is a great option because hiring a Lead developer and team of developers can be a tough and time-consuming process. Consequently, it comes with the added work of having to manage them.
Hiring an agency is a faster process in this respect. When picking your agency, be aware of the risks because this is a very critical key business decision. Just remember:
Personally, I’d also advise you to start with a dating phase. Go with an agency that is open to test the waters with a small gig before you enrol them for the whole product. This is the safest way to approach working with an agency. Any agency worth its salt will be more than happy to go on a few dates before committing to a relationship.
I hope this article has given you clarity on how to choose the right agency. If you still have questions feel free to drop me a personal message!
This post was originally published at
Altar.io's blog
by Daniel de Castro Ruivo, Founder at Altar.io.