Request for better support of Performance and Sustainability as Quality characteristics

Hi,

With SonarQube version 10 you introduce quite a change with Clean Code and Software Quality attributes. It makes some sense, however, for us it has some unpleasant side effects.

We have developed a set of custom rules which focus on performance and sustainability. They all map to Clean Code - Consistency and Software Quality - Maintainability, which does not make sense. Our tags and severity levels are not well represented anymore.

Performance and Sustainability are important to us and they provide business value. We see those as Software Quality attributes, next to Maintainability, Reliability and Security. We don’t see that now, and we’d like to see that reflected in Sonar dashboards and Quality Gate. How can this be achieved?

Help much appreciated, thanks in advance.

2 Likes

Hi @jborgers,

Performance and Sustainability are important for us too. We use custom Quality Gate based on serverity by this way we can select which rules “blocked” the quality gate.

Here ecoCode/RULES.md at main ¡ green-code-initiative/ecoCode ¡ GitHub, you will find the list of Sustainability rules we used.

1 Like

Hi,

This is great feedback, thank you!

We do want to expand on the software qualities that a rule/issue can impact. Sustainability along with Accessibility are two candidates we are exploring at the moment. We are thinking along the same lines as you; label on rules alongside security/reliability/maintainability, dedicated rating, card in project/portfolio summaries and quality gate conditions.

Your point about performance is also a good one and we’ll have a think about how that fits into this space as well.

We don’t have target dates on these new qualities just yet. You can sign up for notifications (and vote) on those cards if that would be helpful.

John

1 Like

Hi @john.clifton ,

I think i already vote for it or anoter “Sustainability card”

1 Like

That’s perfect, thank you @Bachri_Abdel !

Nice, I just voted for Sustanability, with the following comments:

Sustainability is very important to us, it adds business value to be able to work on it in a prioritized way. It helps to save energy, save the environment and save costs. We have developed a custom ruleset with about 128 rules of which 63 are classified as sustainability: low, medium or high. Next to sustainability, we also have 79 classified under performance, 32 multi-threading and 10 data-mix-up. There is much overlap, most rules have more than one tag. Multi-threading could be under the quality Availability (or Stability). Data mix-up would fall under Security. We would like very much to see the Qualities extended with Sustainability, Performance and Availability. For the ruleset, see GitHub - jborgers/PMD-jPinpoint-rules: PMD rule set for responsible Java and Kotlin coding: performance, sustainability, multi-threading, data mixup and more.

1 Like

Thanks Abdel, We evaluated the ecoCode rules for Java and there are indeed some interesting rules in the set we like to try out.

2 Likes

Hi @jborgers ,

Thank you for this additional information, this is hugely helpful! Could you say a bit more about the difference between your proposed ‘Availability/Stability’ and the quality we have currently called ‘Reliability’ please?

John

Hi @john.clifton,

Good to read; and a good point, they are different in a subtle way (e.g. explained here: Reliability vs availability: Understanding the differences).
However, I think Reliability would do and we don’t really need the extra quality Availability/Stability.

1 Like

Hi @john.clifton,

How does this work, can we expect progress on getting Sustainability and Performance as Qualities in SonarQube?
Does it help to have more votes on the idea through the link you mentioned? Does that cover Performance, too?

Hi @jborgers,

Yes, the more votes we receive on the idea, the better our chances of getting Sustainability and Performance recognized in SonarQube. :blush: Every vote counts!

If you have specific needs or suggestions, I encourage you to share them with your sales representative as well.

By the way, it’s great to see that there are not just French banking institutions interested in Sustainability.

1 Like

Hi @Bachri_Abdel,

Good, I asked some colleagues who agree to vote, and I see some more votes already. Maybe you can do the same?
Yes, we’ll talk to the sales rep.
Are many French banks interested?

Hi @jborgers,

I know at least 4 of them, and they are grouped together with other companies in an eco code SonarQube plugin user club.

I assume that all banks are interested in the eco-design of their digital services.

We’re expecting increasingly stringent regulations in the years to come, as is the case for accessibility.

Hi, @jborgers and @Bachri_Abdel ,

It is great to see this discussion!

We particularly value information about the particular use cases or constraints different users have. That way, we can see the value we could bring and also get a feel for the exact problem we need to solve. I wouldn’t worry too much about getting the vote count to be particularly high.

John

Hi @jborgers ,

I have created a card on our roadmap to cover Performance as a software quality:

I have done this to understand how useful this would be to our users. We don’t have a plan to deliver this quality currently.

It would be great if you could add a vote on one of those links along with any particular details of your use case.

John

1 Like

@jborgers ,

To your question about ‘when’ you get Sustainability and Performance…

Sustainability is on our radar and something we are looking into. We don’t have a firm date for it right now.

Performance makes total sense. Right now it is further from being in plan than Sustainability is.

I’m sorry I can’t be more specific than that.

John

1 Like

Hi @john.clifton ,

Okay, thanks for the information. If I can help more to get this going, please let me know.

Regards,
Jeroen

1 Like