As part of
MMF-286, Ruby & Rails should be fully dropped. The goal of this MMF is to re-design the "Measures" page into a "Projects" page to make it very easy to "explore" the list of projects.
- Seeing the distribution of projects according to the main SonarQube metrics (quality gate, ratings, coverage %, ...) and ability to define a filter criteria from those distributions
- When a filtering criteria is defined this should lead to automatically display the associated measure on each project matching the criteria
|What we want to achieve||What we don't want to do|
|Use-case||Provide a user-friendly way to explore projects based on main valuable metrics||Don't reproduce the global "Measures" page (see criticisms about global Measures page below)|
|Way to do it||Enable exploration based on absolute filtering criteria|| Don't propose criteria relative to a period of time (at least in a first step)
Note: It does not make sense to filter on differential values relatively to the leak period as each project as its own leak period
|User experience|| Don't replace the direct access to project for which we know the name
=> No search field. Main Search is here for that purpose
- There is no need to work at file, directory, ... levels, we just need to play with Projects (and no need to play with Views or developers).
- User can be tempted to use this page to reach a project, a view or a developer space for which he already know the name (instead of using the main Search)
- Perhaps this is a good time to challenge the ability to
- Work with "differential values".
- Share Measure filters
- Understand the typology of the projects, i.e. visualize how projects are distributed in regards with a few important criteria
- Form there, quickly identify a sub-set of projects one wants to focus on
Ex: As a quality consultant, I go in the Projects space to
- quickly see the distribution of projects per size in order to quickly understand how many big projects the company has
- quickly see the distribution of projects per language to understand what are the main languages that are used
- then, visualize the biggest java projects which have a bad vulnerability rating and that would deserve some effort
As a SonarQube user, I want to quickly find projects by:
- Quality Gate & ratings:
- Quality Gate: Failing, Passed, Warning
- Maintainability Rating: worst than A, B, C, D or E
- Reliability Rating: worst than A, B, C, D or E
- Security Rating: worst than A, B, C, D or E
- Coverage %: <30%, <50%, <70%, <80%, >=80%
- Duplication %: <3%, <5%, <10%, <20%, >=20%
- Project information:
- Size (loc): XS <1K, S <10K, M < 100K, L < 500K, XL >=500K
- Favorite projects
In a first version, we will NOT offer to define criteria according to:
- additional metrics on which we don't provide any distribution, such as:
- IT coverage %
- Complexity / function
- Complexity / class
- Public Documented API %
- custom metrics
- and, more generally, all the metrics that are available in SonarQube.
We can consider that user will see, with appropriate filters, a short list of projects. For each of them, he can access to the project space to check more metrics.
As a SonarQube user, I want projects summary to contain at least:
- Project name
- Project description
Project key Project links Last date of analysis
- Quality Gate
- Maintainability Rating
- Reliability Rating
- Security Rating
- Size (XS, S, M, L, XL)
- As long as we have a few filtering criteria, always display all the corresponding info the projects summary
- Add info corresponding to the filter criteria I select
I also expect to mark and see the projects as favorite.
As a SonarQube user, I expect to play with visual representations (ex: facets) in the filters so that I can directly see the distribution of the metrics (ex: a histogram representing the number of projects for the different ranges of effort).
When selecting a new filter, the project list should be smoothly refreshed even when considering a large number of projects (> 1000).
- Drop "Measures" page
- Drop periods 2 & 3 will no more be used (RIP Measures)
- Additional filtering criteria
- Number of bugs: 0, >0, >3, >10, >50, >100
- Number of vulnerabilities: 0, >0, >3, >10, >50, >100
- Technical debt: <=1d, >1d, >1w, >2w, >1m, >3m
- Remediation efforts:
- Reliability remediation effort: <1d, >1d, >1w, >2w, >1m, >3m
- Security remediation effort: <1d, >1d, >1w, >2w, >1m, >3m
- Project information:
Tags (MMF )
- Associated Quality Profiles: Sonar way or custom QPs
- Associated Quality Gates: SonarQube way or custom QGs
- Link with "My Projects"
At mid-term, with
MMF-379and more specifically "My Projects" tab ( MMF-389):
As a SonarQube user, I want to be able to select which projects I'd like to see in "My Projects" tab.