It depends on where the software is built due to there are countries with cheap labor, tax benefits, etc.
To get valid results we should compare costs based on equal productivity of labor. The productivity estimation is a separate and hard task.
The outsourcing is not only about “Cost savings” it has number of advantages and disadvantages.
Check for details: http://en.wikipedia.org/wiki/Outsourcing
The duration of development heavily impacts cost, and is not inversely to number of developers, there are at least 2 factors:
1. Work can’t be divided intentionally into several independent parts.
2. Developers should spend part of their time on interaction.
The unit cost of software is different for software of different complexity.
Think about corporate blog where bug can cause annoyance and bank(aerospace, medical) software where we can lose millions of dollars or people.
We should distinguish between accidental complexity and essential complexity.
Accidental complexity relates to problems that we create on our own and can be fixed— for example, the details of writing and code optimization or platform related disadvantages for particular software development.
Essential complexity is caused by the problem to be solved, and nothing can remove it— if customer wants program with 10 different features, then those 10 things are essential and the program must do those 10 different things.
I’ve noted 3 most influential factors and missed other 997, also some universities created complex theories of software price calculations. But the knowledge of life says that software cost estimation is still hard task and only previous experience together with risk management still work well.