An outsourced development work for a web/tech company is never recommended as that should be your core competency but still if you have made the mistake of doing so, the following points must be kept in mind.
One common mistake that companies make while outsourcing a development work is that they tend to believe that everything will be done by the development company including copy writing and color selection. They believe the development company would carry the same vision as you do. But you need to realise that you have put in months of research about the target audience to decide if the software is even needed, which the development company cannot carry in a days time. A regular involvement from your side must be there to track every progress of the project. The development company will only act as a nanny for your baby. She will dress your baby but you cannot rely on her to decide which dress.
1. Judging a bid: The lowest bid are in rare cases the best ones. More often than not the bidder has misjudged the project size and complexity. You will realise this only when they start delivering the first demo modules. Seeing the final product of past works is not a proof of capability as you don’t know if that was the real need or a compromised product and the time they took to finish it etc. (Recommended read: Confusion over cost of outsourced software services)
2. Milestones: Milestones should not be overlooked even by a days delay. Any delay due to third party issues should be compensated by progress on the future modules. Last minute rush would always result in inferior product as feel good features would be compromised.
3. Communication: Avoid letting 2 third parties communicate with each other. Say if development team and hosting company are in direct touch, they would report an issue which the other is responsible for, just to buy time. Only later will you realise that they have made a real fool of you. Your role is to act as a black box for all the parties involved.
4. Never leave for later: Anything that is left to be changed for later will never be done. There is a lot of friction in moving away from the set default. Say if the HTML guy has shown you the layout of the site with dummy colors, specifically mention to get it changed. Ideally you should tell him the colors before he sits to code. What happens is that after 3-4 views you tend to believe that this was your site color and forget about changing it. The logo would be designed with this in mind and that would define the personality of your brand.
5. Coordinating: Do not think twice before calling the development company. Acting professional and calling only on milestones would give you unpleasant surprises. You would realise that they were waiting for your milestone check to report a problem. Loosing temper with the developers in such case would only make the matter worse.
6. Motivation: For the time that they are working on your project you will have to treat them like your own employees, with lesser rights and more responsibility. You will need to pass on the same vision that you carry for the project to everyone in the team and make them feel as if its their own child. Although their rights are limted like a Nanny but they should feel responsible like a surrogate mother. (Recommended read on HR management)
7. Ask for More: Do not hesitate in asking for more. But do it in a phased manner. If blog installation was not part of SRS, you can still ask for it but don’t ask them to customize it as well. If you have motivated them enough then all you need to do is ask. ( Read: Ask and ye shall get it. ) A low bidding company may try and apply the same rule on you at a later stage.
Same rules apply when you are dealing with a different department within your own company.
[Naman is a startup enthusiast and has worked with couple of Indian startups as Product Manager. He is the founder of FindYogi]