Codiga has joined Datadog!

Read the Blog·

Interested in our Static Analysis?

Sign up
← All posts
Julien Delange Monday, March 1, 2021

Improve your software development team using team behavior analysis

Share

AUTHOR

Julien Delange, Founder and CEO

Julien is the CEO of Codiga. Before starting Codiga, Julien was a software engineer at Twitter and Amazon Web Services.

Julien has a PhD in computer science from Universite Pierre et Marie Curie in Paris, France.

See all articles

Managing software development teams is hard, and supporting developer growth is a complex task. Guiding the team’s focus is also challenging and the development plan needs to be backed by data. Developers also want to know how they can improve and get better at their job. Doing so requires you to get metrics about your developers’ productivity (number of code reviews, issues introduced, etc), at both the team and individual level.

We recently shipped a new feature that exposes time-series metrics about your team performance and helps you gain insights on the performance of your team, allowing you to access data to grow their careers using individual data.

Team Metrics

The team metrics function exposes the following time-series data:

  • number of code reviews for each developer per week
  • number of code review comments (showing a violation, duplicate, complex or long function)
  • the most common violations introduced by your team members
  • the files modified the most by your team members
  • the average number of lines of code added or removed by team members

This data is helpful to get a better understanding of your team dynamics and is especially useful doing a retrospective or during a periodic performance review. For example, if there is an important variance in the number of code reviews between developers in the same team, it can be a sign of a potential problem: either one developer has issues making code changes (and might need help) or the developer doing too many code reviews might also not deliver great code (e.g. skipping writing tests). Another example is related to the files being modified: if the same files are modified by all team members, it might surface architectural or design issues (such as a god class that is used by too many classes or functions).

This data supports software development managers in growing their team. Such data helps to surface potential problems, and managers should engage with their team members to discuss them and find appropriate fixes (e.g. more support to engineers, re-architecture the system, etc)

Individual metrics

The individual metrics focus on a particular developer, their performance over time and recommendations regarding how to improve. The platform surfaces their activity over time:

  • number of weekly code reviews
  • number of errors detected in code reviews
  • number of lines added and removed in each code review
  • files modified most often
  • top errors introduced in code reviews

These metrics help both the developer and the manager to evaluate whether there are any issues. In particular, if their code reviews evaluate a significant number of lines of code added or removed at one time, it might be a good idea to split them up or define a clear scope for them in order to facilitate reviews by other team members. Similarly, if the developer consistently modifies the same files over a long period of time, it might be indicative of a potential design problem (and the developer should plan to re-architect the system to avoid them).

Wrapping up

Having metrics on code reviews is vital to manage a software development team. It provides data to surface potential problems in the team dynamics or in the software. These metrics help software development managers flag problems, and it is then their responsibility to talk with their team in order to diagnose the root cause and fix it.

All these metrics are now available to all Codiga users today. They are available in the “Code Reviews” menu of the platform, as shown above.

Are you interested in Datadog Static Analysis?

Sign up