Dimensions CM is Software Change and Configuration Management for Agile development, developed by Serena Software and now sold by OpenText.
N/A
SonarQube
Score 8.1 out of 10
N/A
SonarQube is an automated code review solution, serving as the verification layer for code quality and SDLC security. SonarQube is used to ensure that code is secure, reliable, and maintainable. It is available through SaaS or self-managed deployment.
Serena CM is well suited to highly controlled, audited, and process driven environments. It will allow strict segregation of duties, and change traceability. If implemented correctly it will help you quickly build trusts with your auditors. It is also well suited to environments that require constant branching and merging. Due to the complexity of the product and learning curve for your development and operations team it may be overkill in a small shop with loose rules
SonarQube is excellent if you start using it at the beginning when developing a new system, in this situation you will be able to fix things before they become spread and expensive to correct. It’s a bit less suitable to use on existing code with bad design as it’s usually too expensive to fix everything and only allows you to ensure the situation doesn’t get worse.
Code Promotion: Dimensions CM allows supervisors to control changes to code, in that they delegate requests to developers, and act as a gatekeeper prior to promoting to the next environment. This functionality is configurable so you can set up a workflow that best fits the structure and requirements of your own company.
Code Repository for changes and versioning: Code can be checked out by item or by synchronizing folders. Code revisions can be compared against other revisions or work files. Item histories show which developers made which modifications, and which supervisor and operations personnel were involved in assigning the request and promoting the code to each environment. Additionally a pedigree will show a stream diagram which graphically displays branches and merges.
Deployment: Serena Change Management offers help automating deployment including integrations with SVN and Jenkins. Its newer versions also have a powerful graphical deployment automation tool (Serena Deployment Automation- SDA). It comes with a certain amount of licenses built-in. If you have a many nodes to deploy to there will be separate licensing costs for that.
Detecting bugs and vulnerabilities: SonarQube can identify a wide range of bugs and vulnerabilities in code, such as null pointer exceptions, SQL injection, and cross-site scripting (XSS) attacks. It uses static analysis to analyze the code and identify potential issues, and it can also integrate with dynamic analysis tools to provide even more detailed analysis.
Measuring code quality: SonarQube can measure a wide range of code quality metrics, such as cyclomatic complexity, duplicated code, and code coverage. This can help teams understand the quality of their code and identify areas that need improvement.
Providing actionable insights: SonarQube provides detailed information about issues in the code, including the file and line number where the issue occurs and the severity of the issue. This makes it easy for developers to understand and address issues in the code.
Integrating with other tools: SonarQube can be integrated with a wide range of development tools and programming languages, such as Git, Maven, and Java. This allows teams to use SonarQube in their existing development workflow and take advantage of its powerful code analysis capabilities.
Managing technical debt: SonarQube provides metrics and insights on the technical debt on the codebase, enabling teams to better prioritize issues to improve the quality of the code.
Compliance with coding standards: SonarQube can check the code against industry standards like OWASP, CWE and more, making sure the code is compliant with security and coding standards.
The only major negative that I have encountered with Serena CM product is that the very power and flexibility of the tool means there is a risk that you will make a mess of things. In other words it gives you plenty of rope to tangle yourself with. I recommend careful, well thought out deployments implementing the built in roles and workflows that can be turned on and configured, using a consistent methodology.
My experience with the Serena help desk support has not been impressive. Though reasonably polite and diligent, the technicians were well trained, and often gave bad advise and terrible scripts. On several occasions I had to rewrite scripts they have me; if I had run them as provided they would have caused even more difficulties than the problem I was trying to solve. I speak of the support in the past tense because I conditioned myself not to call them, it was usually just easier to solve nay problems my self. They do have a good account management team though, and for any major issues you can go thru them.
Importing a new custom quality profile on SonarQube is a bit tricky, it can be made easier
Every second time when we want to rerun the server, we have to restart the whole system, otherwise, the server stops and closes automatically
When we generate a new report a second time and try to access the report, it shows details of the old report only and takes a lot of time to get updated with the details of the new and fresh report generated
We we easily able to integrate the SonarQube steps into our TFS process via the Microsoft Marektplace, we didn't have the need to call SonarQube support. We've used their online documentation and community forum if we ran into any issues.
Serena CM is superior to Microsoft Team Foundation Server (TFS) in overall functionality, but does not have very good native integration with Microsoft. Therefore in a Microsoft centric shop with no audit needs ,TFS would be better. Otherwise I would choose Serena CM
SonarQube is an open-source. It's a scalable product. The costs for this application, for the kind of job it does, are pretty descent. Pipeline scan is more secured in SonarQube. Its a very good tool and its support multiple languages. Its main core competency is of static code analysis and that is why SonarQube exists and it does it exceedingly well. The quality of scan on code convention, best practices, coding standards, unit test coverage etc makes them one of the best competent tool in the market
Serena has facilitated our annual completion of various audit and technology control certifications. These certifications make a huge difference to our company's reputation and bottom line.
Positive ROI from the standpoint of flagging several issues that would have otherwise likely been unaddressed and caused more time to be spent closer to launch
Slightly positive ROI from time-saving perspective (it's an automated check which is nice, but depending on the issues it finds, can take developers time to investigate and resolve)