DEV Community

Daniel Dominguez
Daniel Dominguez

Posted on • Updated on

Tracking Key Development Metrics

How can you measure productivity, efficiency, and effectiveness, along with other indicators that can tell you about the quality of the overall development experience?

Let’s start with terminology. This may seem pretty basic, but software development is a human-intensive process. Much of its success hinges on a developer’s productivity and efficiency. These terms are often used interchangeably but they are actually different metrics:

  • Developer productivity is the ratio of output (i.e., the quantity of work completed) to input (i.e. effort, time). This metric is easy to measure, but it doesn’t tell the whole story.

  • Developer efficiency is measured by the amount of resources (i.e., time, computation power, human resources) used per unit of best possible output. It accounts for all the input required, so you can see if the team is doing enough of the right kind of work.

  • Developer effectiveness evaluates important contexts that allow your organization to address low morale, stress/burnout, and other factors that can contribute to poorer quality and high turnover in the long term.

Below you’ll find a list of other metrics that you can use to verify a successful impact on your software development process:

Number of merges per developer/day
Less time spent jumping between different tools and looking for information means more time to focus on shipping code. A second level of bottlenecks can be identified if you categorize contributions by domain (services, web, data, etc).

Deploys to production
A close cousin to the metric above. How many times does an engineer push changes into production?

MTTR
With clear ownership of all the pieces in your microservices ecosystem and all tools integrated into one place, its quick for teams to find the root cause of failures and fix them.

T-shapedness
A T-shaped engineer is someone who is able to contribute to different domains of engineering. Teams with T-shaped people have fewer bottlenecks and can therefore deliver more consistently.

Fragmentation
Software Templates help drive standardization in your software ecosystem. By measuring the variance in technology between different software components, it's possible to get a sense of the overall fragmentation in your ecosystem. Examples could include: framework versions, languages, deployment methods and various code quality measurements.

In conclusion, there is no universal answer on how to measure development success, but a healthy mix of qualitative and quantitative metrics mapped to your organization’s goals are key to that evaluation.


Follow me on Twitter for the upcoming updates @dominguezdaniel


Top comments (0)