Alambic

The Alambic quality model

One of the first things to setup when considering to use Alambic is the quality model.

In a nutshell, the quality model states what is important to you (your definition of quality, in this very context) and how to measure it. It makes the link between the quality attributes and the metrics gathered or computed by Alambic.

Note See the definition of quality attributes, indicators, metrics and scales in the Terminology section.

Structure

The quality model is defined as a tree structure. The main quality attribute (at the root of the tree) is the main rating for the project (e.g. Project's Quality or Maturity). Each attribute is computed from its children, up to the leaves of the tree: the metrics retrieved or computed by Alambic.

As an example, let's say we want to check the activity of our ecosystem. We decide to measure it through a set of metrics retrieved from mailing lists, forums and configuration management (git):

quality_model.png

When the project is analysed, metrics are populated, converted to indicators using scales, and aggregated up to the root of the quality model.

Aggregating values

So from top to bottom the chain looks like:

On the other hand from the bottom up measures are converted to indicators using a 4-thresholds scale. Indicators are then aggregated up from the leaves to the root of the quality model tree. As an example:

The Activity's value is the average of all its children, which is in this case 3 out of 5. Other attributes are computed the same way, and values are aggregated up to the root of the quality model.