Uploaded image for project: 'Product Roadmaps'
  1. Product Roadmaps
  2. MMF-263

Replace "Measures" space by a new "Projects" space

    Details

    • Type: MMF
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Labels:

      Description

      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.

      Exploring meaning here :
      • 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
      Basics about the new "Projects" page:
        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
      Criticisms on the global "Measures" page:
      • 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
      Main use-cases
      • 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

      1. quickly see the distribution of projects per size in order to quickly understand how many big projects the company has
      2. quickly see the distribution of projects per language to understand what are the main languages that are used
      3. then, visualize the biggest java projects which have a bad vulnerability rating and that would deserve some effort
      Main filtering criteria

      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
      • Metrics
        • 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.
      Projects list

      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)
      • Languages

      2 options:

      • 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.

      Rendering

      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).

      Related
      • Drop "Measures" page
      • Drop periods 2 & 3 will no more be used (RIP Measures)
      For future Study
      • Additional filtering criteria
        • Metrics
          • 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:
          • Languages: Java, JavaScript, PHP, ...
          • 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-379 and 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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                christophe.levis Christophe Levis
                Reporter:
                freddy.mallet Freddy Mallet (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: