During my entrepreneurial journey, I have made several mistakes. But I would like to share, what I feel, is my biggest mistake ever. Here it is:
*** Outsourcing my product development to a big company ***
OK! before I continue, I need to put a DISCLAIMER!
DISCLAIMER:
This article is based solely on my personal experience with Company X. I am not saying that outsourcing is bad, and that all companies are there to rip you off. I am sure there are exceptions. But in this post, I would like to lay down some points why I feel outsourcing your product development to a big company might not be a good idea for an entrepreneur with limited time and budget.
When we got the idea for Revelri, we felt that we should hire a big, professional company to do the job for us. Hiring a professional company sounded a safer bet than hiring an individual. It felt secure. So we hired a company (let’s call them Company X) that boasted of over 100 employees, and offices in a couple of countries. They seemed to be popular, professional, and always busy with work! We were impressed.
So when we started work with them, initially everything seemed hunky-dory and hassle-free. But we were mistaken.
Based on our experience with Company X for around 10 months, here are 8 BIG-ASS reasons why I would strongly discourage outsourcing your product development to a big company. Of course, all 8 reasons would not be applicable to all companies, but I can safely say that the situation would not be too different for companies Y or Z.
Ok, so let’s get started!
1. Company X said: We will assign top-notch developers to your project…
… But they did not. I later came to know that Company X hired very average quality developers, and often freshers. Even though these companies might claim that the developers (programmers) assigned to your project are very experienced, yours might be the programmer’s first project ever! They learn on-the-job. I am not against that, but with the kind of price they quote, you expect the best-of-the-best, and not a newbie who is still struggling to get his concepts clear.
The main aim of Company X was to pick up as many projects as they could. It was all about quantity and not quality. They were (and still are!) like a website-manufacturing-machine.
Suggestion: Have your own, in-house development team (even if that team has just 1 programmer!)
Why? You have full control over who your developers are.
2. Company X claimed that each developer will give around 8 hours to my project…
… But that hardly happened. I was never told at what time the developers reported to office, and at what time they left. I later came to know that almost every day they had extra-long lunch-breaks / extra-long coffee-breaks / extra-long gupshup-breaks / extra-long misc-breaks in between.
And sometimes the developer was pulled out from my project for several hours to help out in some other project, if the other project’s deadline was nearing (or maybe for some other reason). If there was a power-failure, no work was done. On questioning why things were slow, I was told that the developers got “stuck” somewhere while programming, and they were looking for a solution.
I would reckon that out of 8 hours, hardly 5 effective hours were given to our project everyday on an average.
Suggestion: Have your own, in-house development team.
Why? You have full control over what your developers do, and how much time they spend on your project.
3. Company X claimed that they will assign an experienced Project Manager (PM) who will handle just 2-3 projects, apart from mine…
…but in fact my PM handled 5-6 projects. And he was not very experienced either. PMs are expensive, so companies like X try to squeeze the most out of them, by assigning them multiple projects, often more than what they can handle. As a result my PM was oftentimes not available for me when I needed him. He was busy with other projects he was handling.
And since a PM’s main skills are in managing multiple projects together, they are generally not very technical. So I often found it difficult in explaining him what I wanted. And I was not allowed to communicate directly with the programmers. That leads me to my next point…
Suggestion: Have your own, in-house development team.
Why? YOU are the PM. And in most cases your complete, undivided attention will be dedicated to your start-up.
4. My PM was my one-point-contact…
…and I was discouraged talking directly to the developers.
For various reasons (communication issues, poaching threat etc), Company X discouraged my direct contact with the developers. My PM was my sole point of contact. For all issues relating to my project, I had to talk to my PM. This restricted me. If my PM wasn’t available, things were stalled till he was.
Suggestion: Have your own, in-house development team.
Why? You talk directly to the developers. Communication is faster, clearer, and 100% transparent.
5. Company X did not have good designers and HTML coders.
When we started working with Company X, we did not know that three teams, each with distinct skill-set, are required to create a good website/product:
– Firstly we need a good UX designer to create a design for our site.
– Secondly we need a good HTML guy to slice the design and convert it into a web-page, that is compatible with major browsers.
– And thirdly we need the developers (programmers) to do the main coding. They make the web-page interactive and add the functionality the site needs.
These are special skills that should not be overlapped. Company X had just 4-5 designers, out of which just 1 or 2 were even worth their salt, (but there were no UX designers.) But because of the number of projects Company X had, the good designers were always under pressure, and as a result the designs we got were sub-par. Same with the HTML guys and programmers. X had very limited good people, many projects, and below-average output!
Suggestion: Outsource your design and HTML to companies dedicated to doing just that. Or if you have enough budget, add them to your in-house team.
Why? You will get quality design and HTML.
6. Company X did not accommodate too many changes to my initial scope of work.
When we signed up a contract with Company X, we had to freeze on what needed to be done. In most cases it was not clear, even to us, as to what exactly we wanted. We had the idea, true. But we did not know exactly what modules and sub-modules, we would be needing. We could think on the macro-level, but not at the micro-level.
But that’s how companies like X operate (and I do not blame them for that. There is no way out). They obviously need to define a scope-of-work, so that they can allocate their resources and quote you a price. But for you, as an entrepreneur, this might be difficult. We often need to change, include, or remove things as and when the project progresses.
But companies like X do not like to accommodate frequent changes, without extra charges.
Suggestion: Have your own, in-house development team.
Why? Your developers are on salary. So you have complete control over what they work on. Make as many changes as you want.
7. Company X just didn’t care. We were just another one of their many projects.
Yes, I had to say this. Company X just didn’t care. For them we were just another project out of the many they had. I remember someone telling me that at one time, they had close to 65 big and small projects they were working on.
So it really did not matter to them whether they gave us their best or not. Even if they lost a client, they had several more.
Suggestion: Have your own, in-house development team.
Why? Your project is your baby (ohh! How much I love this phrase!). And you will give it your best. Always.
8. We felt abandoned, and had to get onto their Rs. 75,000/month “Maintenance program”
One of the main aims of Company X was to get their clients on their outrageously expensive monthly “Maintenance program”.
Our project was a big one, and they had underestimated the time it would take to get it done. As a result, it was not completed during the initial deadline, or the revised deadline, and even the deadline after that. After a few months of delays, and even after paying them extra, they conveniently passed the blame onto us, stating that the delays were because of our changes to the initial scope.
With over 30-35% of the work still left, they abandoned the project mid-way and said that if we had to continue, we would have to get on their “Maintenance program” that would cost us Rs. 75,000 per month per programmer. According to them, this was a steal, because they charged over Rs. 1,00,000 to international clients. And they would not charge a fellow-Indian so much.
This was a BIG blow to me, as by this time, I had already exhausted most of my funds. I remember going home that day, crying. I felt lost. I felt dejected.
By that time, I had already announced the launch date for Revelri. And I had to finish the project before the launch date. I had no other option but to get on their program, with one programmer. Used him for two months. Shelled out Rs. 1.5 Lakhs.
(I also later came to know that this developer who worked for me for 2 months during their Maintenance program was being paid only Rs. 18,000 per month by Company X)
Even after two months, the project was not complete. I then took the bold decision of finally taking things into my own hands, and starting a small in-house team with 1 developer. Within 1 month after we said goodbye to Company X, we worked around the clock, and successfully launched Revelri on the decided launch date.
(Revelri has improved a lot since then, and we have had 2 more re-launches. But that was only possible because of our in-house team.)
Suggestion: Have your own, in-house development team.
Why? No need to enroll for a maintenance program!
I clearly recall, during our third or fourth month with Company X, one of my close friend, an entrepreneur, and technical whiz, Naveed, had told me: “Abhi, you NEED to have your own development team. You cannot expect Revelri to grow by outsourcing it to Company X,Y or Z. Your vision for your project is bigger than all that.”
Although Naveed’s words made sense, I was not ready to start my own team. The very thought scared me. But after spending lakhs of money, and wasting over half a year, I became wiser. I only hope I had listened to Naveed earlier and acted on his advice. But this was a lesson well-learned.
Companies like X might have their own merits. But for entrepreneurs, who are tight on resources, need flexibility, and have to constantly test and innovate, they are not a good option. It is much better to have your own development team. Repeating Naveed’s words once again:
“You NEED to have your own development team. You cannot expect <put your start-up’s name> to grow by outsourcing it to Company X,Y or Z. Your vision for your project is bigger than all that.”
Abhishek Agarwal is the founder of Revelri.com, a site that aims at making this world a happier place. He is an Internet marketing strategist and has been doing business online for almost a decade. He is a strong believer in the power of dreams, the Law of attraction, positivity and happiness.
Sachin Bhatnagar
Absolutely agreed, down to the last point. Startups need much more than rigidly billed off the shelf technical support for incubating their dream. And it is only possible if either the founders themselves know how to code or they setup an in-house development team. I’m sure this article will help a lot of startups understand the value of setting up an inhouse team.
And I checked out Revelri.com. What a brilliant idea !! Kudos to you and your team.
Abhishek Revelri Agarwal
Thank you Sachin. I do hope this article encourages a few people to seriously consider having their own team. And glad you liked Revelri 🙂
Jaisal Rathee
I went through exactly the same experience with valuemunch.com! I hope its not the same COMPANY X!!!
Shelled out lacs, sub par development, missed every single deadline, got product in 4 months instead of 1 month, cost was doubled mid development! The most brutal 4 months of my life!
Prashant Sahni
I am not enough qualified to put my point of view, you are very right at most of your points.
I am a developer and i worked for the consultancy company, so i can understand point of view of both parties. Yes
chaos happens, it happens every where.
Setting up development team is a personal choice anybody can have, but if you are outsourcing, you must have clear
cut idea what you are going to develop, if you have not you should make develop the prototype of the product
in small phases, then after each phase introspect and think. I am not taking consulting company side, they have their
own issues, employees working there have their own issues, ideal world is not possible, do your project evaluation
and make deadlines flexible( at least in your mind, do not reveal ). If possible take the confidence of developers. For
the people like me my work is my business and i do best for my business. I love to interact with clients.
If the company is established they must have some good work in the past and happy clients, that’s y they are.
Best regards
Prashant Chanchal
Hi Abhi,
I am at a stage where I have to take that crucial decision of choosing between the two. Your post does clear a few doubts for sure. Just for some more clarifications, I would love to connect. How can I reach you?
And yes, Revelri is beautiful. Kudos!
Prashant
9681 9241 32
Vikram Parekh
To outsource or build an in-house team is surely a question that bogs down a non-tech founder. There are pros and cons with both, and to me the success depends as much on the outsourcer, as it does on the outsourced company.
So while Abhishek you’ve shared some great real life examples of how things could get worse (and there are many like these I’ve seen before)…I think there are few other things that one should factor in your decision making:
One way that I’ve see this in the past is by use of Master Services Agreement (see below link for defn). Sign a MSA with 2 or 3 vendors. Then from phase to phase (considered as projects), layout Statement Of Work (SOWs).
Pros of this approach would be:
Cons:
If MSA/SOW is too complex for you, a simpler approach could be by demonstrating your grand vision for the product to the vendor, but giving out projects only in bite sizes (e.g. Ask them how much would it cost for me to go from point A (idea) to point B (MVP).
Hope this helps.
Reference Links:
Nishant Agrawal
Fantastic! Brilliant. This is the kind of stuff I want to see on the Rodinhoods!
No outside company will understand your passion like you do. It’s always easy to hire a ‘professional’ to do the difficult work for you. It’s a trap.
Do. It. Yourself.
If you don’t know how to do it – f*king learn it. Get your hands dirty. Build a rudimentary site; call it shit; burn it down. Re-build it from a scratch; call it shit again; re-burn; re-build. It’s better than sitting at the end of two years with nothing but an ugly site, regrets, and an empty bank account.
You can’t outsource your core competence. And the best developers are not for hire. If you need one, you’ve got to become one.
Himanshu Mody
Well I think your model of outsourcing was not appropriate for Product Development.
Tekno Point has been working with several entrepreneurs and organisations helping them build their products and we have had successful relationships which have spanned over several years and in some cases we are still part of their team.
First some basic facts: Even biggest of companies cannot be great in end to end product development i.e Front-End , Business Logic and Back-end.
While we have developed some good utility apps end to end for several customers , but any serious enterprise product development and there have been multiple teams involved and we were clear that our specialisation is front end development.
The model that has worked for us and our enterprise customers :
– We provide the resource onsite at customer’s location. This ensures that the entrepreneur has complete control over productive usage of the resource and is free to do back on forth on scope of work.
– Product roadmap and features evolve as you walk down the development path, we bill for our resource on monthly basis instead of scope of work as scope is rarely frozen.
– We strongly recommend that customer also starts building their own team – we provide training to their team and they tag along with our resource for product development and eventually the team takes over and we move out handing over the product to the entrepreneur and their team.
– The design related effort is done offshore as design team are finicky about working on their mac’s etc and its difficult for client to provide an environment for designers to deliver. So we have Delivery managers who understand business needs of the customer and they get the work done from the design team.
Vivek Lath
This topic keeps coming back again and again. Everytime, I see repeat of same mistakes . I agree to all the arguments above,however the fundamental problem in such a scenario is to get someone good to join your startup team. Getting good talent to join a new company takes lots of time
We have come a full circle on this. We started to build our product using the outsourcing way and got burnt exactly the same way (It is so funny that every outsourcing company speaks the exact same language). Then we went out to hire 2 developers. Excruciating process. Unless you are going to double someone’s salary or play the Jedi mind trick, it will take significant amount of time to hire worthwhile talent. We did double our first hire’s salary but he didn’t show up on the day of joining and stopped taking our calls. However, while going through this hiring process we bumped in to a company who we felt understood our problem. They have fewer but good developers. Focused only on ROR. More systematic. And we are happily working with them for getting our first version off the ground. Of course, after the first version, we plan to transition the development in house and take their help as advisers.
My personal experience.
1. Do not ever go for a company which has an army of people. Startup product development cannot be done with assembly line approach.
2. If the company website boasts of servicing every technology, design, SEO, SEM and the works, RUN!!, Just RUN away from them.
3. If the initial discussion uses words “freeze requirements”, “US clients”, “What is your budget” then again RUN away.
4. Look for a boutique development firm. Someone who specializes on only one technology and one aspect. For eg: design vs development vs rapid prototyping and php vs dot net vs ror. This is most crucial. Folks in such firms are more quality conscious and produce good product. Pay a bit extra if you have to.
The calculation is simple. Most development shops like/love/crave to work for overseas companies who can pay USD 50 – 70 per hour. If they take up less margin work just to fill up the unused resources, that work will be low priority.
Nitish Mehta
Let me put this is simple way rather than putting this in with long para , a product which you consider as your baby , if you are outsource it then it is like putting your baby in a playschool , now you should know when to put your baby in playschool and when you should hire a nanny to take care .! IF you are sending your baby in Playgroup you can only watch it from outside , and if you have nanny then you can touch them , play with them , and tell your nanny to do work directly.
My business is outsourcing still I encourage to have in house team , but you can’t have from day one and there are many problems to have so i came with an idea which can solve the problem for new start ups , already started this concept for my own product and few other people too https://www.therodinhoods.com/forum/topics/need-your-suggestion-on-the-start-up-i-am-planning?xg_source=activity
Abhishek Revelri Agarwal
Hello Prashant, you can mail me on wingsofsuccess@gmail.com.
Abhishek Revelri Agarwal
Very well said Nishant! It is better to gain experience doing things yourself (aka, in-house). As you rightly said, building it with our own sweat and labor is much better than wasting time and money on outsourcing, and ending up getting something you are not happy with.