Appreciation to Programmers

by David Sudjiman ~ June 14th, 2007. Filed under: Opinion.

Talking about Software Metric on S/W development, several methods are available in the real world project. Using these metrics, We can say that particular project requires more attention or requires more men-hours. Then suddenly I was thinking about resource management in S/W house. Just say that one programmer in S/W house is working with a team to create a project. In this case, we can say that this programmer has 1 load. This is the easiest part where the programmer can allocate the resource 100% to such project. On the next week, where he/she hasn’t finish the project, another request comes and asking whether he/she can help with another project, and the load is now 2 projects with 50% and 50% resource allocation (we can also say 30% and 70% resource allocation, depends on the project. Read the Project Load-Based Limitation below). So, using this linear approach each programmer has this load

        | Resource
Project	| per
	| Project
--------+---------
   1    |  100%
   2    |   50%
   3    |   33.3%
  ...   |  ...
   n    | (100%/n)

Figure 1. Relation between Project and Resource per Project

In real world, that it is always the case that programmer can only takes quite a few number of project and only big S/W house company understand this situation and putting less that 3 projects per programmer (some are only 1 project per programmer).

Now, the interesting part is, how can we convert this men-hour to some amount of money we can charge to customer. If 1 progammer only doing 1 project, probably the fee would be X, but what if the programmer has 2 project at a time? will the fee goes the same X just like what other S/W does? Common payment (or I would like to say appreciation) for programmer is monthly payment (based on yearly amount). This practice is very common so it doesn’t matter whether the programmer do 1 project or 3 project or even not doing anything (for not doing anything that would be rare cases!). So, If the S/W house is taking this approach to pay the programmer, i can only say that the S/W house taking to much advantage by expliotate the programmer to certain extent.

IMHO, the appreciation should be based on the load/amount of projects he/she is doing. For 1 project, programmer gets 1 appreciation. 2 projects, programmer gets 2 appreciation. So, Y project(s), the programmer gets Y amount of money.

Y project = X appreciation

 |
3|     *
2|   *
1| *
 +-+-+-+----
   1 2 3

Figure 2. Relations between Project and Appreciation

Although this is could advantage the programmer in the side of appreciation, some greedy programmer will tend to get as much as project as possible and the quality of the S/W will degrade. One way to solve this problem is have some good supervising that inside the S/W house that the programmer is working, he/she can only do some number of projects. Junior programmer probably will have 1 project with tight supervision from senior programmer and senior programmer will be trusted to handle (for example) 3 projects. It is not the-sky-is-the-limit. The limit may vary based on the project load, seniority (experience and capability), and sometimes a little push from the Big Boss.

Project Load-based Limitation. The above approach (Figure 1) trying to simulate the real world project based on number of project. Which is not acctually applicable in the real world S/W house operation. Sometime, 1 person would have 30% of A project and 70% of B project. However, there is no particular way to understand how much precentage exactly the resource allocation for certain project. Percentage is usually based on assumption and that working with several functions of project A is assumed 30% and doing several functions for project B is 70%. I might agree that some people would say that this an “Assumption-based Limitation” rather than a “Project Load-Based Limitation”.

For this certain type of resource allocation, the programmer entitle based on the precentage of the load. Using the same scenario as the above paragraph, the programmer entitle to have 30% of the total amount of payment he/she entitled and from project B, the programmer entitle to have 70% of total amount he/she entitle to have.



Leave a Reply