Issues should be managed in an Issue Tracker System (ITS).

An Issue:

  • is the generalized shared name for a task, story, requirement, etc.
  • is a work item with an identity to be referenced at code changes.
  • may have parents and children.
  • transitions through several statuses in a well-defined workflow. The statuses and their definitions depend on the Issue Tracker System (ITS), configuration, project, etc.

MAIA keeps a mirror copy of each Issue. MAIA has a simplified workflow with the primary purpose of knowing if Issues are Open or Done.

  • Done: the Issue is ready for release. Can be many statuses in the ITS, like Done, Resolved, Closed, Finished, etc (see Configure Issue Trackers).
  • Open: can be anything in the ITS but is NOT Done and NOT ready for release.

MAIA communicates with Issue Tracker Systems (ITS) to synchronize Issue statuses.

All code changes must have a reference to an Issue to achieve full traceability in MAIA.

The high-level workflow:

  1. An Issue is created in an Issue Tracker System.

  2. The issue is registered in MAIA when:

    a. A code change is registered that references the Issue (in the commit comment), or

    b. A user manually creates the Issue in MAIA with an identity that matches the identity in ITS, or

    c. MAIA retrieves information about the children and parents of an existing issue. The Issue is given the status open in MAIA application.

  3. When an issue is first registered, MAIA retrieves information about its children and parents from the ITS, and then creates a mirror copy for issues that previously doesn't exist in MAIA. This allows MAIA to display complex relations between Issues. Note: This also creates issues that never receive commits, for example issues meant to investigate technical aspects. These issues automatically receive the status Done when they are given a status in the tracker that maps to the status Done in MAIA.

  4. The Issue receives one or more commits while it is active in its ITS. The issue can undergo transitions in its status before it is considered Done in MAIA.

MAIA does only include Issues with the status Done into the delivery report.

How is an Issue considered Done in MAIA:

  1. The Issue is set to Done (or equivalent) in the ITS, and
  2. All child Issues are set to Done in MAIA, and
  3. Code changes are set to finished in MAIA (see Code changes finished).

This is an example of what it could look like: