Skip to content

Developer effort analysis

Silvio Montanari edited this page Nov 26, 2017 · 5 revisions

Description

When scaling an organisation, one of the biggest challenges is to find the right balance between the goals of increasing productivity (more people to the same project) and maintaining efficiency (smaller teams and simpler processes), and at the same time ensuring that critical knowledge is not lost when employees leave the company.

This analysis tracks the ownership model on each file of the codebase, and helps you to understand how the overall knowledge is distributed between teams and developers.

Tasks

developer effort analysis

This tasks measures the developer effort on each file based on the total number of revisions. If team information is available the same data is also aggregated at team level.

Usage
$ gulp developer-effort-analysis [--dateFrom=<dateFrom>] [--dateTo=<dateTo>]

knowledge map analysis

This tasks derives the developer ownership on each file based on the total number of added lines of code. If team information is available the same data is also aggregated at team level.

Usage
$ gulp knowledge-map-analysis [--dateFrom=<dateFrom>] [--dateTo=<dateTo>]

Note: In order to aggregate data at team level you have to provide team information to code-forensics using the contributors configuration setting.

Visualisation

The developer effort report is displayed by means of a treemap diagram, another way to represent the hierarchical structure of most codebases where each rectangle/tile is a package/module or file. The diagram is interactive and you can navigate through each entity by zooming in and out of every tile.

Developer effort diagram Developer effort diagram - tiles

The size of each tile is proportional to the total number of revisions of the module/file, however, when the tile represents a single file, its area is split relatively to the number of revisions that each developer/team contributed for. This representation is particularly useful to understand the level of fragmentation of the development effort.

Developer effort diagram - developer Developer effort diagram - team

The knowledge map analysis report is presented as an enclosure diagram. The interaction is equivalent to the hotspot diagram, although now the nodes characterising individual files are filled with a colour corresponding to their main developer/team.

Knowledge map diagram

Hovering on a circle will show the main developer and degree of ownership:

Knowledge map diagram - tooltip

Using the control on the left side you can put the spotlight on a specific developer/team:

Knowledge map diagram - colour filter

And again you can adjust the number of visible nodes by only showing nodes/files of a certain size:

Knowledge map diagram - sloc filter