Measuring Productivity
I was chatting with a co-worker the other day and we were talking about working in an office. For knowledge workers going back to an office may have little value, but for managers they really have no way to measure if a person is being “productive” either at home or in the office, so the theory may be that if a worker can be seen not “goofing off”, then they are productive. However, is that a good measure of productivity? How can productivity be measured?
That got me thinking about the job I perform and how productivity could be measured. For people that work with their hands, i.e. not knowledge workers, measuring productivity is pretty straightforward as their tasks are usually repetitive and can be measured as units of work per time. Think stocking shelves; a certain number of shelves can be stocked in a period of time. Same goes for construction workers; they build something in a given amount of time.
For knowledge workers, productivity is harder to measure. In my last job, management seemed to be about metrics and would regularly tell us who committed code. Even worse than that, someone I worked with at that company surmised that layoffs (there were 5 rounds during my time there) were tied to how often we committed code. For anyone that writes code, this is an absolutely awful way to judge productivity because people could commit often, deleting code can be productive, analyzing code and not committing could also be considered productive.
Is analyzing a bug productive? Sure, but how is that measured? Bugs come in all different shapes and sizes and some could take a short time to fix while others could take a long time; does that make a person working on the easier bug less productive than then one working on a harder bug? Is developing features productive? Sure, but features like bugs are not created the same. Would you say that a feature is a unit of measure per time? So you’d be half as productive if your feature took twice as long to develop? Do more lines of code mean being more productive? Absolutely not as something really complicated might be accomplished in fewer lines of code; a lot of time could be spent finding where and what lines to write.
Let’s talk about not actually writing code, but writing documentation. Would you count the words written as a metric? That’s pretty ridiculous. How about architecting a solution where you think about a problem for awhile? Can you measure productivity there?
Are there days that I feel “productive”? Absolutely. Can I tell you what I did to feel that way? Probably not. Solving problems could make me feel productive, but the amount of time getting to the solution I may not feel productive even though it is part of the process.
Bottom line is that I don’t believe there is a good way to measure productivity for a knowledge worker. Some people may disagree with me, but I haven’t seen it done well in my career.