The Watch Angels store

The Angel round is for those who like to commit on the basis of the reputation/motivations of the creator, a design intention and a product concept. They also want to be involved in the process of…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




How to Explain the Pitfalls of Developer Productivity Metrics

Companies love numbers. They love to boast about their numbers and are constantly developing ways to measure even the most mundane things ranging from daily employee coffee intake to smoke breaks. But the one thing companies have tried and failed to measure is developer productivity.

Many have tried, but few have succeeded in creating the right metrics for developer productivity. It all boils down to the abstract nature of the field. Non-technical stakeholders love to use this refrain:

But how accurate is this when it comes to developer productivity?

Attempts have been made to measure developer productivity in terms of number of lines of code, number of commits per day or even function or story points. But anyone who is actually a developer knows the pitfalls of measuring productivity using these metrics.

For example, Number of Lines of Code can easily be achieved since IDEs generate a lot of boilerplate code, therefore writing more lines of code doesn’t always mean it is the most optimal implementation or maintainable code. This dilemma is further complicated when you factor in the inclusion of comments.

Another pitfall is that the Agile development process introduced the concept of story points to estimate relative complexity. The Agile manifesto did not realize that this would be used by project managers for measuring developer productivity. Unfortunately, Managers get vilified for using these metrics when all they we looking for is a metric to measure progress in order to raise red flags to management, they ended up using because of lack of options.

So what is the solution?

Here’s my take on this!

Measuring productivity isn’t as simple as measuring something concrete like yearly rainfall or office expenditure. Productivity is a very abstract and individual concept that has many (often unquantifiable) variables. Developer productivity is affected by a number of factors, namely:

So why is it so necessary to have a system to measure developer productivity in spite of the difficulties in creating concrete metrics? Simply put, to measure progress.

Companies are all about optimising the cost-benefit ratios and one way to do this is by weeding out workers who don’t meet productivity standards. But how do you differentiate between an unproductive employee and a productive one if common techniques like quantifying the number of lines of code or story points don’t work ?

By creating the right metrics.

A problem as complex as measuring developer productivity requires creative solutions. I like to use the example of my weight loss journey when proposing ways to measure developer productivity. Weight loss, like developer productivity, is a complex problem with multiple variables involved. When measuring weight loss, you are not just looking at overall reduction on the weighing scale. You are also factoring in for variables that impact it, such as your body composition, amount of salt intake, duration of sleep, stress and motivation. It is a similar case with measuring productivity. The parts are as important as the whole.

With my weight loss journey, I learnt to not only document daily measurements on the weighing scale, I also made it a point to make a note of other factors affecting my weight. Some key metrics which I used were:

a. Was I feeling hungry all the time?

b. How was my sleep pattern?

c. My mental state and energy levels.

Everything was painstakingly recorded on an excel spreadsheet. This data allowed me to tweak my diet and exercise plan according to my weekly and monthly goals. A key benefit of doing this was, even on days when there seemed no progress, my weight loss spreadsheet proved otherwise. The slow but positive progress motivated me to stick to my schedule.

You’re probably wondering what is the purpose of this example. The point I am trying to make is, you can’t measure progress with just one criteria. That will not give you a whole and true picture of what your developer is accomplishing.

The question that arises is how then do you measure developer productivity in a fair way that can’t be gamed?

The first thing is, as a manager you need to sit down with your developer and work out an action plan. Easier said than done, of course. The most important factor here is that the developer or engineer needs to understand and acknowledge that their growth lies in coming up with an actionable plan to measure their output.

In my experience, I have found this combination of multiple metrics to be ideal in measuring a software engineer’s output.

Using these metrics provides team managers with a way to quantify the productivity levels of their team’s software developers. Perhaps now you may be able to find the slacker from the powerhouse!

Related Articles

Add a comment

Related posts:

Create a Django API in These 5 Steps

Maybe you want to make changes to database and also reflect that back on the webpage for a user on a click of a button; without reloading, sort of like an app, right? Well what you are looking for is…

Is the Cryptocurrency Bear Market Over?

After months of constant downward price action, many well-respected cryptocurrency analysts are taking to Twitter and social media to say why they believe the bear market is officially over. Willy…

Paying attention to attention

The irony of publishing this on a site where writers are competing with catchy headlines and alluring first line previews isn’t lost on me. But if it nudges even one person towards a more purposeful…