Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/platform_management_plan/change_management.rst
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ description.
:need:`[[title]] <gd_req__change__attr_impact_security>` is defined in the linked PR or part of the
description.

:need:`[[title]] <gd_req__change__types>` is defined by label of a ISSUE and part of the
:need:`[[title]] <gd_req__change__attr_types>` is defined by label of a ISSUE and part of the
description.

:need:`[[title]] <gd_req__change__attr_affected_wp>` is defined in the linked PR or part of the
Expand Down
256 changes: 252 additions & 4 deletions docs/platform_management_plan/problem_resolution.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
..
# *******************************************************************************
# Copyright (c) 2024 Contributors to the Eclipse Foundation
# Copyright (c) 2025 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
Expand All @@ -12,14 +12,262 @@
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

Problem Resolution
------------------------
.. document:: Problem Resolution Plan
:id: doc__platform_problem_resolution_plan
:status: draft
:safety: ASIL_B
:tags: platform_management
:realizes: wp__prm_plan

Problem Resolution / Problem Resolution Plan
--------------------------------------------

This document implements parts of the :need:`wp__platform_mgmt`.

Purpose
+++++++
The purpose of the Problem Resolution is to guide the resolution of project problems including
their creation, analysis, resolution, and control. Where a problem is defined as a deviation of an
expected result.


Objectives and scope
Objectives and Scope
++++++++++++++++++++

Problem Resolution Goals
^^^^^^^^^^^^^^^^^^^^^^^^

* Problems are recorded, identified and classified.
* Problems are analyzed and assessed to determine an appropriate solution.
* Problem resolutions are initiated and monitored.
* Problem resolutions are closed and communicated to affected parties.

Approach
++++++++

Problem Resolution Execution
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Contributions in general to the **S-CORE** project are described here
(compare :need:`gd_guidl__contr_request_guideline`).

A Problem Resolution is a specific contribution, and
it is the **ONLY** way to report problems in the **S-CORE** project.

Problem Resolution Infrastructure
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

:need:`GitHub Issues (ISSUE) <gd_guidl__issue_guideline>` are used for managing problems and their
potential resolution. The tool is used to create, analyse, initiate and to monitor the
problem reported within **S-CORE**.

The next figure gives an overview, how problems are created in **S-CORE**. An ISSUE is
used to create a problem report including required attributes as defined in the
:ref:`Problem Process Requirements <prm_process_problem_attributes>`.
Therefore the Problem Template :ref:`prm_templates` shall be used.

.. figure:: _assets/score_problem_resolution_overview.drawio.svg
:width: 100%
:align: center
:alt: Problem Resolution Overview


Problem Resolution Attributes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:ref:`prm_process_problem_attributes` are implemented as follows:

:need:`[[title]] <gd_req__problem__attr_uid>` is identical to the ISSUE number.

:need:`[[title]] <gd_req__problem__attr_status>` is defined by the combination of the ISSUE state
and the state in the Projects dashboard view. The PR status is also used, if applicable.

.. list-table:: Problem Status
:header-rows: 1
:widths: 15,85,15,15

* - Status
- Issue status
- Projects dashboard status
- Linked PR status
* - open
- ``Open``
- ``No Status``
- na
* - in review
- ``Open``
- ``Todo``
- na
* - in implementation
- ``Open``
- ``In Progress``
- ``Draft`` or ``Open``
* - closed
- ``Closed``
- ``Done``
- ``Merged``
* - rejected
- ``Closed as not planned``
- na
- na

:need:`[[title]] <gd_req__problem__attr_title>` is identical to the ISSUE title.

:need:`[[title]] <gd_req__problem__attr_impact_description>` is defined in the description part of the
ISSUE using the Problem Template :ref:`prm_templates`.

:need:`[[title]] <gd_req__problem__attr_anaylsis_results>` is defined in the description part of the
ISSUE using the Problem Template :ref:`prm_templates`.

