Effort vs productivity on software development

Alfredo Pinto Molina
4 min readOct 3, 2018

--

I am pretty sure you have hear that software developers are lazy. They don’t do much most of the time and only actually work a couple of hours over the day.

When you are in an assembly plant, let’s say for example assembling televisions, in that type of work is an issue if someone for just a couple of minutes stops doing his task. Those couple of minutes will mean that fewer television will be produced and when we convert that to money, it will raises the cost of the product.

With this management style unfortunately software manager want to manage software developers. The work of a software developer is not like the assembling people, is more like a craftsman, and in all types of craft work the ability to do a quality job will always be dependable on time and experience. The less experience some hone has the more time is required to do a quality job, the more experience the less time is required to do a quality job. I compare it as making a sculpture. It really requires a lot of time and dedication to develop the skills to create a fine sculpture and it won’t be on the world two sculptors alike, so there will not be two developers that will give the same results in any case.

For this reason, it is more important as manager to evaluate the results of the task as a productivity measure. If the developer do actually do his task with proper quality it will not matter if it takes 1 hour or 1 day. Obviously we evaluate the cost, if we have a budget we can not allow to take more than a certain time, but that is the job of the manager not the developer. The developer is presented with the problem or a task and he has to evaluate how long it will take to solve it and commit to finished at that time, that is the developers responsibility. The manager job is to evaluate if that is viable or not based on costs and to make sure the developer fulfill his estimate.

Once upon a time, I was applying for the position of project leader, the interviewer asked me how I plan to work. In my case, I implement processes and infrastructure, also I training the developers to make everybody life more easy (client, owners, developers and mine). I must admit that the person who interviewed me perfectly understand what I wanted to do and it make sense to him, but there was a problem. He realized that at one point my work was going to be very easy and minimum effort will be needed since the processes and the infrastructure will take care of most of the things, my job after that point will be only to maintain the processes. He did not like this because in his words: After implementing the processes you will not be working on anything most of the day. For him, the fact that I did not do have nothing to do for most of the day was a problem, even though I was going to create a work team that will be 4 times more efficient and productive than the one he currently had. (He was looking looking for team leader because he had a sinking project).

This is the problem when effort is more valued than productivity. The managers tend to appreciate more those who stay late at the office, those who come to work on weekends, those who miss their son’s birthday, those who come to work while his mother is at the hospital, the ones that haven’t take vacations in 5 years, and they despise to ones that work from 8:00 am to 5:00 pm and leave the office on time, the ones that do more stuff in less time, the ones who improve and get better at work.

Productivity is everything. When you have talented developers, the challenge is to learn how to measure their work on real productivity, how fast they finish the task, how many bugs the code produces, how many times QA returns the tickets, how many times the user says this is not what I need, and so on. But not on how much time they are actually busy.

Having a developer with little experience is very expensive, maybe they will be working all the time but if he can not deliver without failing on production, he takes long time to do things, he delivers what the client did not ask for, we need to explain things a thousand times, this is expensive and this is a problem a huge problem, but you clearly see a great effort.

Of course it does not mean that talent developers should not have discipline, nor permission to break rules and do what they want, the point of all this is to show the importance to value a lot more the productivity over the effort. It will be your job as a manager to find ways to keep talent people busy. You can use strategies like the ones in this book: Game Frame — Aaron Dignan

--

--