Be nice to your agency and reap the rewards. The only way you can win is by building a great relationship with them!
Before I started Indiez, I hated the idea of outsourcing tech to an IT company.
It feels bad to not know tech and then hire someone else to do the development for you.
It’s like marrying someone without knowing how to have sex.
Quick fact — Almost 60% of the IT outsourcing projects fail.
Recently, a good friend of mine hired an IT outsourcing company in India to build an app for him for $5000. It was a disaster. The output was bad, not presentable and he hated himself for wasting $5K.
He reached out to me for advice because I’m building Indiez which is a platform to build high-quality software. We work with many agencies and freelancers have built more than 200 products till now, so I have a good idea about outsourcing development.
Outsourcing the IT development to India, Philippines or another country to save costs is a great idea. But when we get the results we don’t want, we put all the blame on the IT company saying that… Outsourcing sucks!
Yes. It sucks.
But given that it is your product, what steps have you taken to make it work right? The software is risky… close to 90% of the startups fail. Hence, you are crazy if you’re thinking that getting a software built for $5K would make you a millionaire.
So here’s the thing, I want you to stop crying and whining about the bad experience that you have had with IT outsourcing. And use some of the real, practical things mentioned below.
This may not help you to build the best of the best product… But can definitely help you feel happy about it.
Most of the agencies out there don’t know about product design. There are specialized agencies like Method or Source Bits or Indiez out there who do product design.
That is why you have to know what you want from the agency that you are working with. You should have a list of features and some thoughts on the user experience of the app. If you can’t figure it out, hire a UI/UX designer separately who specialize in it to do it for you.
Expecting an agency to build an amazing product when you’re paying $10K just doesn’t make sense.
But, you don’t have to know it all. You just have to get it 80% right and rest of the work will be done by your users or by the agency. You can get to 80% really fast by using products like Proto.io (my fav), Wix, Invision.
While hiring an IT agency, you should have two different kind of feature lists — One long one and one short one.
The longlist is like the bucket list of all the features you want… however, a shortlist is a list of features which you absolutely need. Keep the shortlist to an absolute minimum. Often adding tons of features won’t help your app become amazing.
Source: Intercom
I have seen 100s of times where an entrepreneur wants to build a particular feature which they think is “SO COOL” without even understanding what the users want.
Speak to your users and identify the mission-critical features. Build only those features before you launch.
You can buy a Tshirt for $20 and for $2000. There’s a difference in the quality. $20 one would fade easily and won’t last long.
The same thing is with software. You have to know that it is hard to build the same quality of software for $5,000 and $50,000. If you are expecting super high-quality standards, you should be willing to pay the same.
Airbnb and Facebook pay an average salary of $150,000 per year to their engineers and hence they ship out a brilliant quality product.
You should see their past work and get an idea about the quality of work that they do. This will help you have the right expectations with respect to the quality.
You should always remember that there’s a human on the other side working for you. Just because you have paid money doesn’t mean that you own the person or their time.
Expecting that they will work for 16 hours a day because you can meet your deadline is kind of absurd. They won’t work as much as you do because the incentives are not aligned. They won’t make anything if you become successful and everyone is not generous like Buddha.
Few interesting things that we do which work well for us are- Give them a bonus on a good performance and identify who is performing the best in the team and offer them a pizza or beer treat once in a while.
Source: Collaboration Superpowers
We have hired someone, paid money and our job is done. Now they will come back with a brilliant product and we will raise millions of dollars.
Believing in something like this is like believing in Harry Potter’s Hogwarts and saying that it’s real.
Both are imaginary and fictional things.
Entrepreneurship is not like this. (I wish it was like this though ;)) As a leader, it is your job to make them understand your vision, your industry and what market gaps you have seen.
I’m not saying that you should get on a kick-off call and assuming that they will remember everything. I’m asking you to over-communicate! Repeat your vision multiple times.
Communicate in a way that excites them and gives them a sense of accomplishment.
This is true with anyone you are hiring. Always have the expectations clear and documented. One way to do this is to build a product requirement document which has the details and goals you want to achieve.
Put up a process to speak to the team periodically. Not too much, not too little. An update call once in two days is a good idea
Also, tell them about the code quality expectations and about design quality expectations by giving them samples and references. You can find good code quality sample on Github and some design references from Dribbble.
To entrepreneurs, it feels so nice to have a fixed price contract. You pay them the price and it’s on them to do all you want, your changes in that price.
But the truth is that fixed price projects suck.
A startup’s product is always evolving and hence you’d want to have changes in the scope of work. It is tricky to get into the conversation of price change all the time. It is common that entrepreneurs push the agency to do a couple of changes here and there without paying any extra money.
But remember that the agency is a business and they have to maintain a profit and loss sheet. Doing this free changes which were not scoped out earlier is cost and low profits. Over the course of time, they will deprioritize you.
Hence, go for a fixed price for a fixed scope and pay hourly for anything extra. This will give them the incentive to keep working.
Often when you are working with an outsourcing agency, your objective is to build MVPs. Hence, you should make it a point to get the product out in the hands of your users as quickly as you can.
Hence, don’t spend months designing the app. Work with them to design a few key screens first, code them. This gives the people who are working on the app a sense of excitement as well as it is an amazing feeling to see your app live.
Research on what are the best practices for code required and make sure that they are following those practices.
For example, having a continuous integration and continuous deployment should be there. They should document the code and all the APIs should have swagger documentation.
Also, all the time they should put the code on Git so that you have a track of what team is working on.
Majority of the time your primary role while working with an IT outsourcing company is to give feedback. Hence, you have to know how to give feedback.
Just saying that you hate it or it’s alright is ridiculous. You have to make sure that your feedback is actionable. If you don’t like something say why you don’t like it.
Always remember that your team should feel like:
Having said all of the above, you have to have the grit and persistence to make things work. Software is risky! So make sure you’re prepared to put in that time and energy required to make you a winner. Success is not easy.
Be persistent. Believe in what you’re doing. Be successful.
If you want to get software development done, Indiez can help. We have worked with 200+ entrepreneurs and helped them hire and manage great tech teams. We work with a handful of entrepreneurs and ensure that they have a brilliant work experience with us and developers.
We can also find and manage a good IT company for your requirement.