:need:`[[title]] <gd_req__problem__attr_stakeholder>` is defined in the description part of the
ISSUE using the Problem Template :ref:`prm_templates`. For S-CORE stakeholder use pre-defined labels
for Communities or Cross Functional Teams (Feature Owner) (under discussion, compare
https://github.com/eclipse-score/score/issues/870)

:need:`[[title]] <gd_req__problem__attr_classification>` is defined in the description part of the
ISSUE using the Problem Template :ref:`prm_templates`. For S-CORE labels are defined as:

.. list-table:: Problem Classification
:header-rows: 1
:widths: 15,15

* - Classification identifier
- Label
* - minor
- ``minor``
* - major
- ``major``
* - critical
- ``critical``
* - blocker
- ``blocker``

:need:`[[title]] <gd_req__problem__attr_category>` is defined in the description part of the
ISSUE using the Problem Template :ref:`prm_templates`. For S-CORE labels are defined as:

.. list-table:: Problem Categories
:header-rows: 1
:widths: 15,85,15

* - Category
- Description
- Infrastructure
* - User
- Created by any user or :need:`Contributor <rl__contributor>` to report potential identified problems
- ISSUE with type BUG
* - Bug
- Created by :need:`Contributor <rl__contributor>` to report problems found during verification
- ISSUE with type BUG and with label ``<test level>``


:need:`[[title]] <gd_req__problem__attr_safety_affected>`,
:need:`[[title]] <gd_req__problem__attr_security_affected>`,
:need:`[[title]] <gd_req__problem__attr_quality_affected>` are defined in the description part of the
ISSUE using the Problem Template :ref:`prm_templates`. For S-CORE labels are defined to mark affected
ISSUEs:
``safety``, ``security``, ``quality``

Combinations of them are allowed.


:need:`[[title]] <gd_req__problem__attr_milestone>` is defined by the Milestone of a ISSUE.


Problem Resolution Workflow
^^^^^^^^^^^^^^^^^^^^^^^^^^^

In general, every Problem Resolution follows the following steps:

(color is refering to the following figure: Problem Resolution Simple Workflow Overview)

* 1. Create the Problem report (grey color)
* 2. Analyse the Problem report (blue color)
* 3. Initiate the implementation of the Problem Resolution and track it to closure (yellow color)
* 3. Close Problem Resolution (purple color)


**To 1. Create the Problem Report:**

An ISSUE is the **ONLY** way to create and manage a Problem in **S-CORE**.

The figure below shows the workflow for the simplest case of a Problem Resolution workflow.

An ISSUE with the type ``Bug`` is created in status ``Open``.
The title of the ISSUE reflects the potential problem. Further add here the
:need:`Problem Template <gd_temp__problem__template>` and fill it out accordingly.

Planning is done by setting the milestone of the ISSUE accordingly.

Problem status: ``open`` is implemented as
ISSUE status ``Open`` and Projects status ``No Status``.

To trigger the next step: Problem status: ``in review``
keep the ISSUE status ``Open`` and set the Projects status ``Todo``.

To reject the problem report: Problem status: ``rejected``
set the ISSUE status to ``Closed as not planned``.

.. figure:: _assets/score_problem_resolution_workflow_simple.drawio.svg
:width: 100%
:align: center
:alt: Problem Resolution Simple Workflow Overview

Problem Resolution Simple Workflow Overview


**To 2. Analyse the Problem Report:**

The Problem Report is reviewed and analysed from the :need:`Committer <rl__committer>` and the
review results are resolved by the :need:`Contributor <rl__contributor>`. The results
are documented in the ISSUE. As long as the information is not sufficient, the related ISSUE is kept in
status ``Open`` and Projects status ``Todo``, means ``in review``.

If the information is sufficient and it is decided to initiate the problem resolution, the
ISSUE status is kept ``Open`` and the Projects status is set to ``In Progress``.

:ref:`prm_checklist` can help to verify whether the information is complete.

In case affected parties need to be informed :need:`Technical Lead <rl__technical_lead>` or
:need:`Module Lead <rl__module_lead>` will notfiy them.

Otherwise, if no Problem Resolution is planned, the problem is rejected.
To reject the Problem Report: Problem status: ``rejected``
set the ISSUE status to ``Closed as not planned``.


**To 3. Initiate and Monitor the Problem Resolution:**

:need:`Contributor <rl__contributor>` starts all required activities to resolve the problem.
These may include starting Change Requests or in general plannig activites by creating ISSUEs and
required PRs.

All ISSUEs or PRs created to resolve the problem are linked to the Problem Report ISSUE to enable
monitoring of the activities.

All activities defined are tracked until closure, means that all linked ISSUEs or PRs are closed or
merged, respectively.

If all are closed or merged :need:`Contributor <rl__contributor>` sets Projects status to ``Done``
to trigger the final review from the :need:`Committer <rl__committer>` to close the Problem
Resolution.

The Problem Resolution may also rejected in this phase, then the ISSUE status is set to
``Closed as not planned``.

**To 4. Close the Problem Resolution:**

:need:`Committer <rl__committer>` checks finally if the problem is completely resolved. In this
case all linked ISSUEs or PRs are closed or merged, respectively.

Especially the solution measure must be checked for their effectivness and the argumentation
is convincing.

:ref:`prm_checklist` can help to verify whether it can be closed.

If this is the case the ISSUE status is set to ``Closed``, otherwise the Projects status is set
back to ``In Progress``.


Problem Resolution SW Platform Work Products
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

not applicable
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Workflow Change Management
:supported_by: rl__technical_lead, rl__module_lead
:input: wp__policies, wp__issue_track_system, wp__feat_request, wp__cmpt_request
:output: wp__issue_track_system, wp__feat_request, wp__cmpt_request
:contains: gd_guidl__change__change_request, gd_temp__change__feature_request, gd_temp__change__component_request, gd_temp__change__impact_analysis, gd_temp__component_classification, gd_req__change__attr_uid, gd_req__change__attr_status, gd_req__change__attr_title, gd_req__change__attr_impact_description, gd_req__change__attr_impact_safety, gd_req__change__attr_impact_security, gd_req__change__types, gd_req__change__attr_affected_wp, gd_req__change__attr_milestone, gd_req__change_tool_impact_analysis
:contains: gd_guidl__change__change_request, gd_temp__change__feature_request, gd_temp__change__component_request, gd_temp__change__impact_analysis, gd_temp__component_classification, gd_req__change__attr_uid, gd_req__change__attr_status, gd_req__change__attr_title, gd_req__change__attr_impact_description, gd_req__change__attr_impact_safety, gd_req__change__attr_impact_security, gd_req__change__attr_types, gd_req__change__attr_affected_wp, gd_req__change__attr_milestone, gd_req__change_tool_impact_analysis
:has: doc_concept__change__process, doc_getstrt__change__process

The Change Request is created and analyzed.
Expand All @@ -49,7 +49,7 @@ Workflow Change Management
:supported_by: rl__safety_manager, rl__security_manager, rl__quality_manager
:input: wp__issue_track_system, wp__feat_request, wp__cmpt_request
:output: wp__issue_track_system, wp__feat_request, wp__cmpt_request
:contains: gd_guidl__change__change_request, gd_temp__change__feature_request, gd_temp__change__component_request, gd_temp__change__impact_analysis, gd_temp__component_classification, gd_req__change__attr_uid, gd_req__change__attr_status, gd_req__change__attr_title, gd_req__change__attr_impact_description, gd_req__change__attr_impact_safety, gd_req__change__attr_impact_security, gd_req__change__types, gd_req__change__attr_affected_wp, gd_req__change__attr_milestone, gd_req__change_tool_impact_analysis
:contains: gd_guidl__change__change_request, gd_temp__change__feature_request, gd_temp__change__component_request, gd_temp__change__impact_analysis, gd_temp__component_classification, gd_req__change__attr_uid, gd_req__change__attr_status, gd_req__change__attr_title, gd_req__change__attr_impact_description, gd_req__change__attr_impact_safety, gd_req__change__attr_impact_security, gd_req__change__attr_types, gd_req__change__attr_affected_wp, gd_req__change__attr_milestone, gd_req__change_tool_impact_analysis
:has: doc_concept__change__process, doc_getstrt__change__process

The Change Request is evaluated based on the analysis result either approved, rejected or delayed.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Work Products Change Management
:id: wp__issue_track_system
:status: valid
:tags: change_management
:complies: std_wp__iso26262__support_852, std_wp__iso26262__support_853, std_wp__iso26262__support_854, std_req__aspice_40__iic-13-16, std_wp__isopas8926__4527
:complies: std_wp__iso26262__support_852, std_wp__iso26262__support_853, std_wp__iso26262__support_854, std_wp__isopas8926__4527, std_req__aspice_40__iic-13-16, std_req__aspice_40__iic-13-07, std_req__aspice_40__iic-15-55, std_req__aspice_40__iic-15-12

| - Change request
| - Change request plan
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,13 @@ For all Change Requests following mandatory attributes need to be defined:

.. needtable:: Overview of mandatory change request attributes
:tags: change_management
:filter: "mandatory" in tags and "attribute" in tags and type == "gd_req"
:filter: "mandatory" in tags and "attribute" in tags and "chm" in tags
:style: table
:columns: title
:colwidths: 30


* ID: Unique integer number
* For the remaining attributes only predefined values can be used. A more detailed description can
be found here: :ref:`chm_attributes`
A more detailed description can be found here: :ref:`chm_process_requirements`


.. _workflow_chm_requirements:
Expand Down
Loading