Citi Developer Productivity Analytics - DPA

DPA is designed solely taking developers into consideration. An analytical platform or tool helping developers track and engage with fellow peers that helps in increased performance & productivity.

Most of the components and widgets are recycled and reused for the simple purpose of consistency to match Citi's theme & design system.

Presented here is the login page.

Dashboard

For any tool, a dashboard as a landing page brings to the fore the key information required for a user. In this case, a developer has the information required to quickly glance through certain key labels such as PR's (Pull Requests), Commits etc.

The integration of existing Odyssey widgets and components helps in understanding the functionality of each card under Dashboard.

Code Commit Metric

A statistical representation of total commits by different authors (established via SOEID's) helps in letting the developer understand the overall growth and progress of a particular user-story.

The graphical view of histogram and line charts furthers the above stated point in making the user see their status with respect to the top-level performance under their domains.

Pull Request Metric

The PR's are a constant battle from a developer standpoint. They'll be assigned multiple tasks that may or may not be tracked in project management tools like JIRA. However, an in-house solution to this will be the tracking of PR's and it's associated details that can help in giving the developer a holistic view on the status & progress of his/her team.

The screen will let the developer compare their performance and also be able to see the performance of their colleagues in a transparent and competitive manner.

Domain

The different teams (part of domains) have their respective timeline and hence, a domain level screen to categorise based on PR's JIRA tasks, Incident reports * Development status was needed.

The screen utilises the donut charts for the same purpose.

Release Management

Developer Profile

One of the primary objective of this platform was to engage the developers and retain them as much as possible thereby, helping the platform collect valuable data and feed them to the database.

So, the idea was to incentivise the developers for a given milestone. They'll level up based on the points gathered and a reward was awaiting them once they complete it successfully.

The below screens show the gamification process for the developer's profile.

Settings

More by Srivathson Thyagarajan

View profile