Thursday, September 21, 2006

A renumeration model for distributed development

We tend to think of the stone-age ways of tracking effort when we consider renumeration:
- work 8 hours, punch card @ 09:00, punch card @ 18:00, hour lunch... done!
- promotion: how many lines of code produced?
- promotion: how many bugs fixed?

All of these methods that deal with straight numbers used immediately for some kind of reward are subject to cheating (check out online games for example and the hacks available). Even if the technology were invented to try to prevent this kind of cheating, there is (and always will be?) a way to bypass that technology.

I therefore turned towards different renumeration methods and got the idea of looking at the renumeration model as a kind of market or "bazaar", a mini-economy inside the enterprise that is governed and managed by the employees. The idea is that the project manager or architect or whoever posts tasks on some board or custom piece of software. Then members log in later and from the description given, rate the work by allocating their estimation against it in the form of some pseudo-currency.

Then through consensus, people will have to agree the reward amount to complete a work. After a certain percentage of agreement (across all members), the task is marked as available to start work. The best choice from the available employees will then have to be allocated to the task. Tasks that do not get picked up in time will automatically increase the renumeration.

The fairness in the model is that if someone does not pick up and complete tasks, that person does not get paid, but will not reduce the value of the cooperative that much as he could have done would there be some hours/effort measuring mechanism.

The good thing about this model is that someone can do this from home. Log in to the company portal in the morning, find a job to do, finish it, post it, have it reviewed and marked as completed, commit work and start another. The professional working in this way is fully responsable for his own time management, meets maybe once a week together during lunch and at a rented meeting room facility, but for the rest decides *how* and *when* he works on the task that was allocated.

If the task is not finished, this will reduce slightly the value for the others, but at the same time that person does not get paid at the end of the month. The trick probably will be to pick up longer and shorter tasks as required, so that there is always some kind of in-flux, but that is experience.

Being 100% responsible for one's own time management is a level of freedom that maximizes quality of life, but also puts that 100% responsibility on the professional.

This model does have some flaws, for example inflation and/or deflation. In such a mini-economy, comparisons with other work items may cause the price to fall or rise, sometimes significantly. This could be a natural phenomena in smaller economies, because after all, it is the consumers that produce this kind of inflation or deflation, based on their perception of 'value' in the market.

The pseudo-currency is necessary in order to ensure that the money that was allocated is actually available. At the end of the month the cooperative members agree the actual total amount of money that is allocated to wages. Then that amount is distributed according to the factors of the pseudo-currency. This ensures that the cooperative manages their finances better.
Becoming more productive therefore gets people a larger part of the overall money. Not doing that much reduces this.

Task completion is another issue to deal with. That means, identifying that a certain task is actually finished with satisfaction. This may cause some diplomatic/political issues, because there may be an incentive for other members to discredit work of others for their own gains.

An extra incentive in teaching and learning can be created by setting up a forum that uses the pseudo-currency exchange as well. This is... someone picks up a task and starts work, hits a problem. In order to solve a difficult problem by somebody else, the question is put on the forum board with a certain pseudo-currency amount against it. The person that resolves the question will then receive part of the currency amount that was put against the work item by answering the question. This stimulates cooperation on the forum and people helping others out and stimulates also that people look/attempt first, then ask.

Basically, what is suggested here, is a method for renumeration in a distributed development company that is based on a free-market mini-economy, which is based on concensus and fairness and aimed at the reduction of cheating (fair compensation across the cooperative)

Update: We discussed this model at C.E.S.A.R shortly and came to the conclusion that there are some rules that need to be in place for this model to work effectively. This could be compared to market regulation by the government.

Two rules need to be in place:
  • Ensure that there is always more work available then people to do that work
  • To penalize the group as a whole for not meeting a certain monthly target. This is to prevent people from becoming 100% individualist (not caring about helping out others in the cooperative, but taking on many tasks throughout the month)
The main rules should focus on creating the right eco-system (incentives and rewards) for a group to function properly, taking into account the proper balance between individual and group interest.

Monday, September 18, 2006

Google.org

Google has a philantropic organization, but this is not necessarily "not" making profit. Interesting (cannot be classified "philantropic" because of the definition), but still a good start.

The Google org helps start ups with specific "friendly" goals ( giving it seed money of about $1 billion and a mandate to tackle poverty, disease and global warming. )

Clearly shows that people nowadays consider the only reason for existence for a company should be to make money.

Hopefully this initiative will develop some companies that have "meaning".

http://www.nytimes.com/2006/09/14/technology/14google.html
http://www.google.org/

When going to the google.org website, notice how "simple" the proposals are that Google has invested in. When you think about it, it's nothing too fancy. Just a small initiative that can already make small changes to the community without costing a lot of money. That, I guess, is the key for this kind of work. Create opportunity and capability, not waste buckets of money.

Tuesday, September 12, 2006

Guy Kawasaki...

Guy Kawasaki is a managing director of a venture capital firm in the US.

(read more here...)

He has a video on Google that shows his presentation about his book "The Art of the Start". I think it is a very refreshing look on starting up a business and deserves to be seen, not just if you want to start up a business, but also if you want to revive your own work and re-evaluate your contributions to your company (how it can be made more effective).

Check it out, and then perhaps buy his book :)

Monday, September 04, 2006

Democratic Organizations?

Recently some guy on Slashdot asked the question why it would be impossible to have a sort of company with democratic values?

I responded, mostly posting some links to places here and there about cooperatives and also about things I posted in this blog.

Today I got invited for a forum set up for the purpose of discussing (what are) how to set up democratic companies and who knows, it might go somewhere. Maybe not in a practical sense (setup of a company), but at least some more generated knowledge and especially.... viewpoints!

Yes, a democratic company is much more subject to individual opinion. So, knowing the expectations of others gives a lot more insight into this process.