I get asked the question, “What is the average cost of develop software?” all the time. The answer it depends.
1. When people ask the average what they are asking is what is the average unit cost of software. This is a similar question to what is the average cost per square foot of construction. I use function points, so the question becomes what is the average cost per function point to develop software. The average dollars per function point is one way to determine the average dollars per unit of software developed.
2. The average cost per unit of software developed depends on several factors.
2a. The type of business the software supports. The unit cost of software is going to be different for insurance industry and the aerospace industry. The same is true with construction. The average cost per square foot to build a mission control building for NASA is not going to be the same as the cost per square foot to build an insurance office building.
2b. Location, Location, Location. Like real estate the cost per unit of software is going to depend on where it is built. If the software is built with cheap labor (the main input), then the cost will be less. Of course it depends if the cheap labor is of equal productivity. If the cheap labor is half the cost and half as good, then you really do not gain anything from using cheap labor.
2c. Duration. The duration impacts cost too. Not only development costs but maintenance costs. If the the software has to be developed as soon as possible it is going to be expensive per unit.
Actually there are about 50 other factors that impact cost, but these are three big ones.
Read more at Reboot! Rethinking and Restarting Software Development.