13. Project Structures Configuration

As explained in Dimensions and Structures, the aim of MQC is to visualize project data in a structured way. You have to configure your project structure to gain the described possibilities to structure your data.

The project structure file has to be imported (via Project Structures/Load) and the contained configuration will be applied by MQC.

If your imported project structures change, you can easily reload an adapted Project Structures file via Project Structures/Reload. Hovering over the Reload button provides a tooltip, which helps you detecting name and filepath of the currently imported Project Structures file.

By choosing Project Structures/Export from the Configuration section of the menu you can export a Project Structures Excel file that can be used as a template and where you can adapt your project structures.

The following sections provide information on how to configure structures in MQC.

13.1. Project Naming

You can define a dedicated project name and assign artifacts to this project. If the “Project Artifact Structure” does not contain any artifact name, MQC will automatically assign all artifacts for which data is collected by data sources to the given project (Figure 13.1).

../_images/MQC_ConfigProjectStructure_ProjectNaming.png

Figure 13.1 Naming of the Project ‘AK2018’, which contains all imported Artifacts

Please note that if the “Project Artifact Structure” sheet is left empty, i.e. not even a project name is defined there, “Default Project” is used by MQC to name your project.

13.2. Project Milestone Structure

The “Project Milestone Structure” sheet of the Project Structures file allows you to group your data according to the milestones (phases) defined for the project. Milestones are assigned to a certain project name and are provided each with a dedicated start date and due date.

In MQC, imported data automatically is assigned to revisions based on the timestamp the data was collected. Multiple revisions are clustered and linked to a particular milestone according to the start date of each revision and the start and due dates defined for the milestones (see Figure 13.2).

../_images/MQC_DimensionsStructures_MilestoneStructureConcept.png

Figure 13.2 Relationship between project, milestones and revisions

The standard way to define your milestones is specifying just a project start date, which is the start date of the first milestone phase, in combination with a duration for each milestone. Figure 13.3 shows the general way to configure milestones:

../_images/MQC_ConfigProjectStructure_ProjectMilestoneStructure_variante2.png

Figure 13.3 Definition of milestones for your project using the “Project Milestone Structure” sheet of the Project Structures file with milestone duration specification

Note

In case your project milestone configuration contains a milestone phase that does not fit to your imported data, e.g. there are more milestones defined than data available, you can chose if MQC should include these (empty) revisions into your project. By default MQC hides all empty revisions. Nevertheless it offers a functionality to display these configured (but empty) revisions for all artifacts and measures within this project. By clicking on the checkbox Revisions without data (to be found within the Settings section of the Configuration Panel on the left side) all revisions are visualized.

Another way of defining your milestones, is by specifying dates into the columns MilestoneStartDate and MilestoneDueDate. Each milestone needs a start date and a due date, which can be directly set by the user. For example, all revisions with a start date equal to or later than the 25th of September 2019 and before 11nd of October 2019 are linked to the Milestone “Module Test Start” (see Figure 13.4).

../_images/MQC_ConfigProjectStructure_ProjectMilestoneStructure.png

Figure 13.4 Definition of milestones for your project using the “Project Milestone Structure” sheet of the Project Structures file with date specification

Additionally, MQC is able to calculate missing milestone configuration data based on a given milestone duration, whereas the following order is applied:

  • the duration and a given due date is used to calculate a missing start date

  • if no due date is given, the duration and a given start date is used to calculate the missing due date

  • if neither start date nor due date is given for a certain milestone, the start date is calculated based on the due date of the previous milestone

Missing milestone configuration data is automatically calculated when importing the corresponding structures configuration file.

Note

A proper milestone configuration is essential when working with target values (see Target Values).

13.3. Artifact Structure

Once you have imported a Project Structure configuration, all artifacts contained in the “Artifact Structure” configuration sheet are treated as expected for your project, which means data can be imported and quality can be calculated. It also means that data, which is not imported for expected artifacts, can be stated as missing.

If you do not expect any data for a particular artifact, this artifact has to be removed from the list.

Additionally, If you would like to group your artifacts hierarchically as described in Artifacts and Artifact Structure, this can be done using the “Artifact Structure” sheet, too. It allows you to define e.g. groups of artifacts, which offers you the possibility to filter the visualized data accordingly, e.g. to just focus on artifacts belonging to a certain group.

../_images/MQC_ContextCategories_ConfigProjectStructure.png

Figure 13.5 Group artifacts according to real project structures for example according to different functionality

As shown in the previous figure, you can use the columns StructureRoot, StructureGroup and StructureElement of the Excel template to structure your artifacts with respect to e.g. functionality, responsibility, release, internal development process. In theory, you can specify any relationship you want to see for your data. The hierarchy that is spanned in MQC is equal to:

  • StructureRoot

    • StructureGroup

      • StructureElement

        • Artifact 1

        • Artifact 2

Note

Configuring an artifact structure is optional. Leaving the corresponding columns empty, results in a flat list of artifacts within MQC.

Artifact structuring does not influence quality calculation.

For the explanation of the Context Categories column please refer to Assign Context Categories to Artifacts.

13.4. Artifact Mapping

“Artifact Mapping” allows you to adapt artifact names as they are used by data sources to your needs. Especially if different data sources use different denominations for the same artifact, “Artifact Mapping” may be used to define a common artifact name. All imported measure values collected by the data sources are automatically assigned to the new artifact name.

../_images/MQC_ConfigProjectStructure_ArtifactMapping.png

Figure 13.6 Different artifact paths are mapped to a common artifact name

As shown in Figure 13.6, in the “ArtifactPaths” column of the “Artifact Structure” sheet, all artifact paths with same artifact name, are listed. Artifact paths can be separated by line break or comma characters.

The artifact name as defined by the “Artifact Structure” then must be used for the “Project Artifact Structure” sheet of the Project Structures file, too.

Please note that in case the same base measures were provided for different artifact paths for the same revision and are now mapped to a common artifact name, MQC only uses the most recent of these base measures to calculate quality for the artifact.

13.5. Artifact Weights

On the “Artifact Structure” sheet the user is able to define artifact weights, which means that some artifacts can have more influence than others within the same project. Hereby, individual artifact parameters can be adapted with regard to the user’s interpretation of their importance, reliability, etc. For example, in our example from the Quick Start Guide chapter the importance of one artifact has to be considered higher due to the fact of being the main model and therefore should also get a bigger influence within the calculation of quality.

../_images/MQC_ConfigProjectStructure_ArtifactWeightsDefinition.png

Figure 13.7 For the main Artifact a weight of 3 (and for others a value of 0.5) is defined and the configuration file loaded as project structure via the Configuration section of the menu

../_images/MQC_ConfigProjectStructure_HHM_withArtifactWeights.png

Figure 13.8 Quality Heatmap page showing a project with different Artifact “sizes” / weights

If no artifact weight is defined, MQC will assume equal “size” of all artifacts and assigns a default value of 1 to all listed elements, as shown in the following figure.

../_images/MQC_ConfigProjectStructure_HHM_withoutArtifactWeights.png

Figure 13.9 Quality Heatmap page showing a project with equal Artifact “sizes” / weights