If you are a tech company — and you’re creating business value on top of an IT system of some sort, you (or your team) should always know how is your product working, how to run it and how to fix it if needed.
Therefore, the general rule says: you shall not outsource any part of you core.
But as always — it depends:
You want to build your product fast but don’t have resources.
Building your MVP without a team, technical knowledge or budget is hard or even impossible. It’s your core. You can outsource MVP development and it will work as a TEMPORARILY solution — just to move things forward. In long therm you want to do this in-house and maybe outsource development only to speed up things.
You don’t know the technology.
Learning new technologies is hard and takes time. As Boris Wertz wrote, you could bring someone to help you with specific problem, but you should remember to learn during that time to understand what’s going on.
You want to build own IT department.
Yup, I don’t mean poaching here. In the beginning of the process of building software, often you don’t really have time to waste. But hiring takes time and maybe you could use it to build some features already. If you can afford it, outsource development and keep on hiring at the same time. Make you freshly recruited staff work hand to hand with outsourcers for a while and should be able to take over whole process after the delivered assignment.
You want to learn new processes.
Software houses are delivering more projects in a month than most of small teams will complete in a year. They’ve seen it all; good coding and bad, efficient and inefficient processes — they know the drill. Piggyback on that. Use the experience they already have to speed up.
Outsourcing has its upsides & downsides (who would have guessed that!). You could make a good use of it and succeed. Or fail miserably to ship a single feature and burn your tiny budget up in no time. The difference lies in management. If you have right processes in place (and some operational experience), you could go for the cheapest offer out there and still hit it big.
3. You want to build your product quickly but don’t have resources
You don’t know the technology
You want to build your own IT department
You want to learn new processes
You have limited budget, no team but want/need to move forward anyways
You need more stability than hiring a freelancer
Working with a software house is good when:
Powered by
Most of the time your budget will be
too small to build everything you want.
4. You always should hire external team to speed up your
work. The quota you will get will be high, but you
probably will finish your project before you'd even hire
your first developer. Your new team will always need
some time to learn before they get the ball rolling.
Always ask yourself a question:
Outsourcing is expensive but effective.
Powered by
How to quickly build MVP,
an app or a feature?
How much will we lose for each day while our project
isn’t live? Can we afford that?
5. You probably don’t know a lot about technicalities;
especially if you don’t have your own IT team. Software
house finishes more projects in a month than your IT
folks will do in a year. They saw a lot of good & bad
coding. They are always up to date, their knowledge is
vast, so is their experience - piggyback on that.
Understanding technology takes time.
Powered by
How to build stuff without
know-how & experience?
Use this experience to save time on your projects.
6. When your business depends on technical solutions, it’s
part of your job to actually know how it’s working & how
to fix it if needed. Your folks can learn a lot working
projects with external teams. This is the best time to
build your IT team and still deliver project on time.
If you are a technology company.
Powered by
You MUST have your own
IT team. MUST.
Use hybrid models for crucial parts of your business
and outsource the rest.
7. Do you know how to hire & assess developers? How to
push code into production? How to setup Continuous
Integration or write unit tests? Probably not. Software
houses had many iteration of those processes because
they simply needed to - go ask them about it and they’ll
share.
Building processes take time.
Powered by
Get as much as possible
from collaboration.
Learn from them, it will save you time & money.
8. Your expectations are huge but your budget small? You
still can move forward and deliver MVP of your project
to show its effectiveness. It’s better to make more
iterations on a small feature set than spend all your
budget on a large untested product.
You can build something on a budget.
Powered by
Always push for MVP.
M stands for Minimal.
You can outsource abroad to be more cost effective.
It’s all about management and setting right goals.
9. You can’t build high quality products in short time
without paying a lot of money. You can find a good,
small & cheap software house but this will work for
short. Most of the cheap software houses have
problems with quality because they simply don’t have
good developers—and these are costly.
Never go for the cheapest offer.
Powered by
You need to find balance
between costs, time & quality.
You need to find balance between your team,
freelancers & agencies.
11. Understand how they make money to work efficiently
Know when to use time & material and fixed price models
Control your part of the deal
Control your budget
It’ll be always their fault
You will always miss something
No matter how good your partner is you will always be unhappy:
Powered by
There are always fuck-ups and you need
to learn how to manage them.
12. Selling services is hard, staying afloat is even bigger
challenge for agencies. The healthy price is build around
this formula: 50% labour costs, 25% fixed costs, 25%
profit & investments. The bigger company is the bigger
margin they have.
They deliver work you need.
Powered by
How software houses
make money?
On the other side of table there are people who need to
pay for their expenses. You can’t buy their services below
their costs.
13. When you use fixed price you will be charged for
unpredicted changes & problems. The bigger project is
the bigger overhead you get, the more you pay. Time &
material gives you flexibility and ability to control each
item of work, but you need to manage it tight to keep
the budget spendings reasonable.
It depends.
Powered by
When to use time
& material or fixed price?
Time & material is effective for both sides when you
don’t know the exact specification of your product.
Use fixed price if you do.
14. Each mistake in the API, lack of documentation,
changing of requirements, lack of feedback or missed
delivery time makes your collaboration with a partner
harder. It costs time and money—to both of you.
You need to have everything in order.
Powered by
The effectiveness of work is
depending on your delivery.
Remember that problems on your side are also
affecting your project and your partner. Yet, if you’re
disciplined, demand efficiency from them.
15. There is always a risk when you go with time & material.
It can burn a lot of money and achieve no rewarding
effects. Make sure to have clear product roadmap and
business goals communicated. Without it a partner will
use his knowledge to do best and not steal money from
you. But it may be not enough.
You always need to control your budget.
Powered by
Time & material is tricky
but effective.
You need to manage T&M and remember that each
requests takes time and is costing you money.
Spend it wisely.
16. When something isn’t working it’s always your
outsourcers fault. Most of the time the very same
problem would also occur with your own team. In both
cases they should go solve it ASAP without even asking
you. Don’t play the blame game for being human.
Obstacle is the way.
Powered by
You will face many problems,
learn how to solve them.
Be humane—but demanding. They will repay
in loyalty and engagement.
17. The better relationship you have with external team the
more secure you are. If you’re flexible they will also be
flexible. When you are having problems you should
solve them together. They can offer you much more
than just doing their work from task A to task Z.
You’ll never know all the risks.
Powered by
You will always miss
something.
You will always miss something. It’s better to have
a friend who can support you in tough times.