Discusssing about the opportunity to create a special bonus for re-usable code written during projects

julma's picture

I was pleased to read how a senior programmer can think : http://www.palantir.net/blog/3-years-drupal-love

But how to encourgage this behavior to write good and re-usable code ?

Alistair Cockburn, one of the father of agile software methodology, and he author of a book that I am currently reading often describe programming as a cooperative game and also as to write poetry.That make me think about a new bonus rule for some drupal projects I am working on (around 100 man-days projects with team of three developers and short delays) :

Code that is re-usable, and contributed to the community is real "poetry". As an author they earn a special bonus for it.
Other kind of code is just "anonymous" code.

So basicely at the end of the project there will be two kind of bonus in order to motivate the team members :

  • The first bonus depends of how happy the client is with the product we deliver to him, and also how we manage the timeline and the budget given to us, because it still remains the main goal of the game.
  • The second bonus depends of the re-usable code written during the project and is explicitely and only dedicated to this purpose.

We will see if it works and I will let you know what code have been contributed at the end of this projects.

Login to post comments

In Russia we have popular

igor.ro's picture
igor.ro - Thu, 2008-10-16 09:05

In Russia we have popular article "Substandard vocabulary of programmers" I. Ashmanov.
http://www.ashmanov.com/pap/obspro.phtml

You can find there such phrase

"If all code will be general solution we solve not only particular task, but also a new programm product, that we can sale and that way cover the expenses"

This is a fantasy. Development of project in general solution cost more than 3 prices of particular solution.
And no body research market and competitors of this product.

Do not you afraid that programmers in race to bonuses will do project more and more generaly?
And fail timeline?

I think we have other way to get reusable code?
And for what do you need reusable code?


So first it seems that this

julma's picture
julma - Mon, 2008-12-15 18:14

So first it seems that this bonus idea doesn't work.

It seems that individuals only can decide if they really want to contribute code to the community. It is a personnal choice.

Also I agree that good contributed code is difficult to produce in the timeline of a single project. It is something that need to mature over several project maybe... basicely when developer is asked to solve several times the same kind of problem he starts to think about a more general solution that will help him to save time.

Also developers can earn new job opportunities and bigger salaries when they become famous contributor of an open source.project. This can also be a part of their motivation and maybe also part of the motivation of certain employeers to not encourage developers to contribute back to the community.

However the best companies doesn't seems to think like that nowadays. Maybe there can be a win-win situation in the open source model.