Collaborytics: Overview

Go to Collaborytics >

Collaborytics is an analytics and visualization application for source code management systems. It's aim is to assist software development teams, architects, consultants and project managers to visualize various metrics that apply to software development projects. Strictly speaking, the repository being visualized doesn't have to be a source code repository, but could be a repository for, say, book-writing authors too.


Collaborytics helps users gain any useful information about a team's adherence to good Source Code Management (SCM) practices--such as small and frequent checkins--and good Extreme Programming (XP) practices--such as pair rotations and collective code ownership--by analyzing the evolution of a codebase in a repository over time.

The motivation is to visualize metrics that developers, technical leads and consultants like myself will find useful for gaining insight into their software development process. For example, a popular social coding service, GitHub, has some graphs to visualize "Code Impact" (lines added + lines deleted for all non-merge commits during a given timeframe) and commit activity by day and hour.


The questions that the minimum feature set answers are:
- How active is each contributor/developer?
- Are the contributors/developers making small and frequent changes or otherwise? (More info on XP best practice of small and frequent checkins.)
- What are the trends and outliers in file impact and files/checkin over time?
- What is the contribution level (# of unique contributors) for different time periods (or iterations)?
- How do the various metrics relate to each other (exploration of multidimensional metrics)?

Some of the questions I would like to answer with the visualization in the future are:
- What are the most/least active areas of the codebase?
- Is there a good dispersion of code ownership amongst the developers?
- Who has more experience in what parts of the codebase?
- What are the trends in line impact and lines/checkin? This provides a lower level of granularity

In the future, I would also like to incorporate other metrics such as flog scores, toxicity and cyclomatic complexity, but at the moment I'm more interested in spotting trends emerging from source control activity. Needless to say, we should always take software metrics with a grain of salt. I find them particularly useful in spotting trends and outliers and not in arriving at black or white conclusions.


Metric Timeline

Summary and Motion Chart

Annotated Timeline with Checkin Details