what are the most crucial steps to be taken by a new tech startup when outsourcing major part of the tech to IT firms or outsourcing "product development" eg new social media website project?
Products Technology Development Social Media
I'd say the first thing you need to do is to do the tech in house. You need to find a software developer that can help you with your project and it also needs to be a person that can grow with the company, otherwise the interest and the effort they give to this project will not exist.
If yours is a "tech startup" it really needs to have "tech" people as part of the team, outsourcing the tech part for a tech startup does not work - IMHO.
If you do in house or out house make sure you have written up the specifications. Once the specifications are written up if you have an internal architect you can look at what tech direction your going to go and what parts are not core and can be written outside the firm and what is core that needs to remain inside the firm. If you have well written specifications that can be broken apart you can even have different firms write up different parts of the code while knowing that as long as they are following the technical specifications the components will work together.
I'd also suggest that you put together a good test plan and test scripts (doesn't need to be automated). All code has defects in it. So you need to identify it up front.
I think though Ricardo has a good point about a tech startup having tech. I'm all for outsourcing to reduce costs but I suggest that its not all outsourced because how is it going to be managed without internal technical knowing people?
Get someone who has done it before and can prove it. Prior behavior is a pretty good indicator of the future. References are also important.
Know your strengths. If you feel the strengths of your business are in your ability to market and service your customers through a website with very basic features, you can consider outsourcing the development with little in-house IT expertise. There are so many social media websites out there, you could probably use their functionality as an example of what you want. Maybe you're building a 'Facebook' like app for birdwatchers, but allows them to categorize their photos by English and Latin names?
Have a plan to bring it in-house. Even the most basic website will require a lot of maintenance as you grow. New clients will not want to signup for a slow system and existing ones may start to look elsewhere. You are better off with someone who has a vested interest in your business and isn't charging by the hour as they attempt to find bottlenecks in your system.