Engineering analytics

Engineering analytics

Also known as Software engineering analytics, Development analytics

By WeavePublished 3 min read

Definition

Engineering analytics is the practice of using data about software development to understand how work moves, what teams deliver, and where quality or process problems arise. It combines measurements with the context needed to make engineering decisions.

Start with a decision

A dashboard is useful when it helps someone decide what to change. If releases keep slipping, an engineering manager might need to know whether work is waiting for review, blocked by another team, or failing its final checks. A chart of commits per week cannot answer those questions on its own.

Engineering analytics starts by connecting a question to observable evidence. Version control records changes. Pull requests capture parts of the review process. Deployment systems describe releases. Incident records show when a service needed attention. Developer surveys add information that these systems cannot see, such as whether documentation is difficult to trust.

Those sources describe different parts of the same workflow. Their timestamps, identifiers, and definitions need to agree before a combined chart becomes reliable.

What teams commonly measure

Delivery measures describe how work reaches users. Quality measures describe defects, reversions, and maintenance concerns. Collaboration measures expose review patterns and dependencies. Cost and capacity measures help teams understand where resources are going.

The useful combination depends on the question. A team evaluating an AI coding assistant needs more than adoption figures. It might examine completed work, review effort, defect patterns, and spending over the same period. A platform team improving builds needs evidence about waiting time and how frequently developers encounter it.

The SPACE framework provides a useful reminder that developer productivity spans several dimensions. Individual activity is only one of them.

A practical example

Consider an illustrative payments team whose pull requests take longer to merge this month. The team has not become slower at implementing changes. Instead, its security reviewer is shared with two other teams, and every change now waits for that person's approval.

Breaking elapsed time into stages exposes the queue. Adding more developers would probably increase the waiting work. Training a second reviewer or narrowing which changes require specialist approval addresses the actual constraint.

That is the difference between reporting a change and explaining a plausible reason for it. The data identifies where to investigate; conversations with the team establish what happened.

Reading the results responsibly

Compare like with like. A repository full of generated code will not resemble one that contains a small but critical authentication service. Team membership, release schedules, and the mix of work can all change a metric without a corresponding change in effectiveness.

Keep metric definitions visible. Does cycle time begin at the first commit, when a ticket enters development, or when a pull request opens? Does completed work include abandoned requests? Small differences in these choices can produce large differences in reported results.

Engineering analytics supports judgment. It does not remove the need to understand the work, and a single score should not stand in for a complete assessment of an engineer's contribution.

How this relates to Weave

Weave's Engineering Intelligence analyzes pull requests alongside output, quality, and review signals. That gives teams a way to investigate the work behind a trend rather than stopping at a count of commits or tickets. Its code output estimates describe implementation effort, so they should still be read alongside product outcomes and team context.

Explore Engineering intelligence

Sources and further reading

  1. The SPACE of Developer Productivity, Microsoft Research
  2. Engineering Intelligence, Weave