Monday, January 17, 2005
The Value of Software
Joel Spolsky is well-known for his personal blog devoted to software and the challenges of running a small software company. Nearly five years ago, he posted an entry characterizing his company as a machine for "converting capital into software that works." He compares building great software to running a great restaurant or making a great movie. I'm interested in this idea because I still see a lot of potential in mom n' pop software shops running in someone's garage, and I'd like to run one myself. One of the great things about building software as a business is that the margins can be so high. Since I'm not interested in scaling mediocrity up to epic proportions to make a ton of money, I wanna know how much value one or a few programmers can generate. Thing is, valuing software is tricky. It's not like a commodity you can put on a scale and determine it's value by simple arithmetic. Plenty of studies have been done to find out how many thousands of lines of code a typical programmer can churn out in a month or a year, or whatever. This is sort of interesting, but on the other hand I could write a script that generates reams of syntactically correct code in moments. It's a case where quality is much more important than quantity. Since I can only slam out so many lines of code, how do I maximize the average value-per-line? And what might that number be in a best-case scenario? How about an average-case? I've got a family to feed!