KPIs
Problem to solve
GitLab is great, and I migrated many customers from Jira to GitLab. But there's a lack of management features that I would like to see, some are basic (and I think that's not too complicated to implement) like: KPIs. A platform that have built-in and ready-to-use KPIs usually have this as the final argument. I think there's no need to implement more support features beyond GitLab already have to have good and beautiful KPI charts. The problem to solve can be described as: today we have Burndown Charts which are good for knowing if a team is on the way or having problems to achieve the deadline of a sprint. But how do I measure the performance of my team not based on analysis of short periods of data, instead in the behavior and historic work data?
Further details
Well, I think the implementation of KPIs generates values "per se". It would be really nice to have a platform with features for CI/CD and source versioning that aggregates powerful and simple management tools and resources like KPIs. And my final (and known by managers) argument is: If you can not measure it, you can not improve it.
Proposal
I don't know about Ruby (I'm a NodeJS/Google Cloud engineer), but I'm open to collaborate (learn Ruby maybe?) and discuss to see this feature in GitLab
I think that this proposal can be done in small steps:
-
PoC (proof of concept) - start with a simple but useful agile KPI:
- Lead Time - the time between (inclusive) an issue is created (backlog) and is done (closed), this chart is really simple and you'll understand why I choose this as the PoC.
- You can simple measure the success of the feature by tracking users activity on the KPIs pages and requests for this chart data
- Well, we want more charts now right? You have two that you can deploy extremely fast because they are variations of Lead Time:
- Cycle Time - the time between (inclusive) an issue is on "to do" and done (close).
- Reaction Time - the difference between the Lead Time and Cycle Time, literally the "reaction" time (backlog -> to do).
- With the initial Lead Time you can easily deploy these two charts.
- And at this point there are a lot (really) of charts that are simple but will increase the management features of GitLab: Takt Time, Defects per Unit (DPU), Velocity (story points/milestone), Cumulative flow chart, Defect resolution time, Technical Debt and others.
What does success look like, and how can we measure that?
To be practical, the success of this feature would be:
- A simple link in the submenu of "Project"/"Overview" (in case of groups) named "KPIs"
- In the KPIs page we can have some sort of organization (blocks or tabs) for charts
- Most charts having basic filters (period of time, user filter, milestone filter, kanban board filter)
- After this there are aggregated services that GitLab can implement to enhance the product: KPIs monitoring, export to file formats like PDF/PNG.
Links / references
https://www.atlassian.com/agile/project-management/metrics https://www.altexsoft.com/blog/business/agile-software-development-metrics-and-kpis-that-help-optimize-product-delivery/ https://www.capriconsulting.co.uk/2016/10/14/top-10-agile-metrics-kpis/
Sorry for my bad English