[VSA] Refactor project-level feature to use group-level code
Problem to solve
There are 2 implementations of the Value Stream Analytics (VSA) feature:
- Group-level
- Project-level
In recent months these 2 implementations have begun to diverge substantially, because we have invested in refactoring (example) and enhancing the group-level implementation, but not the project-level. Basically we have 2 different features now. That is a problem because:
- Different values displayed between the 2 features.
- Increased cost of maintaining 2 separate features.
- Unable to offer cool group-level features (like custom stages) at the project level (per #30079 (comment 357374957))
Further details
The ~"group::analytics" has discussed whether to 1) move FOSS functionality to the group-level and delete the project-level (#30079 (closed)) or 2) refactor the project-level to use the new group-level code (this issue). It has been estimated that the effort would be about the same between these approaches.
Proposal
Refactor project-level VSA to use the group-level code:
-
Migrate EE code into a core module with EE specific extensions frontend -
Migrate project-level VSA to use group-level backend backend -
Eliminate un-used Cycle Analytics code for legacy version backend
Note: This is a tracking issue, not an implementation issue.
Implementation recommendations
- See the thread starting here: #30079 (comment 356967059)