Chicken tasting fries and software engineering
Thursday, October 12, 2006
Economists are a trendy breed. I don't think they ever go out of style, due to their crazy invention of free market economies, business cycles, fiscal policies, and such.
Economists are a mix of statisticians and calculus junkies--they love to take derivatives to find marginal costs in price and demand curves. These funky graphs let you figure out how much to produce and where to produce to stay profitable.
Somehow, economist looked at these graphs and came up with the fancy names we throw around to sound smart: economies of scale, economies of scope, economies of learning, and economies of "whatever you can think of."
What are economies of scale? In not so technical terms, it means that the bigger a company is the cheaper it will be to produce trinkets as long as marginal cost is less than marginal revenues, i.e., the revenue for one more item sold is more than what it cost to actually make.
For example, in the graph below (assume you wanted to produce Q5
units), you can see that the most economic production route would be to use up to 3 plants, assuming that this particular company has enough capital to have up to four manufacturing plants available.
This graph looks intimidating at first, but economists are not easily scared. They give these wavy curves the name of Average Costs per plant. So from the graph we can see that for this particular firm manufacturing Q5
trinkets, it is better to be big.
Which brings me to chicken tasting fries and economies of scope.
Assume that C is a cost of function, then economies of scope can be defined as:C(QX, QY) < C(QX) + C(QY)
In human-speak this means that if we wanted to produce quantity Q of two products X and Y and we had two different manufacturing process, then the cost to produce each product would be C(QX
) and C(QY
), respectively. Now, if these two products had certain manufacturing commonalities then our definition says that we can put in place a manufacturing plant to produce both products simultaneously and it will be cheaper, i.e., C(QX
It matters not what the similarities are, as long there is something in common our definition will be applicable. In essence, it is about lowering the production costs of things that share a similar production process, which is what chicken tasting fries is all about.
Earlier today, I visited the local mall to buy lunch from a place I won't name, but the name rhymes with "Paco Bell" and "Pentucky Tried Chicken." The two food chains are owned by the same company, so it makes sense to only have one locale with interchangeable workers and cooking equipment.
Because of this clever saving scheme, I got an extra bit of food for my money--something I call a "consumer benefit." The frying oil for Pentuky's chicken is the same as the fries for Paco Bell. I didn't know this, so I was a bit surprised when I found a piece of (unwanted) fried chicken skin in my fries supreme...I mean fries extreme.
I have to admit I was a little grossed out, but ate the fries none the less and immediately thought of why this happened. And you guessed it, "economies of scope" popped in my mind: both food items are fried, so reusing the oil and frying machine saves money, however, some picky customers may not like it too much--I know I didn't and I'm not picky.
These economic concepts can be used in any engineering context, including software engineering. The names we give them are different, but looking at the graph above and thinking of C(QX
) < C(QX
) + C(QY
), it shouldn't surprise anyone why Object Oriented Development is actually a good thing.