Use Continuous Integration

27 / 57 Coding This practice was ranked as advanced.
Click to read more.
This practice helps to increase
the team's agility.
Click to read more.
This practice helps to increase
the software quality.
Click to read more.


Intent

Catch any code integration problems as early as possible.

Motivation

Code changes and additions may introduce problems into the software system as a whole. This can be detected by running an automated build script each time that code is committed to the versioning repository.

Description

By running an automated build script at each commit, you achieve Continuous Integration (CI).

For this, you need to activate and configure a CI server in your development environment. Examples of CI servers include: TravisCI, CircleCI, and Appveyer. Some collaborative development environments include a built-in CI server.

To test not only possible compilation errors that may be introduced by code changes, but also possible runtime defects and code quality problems, the CI server must be configured to trigger one or more static analysis tools and your automated regression tests.

Gate on Fairness and Ethics Metrics

Beyond functional correctness, the CI pipeline should also enforce Responsible AI requirements automatically. Add automated checks that run on every commit or at minimum on every release candidate:

  • evaluate fairness metrics (e.g. demographic parity, equalised odds) on a representative held-out slice dataset and fail the build if a metric drops below a defined threshold,
  • run bias detection tools (e.g. Fairlearn, AI Fairness 360) as part of the regression suite,
  • check that required explainability artefacts (e.g. feature importance reports) are produced and non-empty.

These gates encode RAI requirements as executable acceptance criteria, making ethical regressions as visible as functional ones.

Adoption

Related

Read more



27 / 57 Coding This practice was ranked as advanced.
Click to read more.
This practice helps to increase
the team's agility.
Click to read more.
This practice helps to increase
the software quality.
Click to read more.