diff --git a/docs/process/index.rst b/docs/process/index.rst index b4de849..42edc63 100644 --- a/docs/process/index.rst +++ b/docs/process/index.rst @@ -19,22 +19,18 @@ Process Processes are the basis to describe the way of working within the SCORE project. -Guidelines ----------- - -The guidelines for the SCORE project can be found here: +Introduction +------------ .. toctree:: :maxdepth: 1 :glob: - guidelines/index.rst + introduction/index.rst -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. + +Process Model +------------- Role definition ~~~~~~~~~~~~~~~ @@ -45,15 +41,14 @@ Role definition roles/index.rst -Requirements engineering ------------------------- -A key process is the Requirements engineering, which is for defining, documenting, and maintaining requirements within our SCORE project. +Guidance +-------- -Requirements templates -~~~~~~~~~~~~~~~~~~~~~~ +The guidance for the SCORE project (e.g. templates, guidelines, checklists) can be found here: .. toctree:: :maxdepth: 1 :glob: + guidelines/index.rst templates/index.rst diff --git a/docs/process/introduction/_assets/score_process_model.drawio.svg b/docs/process/introduction/_assets/score_process_model.drawio.svg new file mode 100644 index 0000000..fcaf74a --- /dev/null +++ b/docs/process/introduction/_assets/score_process_model.drawio.svg @@ -0,0 +1,4 @@ + + + +
Process
Process
StandardStandardRequirementsWork products
1..n
contains
1..n...
Workflow
Workflow
1..n
includes
1..n...
Score Role
(e.g. Committer)
Score...
1..n
owner
1..n...
Work product
Work product
1..n
in-/output
1..n...
1..n
complies
1..n...
1..n
responsible
1..n...
1..n
approver
1..n...
Guideline
Guideline
Guidance
Guidance
1..n
complies
1..n...
Template
Template
Checklist
Checklist
Method
Method
Tool
Requirements
Tool...
1..n
contains
1..n...
1:1
has
1:1...
code/
documentation
code/...
Contributor
Contr...
1..n
trigger
1..n...
1..n
create
1..n...
1..n
use
1..n...
Filename: score_process_model.drawio.svg
Author: Score
Version 17.12.2024
Status: In Review
Filename: score_process_model.drawio.svg...
Text is not SVG - cannot display
diff --git a/docs/process/introduction/index.rst b/docs/process/introduction/index.rst new file mode 100644 index 0000000..4437785 --- /dev/null +++ b/docs/process/introduction/index.rst @@ -0,0 +1,51 @@ +.. + # ******************************************************************************* + # 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 + # ******************************************************************************* + +Introduction +============ + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + +Motivation +---------- +| The score process model aims to establish organization rules for developing +| open source software in the automotive industry, which can be used in safety and security context. + +Objectives +---------- +| The process model shall provide processes, which conform to state-of the art standards +| * ASPICE +| * ISO 26262 +| * ISO 21434 +| * ISO PAS 8926 + +Approach +-------- + +1. We aim for a process model as common basis for process documentation (compare figure below). +2. We work code centric (trace text as code) and iteratively. +3. We aim to develop the process in conformance to the targeted standards (compare figure below). +4. We aim to establish traceability from the begin (compare figure below, todo: add link to work product traceability model). +5. We aim to verify conformity and traceability by tool automation as much as possible (compare figure below). +6. We aim for an iterative collaboration model initiated by contribution requests (compare todo: add link to contribution_request_guidance) + + +.. figure:: _assets/score_process_model.drawio.svg + :width: 100% + :align: center + :alt: Score process model + + Score process model diff --git a/docs/process/roles/index.rst b/docs/process/roles/index.rst index 3b3495c..a2bfafd 100644 --- a/docs/process/roles/index.rst +++ b/docs/process/roles/index.rst @@ -12,8 +12,151 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -.. toctree:: - :maxdepth: 1 - :caption: Contents: +Roles +===== + +SCORE Management Roles +---------------------- + +.. role:: Project Lead + :id: RL_project_lead + :status: valid + :security: yes + :safety: yes + :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 + :security: yes + :safety: yes + :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 + :security: no + :safety: yes + :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 + :security: no + :safety: no + :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 + :security: yes + :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 + :security: yes + :safety: yes + :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 + :security: yes + :safety: yes + :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 + :security: yes + :safety: yes + :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 + :security: yes + :safety: yes + :tags: development + + (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 + :security: yes + :safety: yes + :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 + :security: yes + :safety: yes + :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 + :security: no + :safety: yes + :tags: safety_management + + The external assessor performs safety confirmation measures like safety audit, assessment and confirmation reviews. - roles diff --git a/docs/process/roles/roles.rst b/docs/process/roles/roles.rst deleted file mode 100644 index ffa26fa..0000000 --- a/docs/process/roles/roles.rst +++ /dev/null @@ -1,138 +0,0 @@ -.. - # ******************************************************************************* - # 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.