This view is designed to deliver the information about a single application necessary to check the compliance level to diagnostic-based metrics whose "critical contribution" option has been set, as well as the evolutions of these violations with regards to aggravating factors such as the complexity level.
This view requires access to at least one Application.
Left hand panel
Please see the section Left hand panel in Using the CAST Engineering Dashboard for more information about this.
Main window panels
Four main panels are available:
|Compliance to objectives||Displays for the latest delivery (I.e., the new and modified code since the previous snapshot) and for the entire application the number of rules tagged as "critical contribution" in the Assessment Model with defects against the ones without, presented as a percentage values. These rules are considered as the service level objectives: they are a subset of the whole rule set; they have been chosen for their importance to the user; with this specific focus, they should be adhered to. In other words:|
|Compliance to objectives by complexity level||Displays the current and previous distributions of artifacts according to their complexity (based on the cost complexity metric). It also displays the number of artifacts with violations (I.e., not complying with rules tagged as "critical contribution" in the Assessment Model) and the number of violations (meaning that a single object can be non-compliant with multiple such rules). The panel is designed to help identify if the violations are located in artifacts that will be costly to update or not. It also helps identify the amount of work to do for each artifact (one violation to correct, or many). See below for more information on how Complexity is determined by CAST.|
|Topmost violations||Displays the rules tagged as "critical contribution" in the Assessment Model with violations in the latest delivery (I.e., new and modified code alone since the previous snapshot) or in the entire application (this is, in fact, the detail of the top left-hand side section). It shows the compliance objective (in %), the effective compliance with the rule (in %), the gap (in % point) and the number of violations to translate the % into physical volume. Hyperlinks lead to the Investigation - Quality Model Drilldown.|
|Topmost complexity increase||Displays the list of artifacts whose complexity (Cyclomatic complexity) has increased the most together with their number of violations (I.e., number of rules tagged as "critical contribution" in the Assessment Model they do not comply to). The panel is designed to help identify over-engineered artifacts that feature sources of risk.|
The CAST Quality Model contains various metrics that are classed as "Complexity metrics", i.e. metrics that measure the complexity of artifacts in an application. See How Complexity metrics are calculated by CAST for more information.
Why so much information?
This page displays multiple pieces of information that are to be used in the following sequence:
- Look at the latest delivery achievement ratio gauge to find out if there are some critical rules with violations in the new and modified source code
- In some organizations, this can be enough to stop a delivery as the critical rules were selected as gates: none of them must have violations in the delivered source code. The list of critical rules with violations is displayed in the bottom left panel
- In other organizations, this is not enough to stop a delivery and a better insight into the context is needed: hence the following pieces of information.
- Look at the entire application achievement ratio gauge to:
- Get a better sense of the situation the supplier was intervening in: if the entire application contained violations to all critical rules, it may be understandable and therefore acceptable to have violations to critical rules in the latest delivery (the supplier could not get rid of all pre-existing violations)
- Help identify opportunities for improvement in the rest of the application. The list of critical rules with violations is displayed in the bottom left panel
- Look at the critical rules with violations in the latest delivery and in the entire application. In addition to showing the number of violations, it also shows objective and observed compliance for the whole application source code. This extra information:
- Provides information about the impact of such violations on the overall technical quality assessment of the application
- Helps decide (in the case of existing violations) the critical rules that need to be prioritized as some critical violations (although they shouldn't exist in theory) are still, when looking at the whole application, within tolerance levels.
- Look at the complexity information to:
- Detect over-engineering with the complexity distribution
- Check that increases in complexity of some artifacts are justified by business reasons
- Understand if there are critical violations where increase of complexity occurs
Bear in mind that item 1/ could be enough. All other pieces of information are available as real life may not be as simple as a "Go/no Go" based on one single piece of information and therefore requires more information to base sound decisions upon.
Bear in mind that the intended user is standing at a pivotal position:
- they are facing the supplier for which they need obvious rules to play the game ("No critical violations")
- they are part of the customer organization whose decision process can be more subtle ("What to do when the delivery does not match the 'no critical violations' expectation based on existing situation, internal tolerance level, etc.?")