Skip to content

Commit

Permalink
docs: add process roles
Browse files Browse the repository at this point in the history
Issue-ref: resolves #87
  • Loading branch information
aschemmel-tech committed Dec 13, 2024
1 parent 7dcdf0a commit 3f211b0
Show file tree
Hide file tree
Showing 4 changed files with 317 additions and 1 deletion.
146 changes: 145 additions & 1 deletion docs/_extensions/metamodel.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,91 @@
color="#BFD8D2",
style="node",
),
# Process
dict(
directive="req", # = std_req
title="Requirement",
prefix="R_",
color="#BFD8D2",
style="node",
),
dict(
directive="role", # = Einzelne Leute der Codeowner Gruppe
title="Role",
prefix="RL_",
color="#DCB239",
style="actor",
),
dict(
directive="team", # = Codeowners
title="Team",
prefix="TE_",
color="#DCB239",
style="node",
),
dict(
directive="workproduct", # = work_product
title="Workproduct", # = Work Product
prefix="WP__",
color="#DDDD00",
style="artifact",
),
dict(
directive="workflow",
title="Workflow",
prefix="WF__",
color="#FFFF00",
style="process",
),
dict(
directive="process",
title="Process",
prefix="PR__",
color="#DCB239",
style="frame",
),
dict(
directive="guidance",
title="Guidance",
prefix="GD__",
color="#DCB239",
style="file",
),
dict(
directive="gd_req",
title="Process Requirement",
prefix="GD_REQ__",
color="#DCB239",
style="file",
),
dict(
directive="gd_temp",
title="Process Template",
prefix="GD_TEMP__",
color="#DCB239",
style="file",
),
dict(
directive="gd_chklst",
title="Process Checklist",
prefix="GD_CHKLST__",
color="#DCB239",
style="file",
),
dict(
directive="gd_guidl",
title="Process Guideline",
prefix="GD_GUIDL__",
color="#DCB239",
style="file",
),
dict(
directive="document",
title="Document",
prefix="DOC__",
color="#DCB239",
style="file",
),
]

# Define extra options for needs object
Expand All @@ -54,5 +139,64 @@
"style_start": "-up",
"style_end": "->",
},
{"option": "implements", "incoming": "implements by", "outgoing": "implements"},
{ "option": "implements",
"incoming": "implements by",
"outgoing": "implements"
},
# process links
{ # team -> role
"option": "contains",
"incoming": "is part of",
"outgoing": "consists of",
},
{ # workflow -> role
"option": "responsible",
"incoming": "is reponsible for",
"outgoing": "responsible",
},
{ # workflow -> role
"option": "approver",
"incoming": "is approver for",
"outgoing": "approving",
},
{ # workflow -> role
"option": "supporter",
"incoming": "is supporter for",
"outgoing": "supporting",
},
{ # process -> role
"option": "owner",
"incoming": "is process owner for",
"outgoing": "process owner",
},
{ # process -> workflow
"option": "includes",
"incoming": "is included in",
"outgoing": "includes workflow",
},
{ # workflow -> workproduct
"option": "output",
"incoming": "is output from",
"outgoing": "has output",
},
{ # workflow -> workproduct
"option": "input",
"incoming": "is input from",
"outgoing": "has input",
},
{ # workflow -> guidance
"option": "guidance",
"incoming": "is guiding",
"outgoing": "has guidance",
},
{ # workproduct -> req
"option": "compliance-wp",
"incoming": "complies to",
"outgoing": "is complying with",
},
{ # guidance -> req
"option": "compliance-gd",
"incoming": "complies to",
"outgoing": "is complying with",
},
]
15 changes: 15 additions & 0 deletions docs/process/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,21 @@ Process

Processes are the basis to describe the way of working within the SCORE project.

Roles
-----
Persons are assigned to roles and these describe the person's activities within a workflow.
Especially if the role is responsible for performing, approving or supporting a workflow.
This is realized by the respective links between role and workflow.

Role definition
~~~~~~~~~~~~~~~

.. toctree::
:maxdepth: 1
:glob:

roles/index.rst

Requirements engineering
------------------------
A key process is the Requirements engineering, which is for defining, documenting, and maintaining requirements within our SCORE project.
Expand Down
19 changes: 19 additions & 0 deletions docs/process/roles/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
..
# *******************************************************************************
# Copyright (c) 2024 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************
.. toctree::
:maxdepth: 1
:caption: Contents:

roles
138 changes: 138 additions & 0 deletions docs/process/roles/roles.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
..
# *******************************************************************************
# Copyright (c) 2024 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************
Roles
=====

SCORE Management Roles
----------------------

.. role:: Project Lead
:id: RL_project_lead
:status: valid
:tags: project_management

The Project Leads decide about strategy, addition of modules and election of all other roles.

.. role:: Technical Lead
:id: RL_technical_lead
:status: valid
:tags: project_management
:contains: RL_committer

The Technical Leads approve feature requests and perform the project management on SCORE platform level.

.. role:: Safety Manager
:id: RL_safety_manager
:status: valid
:tags: safety_management
:contains: RL_committer

The safety managers support the planning, development and coordination of the safety activities, i.e. the safety management.

.. role:: Quality Manager
:id: RL_quality_manager
:status: valid
:tags: quality_management
:contains: RL_committer

The quality managers shall be responsible for the planning and coordination of the quality activities, i.e. the quality management.

.. role:: Security Manager
:id: RL_security_manager
:status: draft
:tags: quality_management
:contains: RL_committer

The security managers shall be responsible for the planning and coordination of the security activities.

.. role:: Module Project Lead
:id: RL_module_lead
:status: valid
:tags: project_management
:contains: RL_committer

The module Project Leads perform the project management on module level. If a module is developed in a sub-project of SCORE they have the eclipse project lead role for this.

SCORE process roles
-------------------

.. role:: Process Community Member
:id: RL_process_community
:status: valid
:tags: process_management
:contains: RL_committer

The process community members are responsible for the definition of the process architecture of the project integrated management system and how they processes interact.
The approval and release of the process is done by the safety, quality and security managers and the technical leads (for the parts which affect them).

SCORE development roles
-----------------------

.. role:: Infrastructure Tooling Community Member
:id: RL_infrastructure_tooling_community
:status: valid
:tags: development
:contains: RL_committer

The infrastructure and tooling community members are responsible for the infrastructure and tooling setup for development namely github, bazel, sphinx-needs, but also the rest of the tool chain.

.. role:: Contributor
:id: RL_contributor
:status: valid

(Eclipse) Open Source Role, person(s) who provide(s) possible contribution(s) as pull request(s) to the main line.
Any contributor which contributes code, tests or documentation to SCORE.

.. note::
Follows the processes defined by the :need:`RL_process_community`

.. role:: Committer
:id: RL_committer
:status: valid
:tags: safety

(Eclipse) Open Source Role, person(s) who accept(s) possible contribution(s) as pull request(s) to the main line and maintains the product.

.. note::
Defines and enforces processes.

SCORE cross functional teams
----------------------------

.. team:: Platform Team
:id: TE_platform_team
:status: valid
:tags: cross_functional
:contains: RL_technical_lead, RL_safety_manager, RL_quality_manager, RL_security_manager, RL_contributor, RL_committer, RL_infrastructure_tooling_community, RL_process_community

The platform team is responsible for all artefacts within the platform SEooC. Additionally it is also responsible for the overall process including its support by tooling.

.. team:: Module Team
:id: TE_module_team
:status: valid
:tags: cross_functional
:contains: RL_module_lead, RL_safety_manager, RL_quality_manager, RL_security_manager, RL_contributor, RL_committer

The module team is responsible for all artefacts within the module SEooCs. Each module has only one responsible team but a team may also be responsible for several (small) modules.

SCORE external roles
--------------------

.. role:: External Assessor
:id: RL_external_assessor
:status: valid
:tags: safety_management

The external assessor performs safety confirmation measures like safety audit, assessment and confirmation reviews.

0 comments on commit 3f211b0

Please sign in to comment.