Thursday, July 15, 2010

Labor and Capital

At various points in my schooling, I was taught that the factors of production are land, labor, and capital, and later, land, labor, capital, and entrepreneurship.

I now realize there is only labor and capital. Land is a form of capital and entrepreneurship is a form of labor.

We are all born with the ability to perform labor. I can show up at a job site and perform labor, but I'm just a guy. If I work, and consume less than I produce (i.e., I save), then eventually I can buy a hammer. Now, I'm a guy with a hammer, and hopefully I can earn a higher wage. If I continue to save (which should be easier at the higher wage), I will eventually be able to buy a saw. Now, I'm a guy with a hammer and a saw. These tools (capital) help to leverage my labor to make me more productive and therefore able to command a higher wage.

Of course, hammers and saws are not the only tools. Some other tools are education, relationships, experience, and character. Some tools that are quite valuable do not require much money to acquire.

There are Two Kinds of People

Takers and givers. A person's response to this choice fundamentally determines their character and (therefore) behavior.

The World is not Fair

Fairness is a human construct. The world, as it exists, is not fair. It is left to humans to create fairness, justice, and mercy.

Corollary to Problem with Measurement Focus

There is an interesting corollary to my view that the more important something is, the harder it is to measure. That corollary was stated here in an economic context:

There may be less here than meets the eye because of the application of what economists call Goodhart's Law, i.e. once an economic indicator itself becomes the object of policy, it losses the information content which qualifies it as an indicator. In the context of China's goal of maintaining GDP growth of at least 8%, this means that China will misallocate capital and pursue sub-optimal policies just to hit that target. This results in asset bubbles and wasted resources in the long-run.

These distortions are common in management as well. Engineers spend all of their time copying receipts for expense reports and filling out time cards, while the company lurches towards bankruptcy.

Saturday, July 3, 2010

Software Development as Calvinball

"The only permanent rule in Calvinball is that you can't play it the same way twice!"

Calvinball, created by Bill Watterson in his comic strip Calvin and Hobbes (http://en.wikipedia.org/wiki/Calvin_and_Hobbes), involves combining aspects of many different games into a single chaotic game.

In many ways, software development resembles Calvinball, even when, and perhaps especially when, it is being done well. This leads to many discussions regarding the best ecosystem for software development. The best environment for software development depends on the current activities and the current participants.

For example, sometimes software development is like chess. It requires intense, uninterrupted concentration. During these periods, it is inappropriate to ask the developer to do anything that would be inappropriate to ask a chess player to do. It would be ludicrous to set a phone next to a chess player and ask him to answer it several times an hour (on the first ring!). It would also not make sense to play the game in a cubicle next to various sales people and purchasing agents who must spend much of their time on the phone and in conversation.

At a chess tournament, when a game ends, the players quietly leave the playing area and go elsewhere to converse and await their next game. They don't celebrate and disrupt the other people who are still engrossed in their games.

At other times, software development is like charades (http://en.wikipedia.org/wiki/Charades). The success of the task is dependent on spontaneous contributions from many individuals. The environment is boisterous and restrictions are kept to a minimum.

To maximize the effectiveness of a software development team, cultural norms and workspaces must be developed to allow the various aspects of software development to coexist as harmoniously as possible.