New! – Automated OutSystems quality reviewing with Omnext

As model driven development is emerging, OutSystems has become one of the leading low-code development platforms for developing both web and mobile applications. Model driven, or low-code development platforms such as OutSystems have one major advantage over their full-code cousins: rapid application development and full control over the application life cycle.

One thing must be kept in mind though: the delicate relationship between speed and quality. Building applications rapidly may result in applications that are of poorer quality. Even though low-code platforms such as OutSystems are closing the gap between IT and business, creating future-proof applications remains key when aiming for reaching maximum potential of these platforms.

Fortunately, OutSystems customers are realizing this exact point as well and they have been increasingly asking for governance on their software development processes. They are looking for answers to questions such as: How has the maintainability changed since last sprint? How does the code quality and productivity of my scrum teams differ? How can I reduce my maintenance costs? To what extent are components re-used?

In order to meet customer’s wishes and help them to reach the full potential that low-code platforms have to offer, Transfer Solutions and Omnext have joined forces to realize an automated quality scan for OutSystems.

Omnext has been specializing in analysing software applications for over 15 years and its technology, the Omnext Fit Test, is thus far already supporting over 30 different languages more modern ones such as Java, C# and SQL, but also legacy languages such as RPG and COBOL.

Together with both Transfer Solutions and OutSystems, quality rules were defined, based on the ISO-25010 guideline for software maintainability and guidelines on software quality, supplemented with OutSystems-specific best practices. The importance of these rules is adjustable and customers are able to add their own rules, hence enabling them to gain insight in the exact elements of an application that are of key interest to them.

After working together closely with Transfer Solutions and OutSystems for several months, Omnext has managed to add the OutSystems platform to its list of supported technologies and we are proud to present the result: The Fit Test 4 OutSystems.

The process to get insight in code quality, looks like this:

  1. Source code upload

A customer sends their OutSystems application exports (.oml file) to Omnext via a secure upload facility;

  1. Code scan

Omnext scans the models and code and presents the quality metrics in a user friendly dashboard, which provides detailed insight in a multitude of quality and productivity elements (see image below);

  1. Dashboard and Expert Review

The results as presented in the dashboard enable the customer to identify areas for improvements and if required, Transfer Solutions can offer its expertise in the form of Expert Reviews to really help customers take the next step in improving the quality of their applications.

The Fit Test 4 OutSystems can be executed as a single scan, but also as a repetitive cycle which allows customers to analyse their applications on a frequent basis. Especially in a continuous delivery context, having continuous insight in the quality and development of your application proves to be of great added value. To further support this in the future, Omnext, together with OutSystems is already exploring the possibility of using an API to automatically transfer the application sources to Omnext and have them analysed on the fly.

We believe that the Fit Test 4 OutSystems is a perfect addition to the OutSystems Platform. With it we ensure that our customers can deliver high quality OutSystems applications now and in the future.

If there are any questions in response to this blog post. Feel free to contact Omnext or Transfer Solutions.

Jacob Beeuwkes, Transfer Solutions
Francis Jansen, Omnext

The Health Check on your dashboard

The Health Check on your dashboard

The Omnext® Portal is equiped with a management dashboard which shows an overview of the Health Check quality model. The Progress diagram shows the changes in violations in your source code. As explained in the previous article about the Health Check the different standards and guidelines rules that are selected show various results, ranging from number of violations to exact limits for this rule.

When looking at a large amount of violations it can be hard to identify new violations. In this case it is possible to, by clicking on the legenda text, eliminate one or more of the objects.

 

Health Check Dashboard_3

Example: in the dashboard shown above, the Unresolved issues are eliminated. Which gives you a clearer overview of how many resolved and new issues there have been found in your source code.

 

New: A city map to visualize your source code

New: A city map to visualize your source code

The Omnext® Portal has been updated with a new quality model: the Health Check. Following a diagram that visualizes the source code as a city map, violations in the system can be shown. Just like a real-life city, the map contains different districts and buildings. The higher the building, the more violations the system contains. The city map shows the progress of the Standards & guidelines that are of relevance to you, our client. When the portal will be delivered for the first time, the standards and guidelines will be selected by Omnext. After that standards and guidelines can be configured by the client him- or herself.

Health Check widgets

In the picture shown above you can see an example of the city map. The different widgets that are shown above relate to the object that is selected in the ‘tree view’ on the left side of the screen. The Unresolved issues are issues that have been in the source code since the last analysis. The New issues are violations that have appeared in the time between the two analyses, Resolved issues are issues that are solved in between the analyses. When looking at the widget ‘Progress’, it shows the relationship between the resolved, unresolved and new issues. A positive number means that more issues have appeared than have been solved. A negative number means the exact opposite.

Health Check details

picture2

The details tab shows us exactly where the different violations can be found in the source code. The list shows the standards and guidelines that have been selected beforehand and which were marked as relevant. Every rule is showed separately and gives a number of violations which are either resolved, unresolved or new.

The list below shows the separate objects with violations. By using the Relevance column priorities can be set on which issue to resolve first. Relevance is determined by the number of violations (sometimes size of the violations matters too), the priority of the violation, the volatility (how many times the object has been changed) and the Afferent coupling (how many times the object is invoked).

The column Toxicity shows how many of the selected standards and guidelines are violated. Remaining columns show the results of the standard and guideline rules. When no violations are detected on an object a green checkmark is shown. When violations are detected the shown number gives an actual value of violations. In the list the limits of the rule are shown as well. I.e. AvoidLongUnits gives 67 as the number of lines of code. The given limit is 50, therefore it violates this rule.

Standards and guidelines

Health Check Dashboard

The Standards & Guidelines tab, but also other tabs which show Standards & Guidelines i.e. Cloud Readiness, contains rules that can be selected for the Health Check quality model. Other than selecting individual rules, priorities can be selected as well. In this case violations that belong to the different priorities are shown in the Health Check.