The title would itself would have hinted you what I am going to share in this post. It is critical to understand that someone has to understand what is being done for what is wished for. If neither the client nor the vendor is sure on what needs to be achieved, it can well mean the ‘project’ walking aimlessly, blindfolded.
Small and Medium businesses in particular have clearer needs in terms of what is the software development they need done. However, at times they are not aware which technology might suit their needs best, what framework would make their application scalable and what databases would be able to take up the load of the concurrent high volume usage once their business picks up and what applications or licenses should they be using to save if not thousands but atleast hundreds of dollars. And all this should be catered to by the outsourcing firm you are speaking with.
If you are not able to get clearer comparisons, and you are not able to get confirmed answers of these, trust me, you can take it as an early sign of the vendor firm’s incapability in competing frameworks, hence you would be told only one option and you would be advised that it is the best option for you. Give me a break! The availability of developers’ skillsets would determine my product’s technology? It should always be the other way round – I am informed – i get to know what works best and then if you have expertise – we can talk!!
Simple classy example: Client needs to develop a prototype for something. The need is to get something done quickly so that he can get his funding companies or end-clients or his users to get a feel of the product before he actually invests significantly in the product. Here scalability is not the concern. Time to Market is. Cost is. Reason – Client can not experiment at a huge cost. Costs have to be down, still majority features should be there in the product to generate interest and yet it has to be done quickly!
What would most firms do?
They will wait to hear about the technology requirements and then your choice of technology and then they will advise not this that.. Not that this. BS!!
Python – inherent strengths are it is a very powerful language (meaning can be used to build a wide variety of applications) and is pretty easy to learn. Thats the reason it is used to teach programming in most universities and colleges. It is around 4-5 times faster to build an application in Python than in Java.But Java is preferred when building robust ‘real’ applications. You can check Python.org for detailed comparison and all but that is not the point.
The point is reaching out to a vendor who gives you suggestions on how to reach your objectives quicker, yet not compromising with the quality. The only way such a thing can happen is when the vendor has expertise in all technologies, has worked previously with the technology and has gained experience along the way.
There are more such critical factors which can become a bottleneck in offshore project success. To read more about the pain points, Download Mindfire Whitepaper.