-
Notifications
You must be signed in to change notification settings - Fork 49
Developer effort analysis
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.
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.
$ gulp developer-effort-analysis [--dateFrom=<dateFrom>] [--dateTo=<dateTo>]
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.
$ 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.
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.
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.
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.
Hovering on a circle will show the main developer and degree of ownership:
Using the control on the left side you can put the spotlight on a specific developer/team:
And again you can adjust the number of visible nodes by only showing nodes/files of a certain size: