General approach - Benchmarking

How does your performance compare with that of others?

In order to be able to make promises you can deliver on you need to be confident of the performance of your software development organization. You want a stable performance that continuously improves.

The major components of performance improvement are:

  1. identifying one or more performance metrics
  2. collecting an appropriate and required quantity of data
  3. analyzing and interpreting the data
  4. driving an action plan for improvement
KEDEHub focuses on the first three components and leaves the fourth to you.

The first component could be a challenge, because you might have any number of separate software development projects or products to support, and each team might work differently. You should make sure the selected metric can be used across projects, teams and companies. In software development there are plentiful metrics which are not suitable - lines of code, number of commits to name a few. Fortunately for you KEDEHub uses the only scientifically backed performance metric - knowledge discovery efficiency (KEDE).

We cover the second component for you. We gather data by analyzing your local Git repositories. The source code in your repositories always stays on your premises. We never make a copy of the git contents of a repository. Then we calculate KEDE and report it per developer, team, project and company.

The third component could also be a challenge, because metrics can provide value only when properly interpreted in the right context. When looking at a metric, how will you know if the result is “good” or “needs improvement”? By using benchmarks. Benchmarks are a standard against which to measure your own performance.

Benchmarking is an important tool that managers can use to understand how their performance compares with that of others. You can make longitudinal, or dynamic comparisons, where the performance of one or more units in different time periods are compared. This can be achieved using rigorous time series analysis methods with graphical presentation of data to make the data more understandable to decision makers.

There are two steps that include benchmarking when analyzing performance data.

  1. Compare the process with an internal benchmark. That is also referred to as intra-organizational comparison.
  2. Compare the process with an external benchmark. That is also referred to as inter-organizational comparison.
For the first step the benchmark can be your organization's historical capability. For the second step the benchmark can be the historical capability of your industry as a whole. KEDEHub provides visual reports for both steps.

You can use KEDEHub to frequently benchmark the organization's capability.

With KEDEHub the benchmarking exercise is:

  • Fast and easy to do. Takes an hour to benchmark on a weekly basis. This way the benchmark will be always relevant even for the shortest of contracts.
  • Much cheaper compared to using consulting services. You can benchmark on your own and negotiate your contracts without the benefit of external services.
  • Credible and applicable across programming languages, technologies and domains. You will not be arguing with vendors over data and analysis.
  • Narrow in scope. You can benchmark a team, a project, a program and a whole company. For that you should make sure the clause gives them control over what is to be benchmarked,
  • Transparent so that you and your vendors go out of the exercise with agreement that the numbers are valid. That way the benchmarking exercise is more likely to result in problem solving than finger pointing.

Benchmarks can be used to assess a wide range of alternative scenarios, including the impact of disruptive technologies. As the analyses become more open-ended, it's less about the service provider taking a hit on revenue, and more about a potential win-win.

Further reading

Getting started