v6.12.0 - Stakeholder and Value Modelling Support

Aug 30, 2024 • Stefan Kapferer

We are happy to announce a new Context Mapper release (v6.12.0 released today), which supports new modelling features towards ethical- and value-driven (software) engineering! Concretely, we support Value-Driven Analysis and Design (VDAD) practices as well as ESE (Ethical Software Engineering).

In summary, the release offers the following new features:

The page Value-Driven Analysis and Design (VDAD) Support summarizes the new features supporting VDAD and ESE as well.

Stakeholder Modelling

The CML language offers to features that allow you to model your stakeholders and stakeholder groups. More details can be found on the corresponding documentation page; the following example gives a first impression:

BoundedContext ExampleContext

Stakeholders of ExampleContext {

  StakeholderGroup Online_Shopping_Company {
    Stakeholder Development_Team {
      influence MEDIUM
      interest HIGH
    }
    Stakeholder Product_Management {
      influence HIGH
      interest HIGH
    }
    Stakeholder Customer_Relationship_Manager {
      influence HIGH
      interest MEDIUM
    }
  }

  Stakeholder Shopper {
    description "Is using the shopping system to by everday goods."
    
    influence MEDIUM
    interest HIGH
  }

}

Value Register Modelling

In addition to stakeholders and stakeholder groups, one can now model the values important to these human beings in CML. An example:

BoundedContext SameDayDelivery

Stakeholders of SameDayDelivery {
  StakeholderGroup Customers_and_Shoppers
  StakeholderGroup Delivery_Staff_of_Suppliers
}

ValueRegister SD_Values for SameDayDelivery {  
  ValueCluster Freedom {
      core AUTONOMY
      Stakeholder Customers_and_Shoppers {
        priority HIGH
        impact MEDIUM
        consequences
          good "increased freedom"
      }
      Stakeholder Delivery_Staff_of_Suppliers {
        priority HIGH
        impact HIGH
        consequences
          bad "work-life-balance"
      }
    }
}

More details about the language features are documented here. Note that the term “value register” comes from the IEEE Standard Model Process for Addressing Ethical Concerns during System Design (a.k.a. IEEE 7000 standard) (note: access to IEEE 7000 is free after registration for IEEE Xplore (click on “Access via Subscription”).). The CML features support that terminology, but you can model values without knowledge about the standard; just checkout the documentation page. The ESE glossary might be interesting for you, in case you still want to have some brief summaries of the most important terms of the IEEE 7000 standard.

Stakeholder Map Generation

Once one has modelled the stakeholders of the project, system or feature, the PlantUML generator now generates a Stakeholder Map automatically. The following example gives as a first impression:

Stakeholder Map Example

Value Impact Map Generation

The PlantUML generator further supports the visualization of the modelled values and their impact on your stakeholders - it automatically generates a Value Impact Map. An example:

Value Impact Map Example

CSV File Generation

If you want to export all stakeholder and/or value data that you have modelled in CML (for example, for further processing with other tools), we provide a CSV export. Exporting the data to CSV can be done with our Generic Generator (Freemarker Templating). You can find the Freemarker templates here.

Please note that the CSV file generation currently cannot handle (replace) commas that you add to Strings of your CML model. In case you want to use CSV export, please avoid commas in your CML model string values.

New Transformations

Several new transformations support you when modelling stakeholders and value registers. Check out the corresponding documentation page.

Use Case Diagram Adjustment

Note: This change is not related to the VDAD support.

We adjusted the Use Case diagram generated by the PlantUML generator in order to let the I want to parts of user stories or interactions of use cases also make it into the generated diagrams. For example, the I want to-parts of the following user stories did not appear in the generated diagram so far:

Multiple 'I want to'-parts within User Story - An example

With this release, we now generator all features into the notes of the Use Case diagram:

Use Case diagram with all features in Note - An example

As always, if you have any issues or other feedback, please let us know.