diff --git a/docs/platform_management_plan/_assets/score_project_organisation.drawio.svg b/docs/platform_management_plan/_assets/score_project_organisation.drawio.svg index 191e43a5e24..f9e9dfd8975 100644 --- a/docs/platform_management_plan/_assets/score_project_organisation.drawio.svg +++ b/docs/platform_management_plan/_assets/score_project_organisation.drawio.svg @@ -1,16 +1,16 @@ - + - - - + + + -
+
SCORE Organization @@ -18,31 +18,50 @@
- + SCORE Organization - + - + - + + + + + + + +
+
+
+ Project lead circle +
+
+
+
+ + Project lead circle + +
+
- - + + -
+
Cross functional feature teams @@ -50,67 +69,23 @@
- + Cross functional feat...
- - - - - - - - -
-
-
- Technical lead circle -
-
-
-
- - Technical lead circle - -
-
-
- - - - - - - - -
-
-
- Project lead circle -
-
-
-
- - Project lead circle - -
-
-
- - + + -
+
Communities @@ -118,7 +93,7 @@
- + Communities @@ -127,14 +102,14 @@
- - + + -
+
Quality Manager @@ -142,7 +117,7 @@
- + Quality Manager @@ -150,14 +125,36 @@
- - + + + + + + + +
+
+
+ Escalation path +
+
+
+
+ + Escalation path + +
+
+
+ + + -
+
Consult feature teams @@ -165,21 +162,46 @@
- + Consult feature teams - - + + + + + + + +
+
+
+ Project lead +
+
+
+
+ + Project lead + +
+
+
+ + + + + + -
+
Escalation path @@ -187,30 +209,30 @@
- + Escalation path - - + + -
+
- Escalation path + Eclipse SDV
- - Escalation path + + Eclipse SDV diff --git a/docs/platform_management_plan/documentation_management.rst b/docs/platform_management_plan/documentation_management.rst index 23c1b24a31d..65987ab7eb7 100644 --- a/docs/platform_management_plan/documentation_management.rst +++ b/docs/platform_management_plan/documentation_management.rst @@ -312,6 +312,10 @@ docs/score_releases results.append(need) + +.. _documents_docs_features: + + Feature documentation +++++++++++++++++++++ @@ -739,6 +743,8 @@ docs/features/persistency .. results.append(need) +.. _documents_docs_modules: + Modules documentation +++++++++++++++++++++ @@ -1030,6 +1036,9 @@ docs/modules/tracing/docs results.append(need) +.. _documents_docs_modules_components: + + Components documentation ++++++++++++++++++++++++ diff --git a/docs/platform_management_plan/quality_management.rst b/docs/platform_management_plan/quality_management.rst index 55fe62a5baa..8eb3011c8cc 100644 --- a/docs/platform_management_plan/quality_management.rst +++ b/docs/platform_management_plan/quality_management.rst @@ -37,9 +37,9 @@ of the workflows. Statement of Independence ------------------------- -The :need:`PROCESS_rl__quality_manager` provides only support to the project with consulting them to improve the -quality of the project/platform product. Although the quality report is also sent to the :need:`PROCESS_rl__technical_lead`, -the :need:`PROCESS_rl__quality_manager` is independent of the delivery of the product. +The :need:`PROCESS_rl__quality_manager` provides support to the project by consulting on quality improvements +for the project/platform product. The Quality Manager is independent of the product delivery process. The quality report +is approved by the :need:`PROCESS_rl__project_lead`. .. image:: _assets/score_project_organisation.drawio.svg :width: 900 @@ -79,7 +79,7 @@ Objectives and scope 3.2 Quality Performance Objectives ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -.. list-table:: Quality assurance activities and frequence of performing them +.. list-table:: Quality assurance activities and frequency of performing them :header-rows: 1 * - # @@ -219,21 +219,11 @@ The project roles are defined in the processes and are aligned to Eclipse roles. results.append(need) -| **Critical dependencies** - -The project has not implemented a quality management system yet, but aims to be conformant to ASPICE 4.0, -as defined in the management system. Continuous improvement is part of all processes. Improvements are handled -in the scope of Quality Management. - -**Risk** - -Organization and management system is currently not mature. - **Skills** -The main quality related project roles are the Quality Manager :need:`PROCESS_rl__quality_manager` and the Technical Lead :need:`PROCESS_rl__technical_lead`. These also have to have +The main quality related project roles are the :need:`PROCESS_rl__quality_manager` and the :need:`PROCESS_rl__project_lead`. These also have to have the (Eclipse) committer role. As defined in `Committer Training `_ the -committers are elected in a meritrocratic manner, meaning those have to show their skills and understanding of the +committers are elected in a meritocratic manner, meaning those have to show their skills and understanding of the project processes in several previous pull requests. As each project can adopt additional criteria for the committers election, S-CORE defines that each committer has to prove @@ -241,23 +231,19 @@ his knowledge in quality SW development by: - by attending the project's ASPICE 4.0 SW management and development training. -Additionally, the project repository shall be organized in a way that independent roles (to the technical solution) - have to approve any pull request before it's merged. The persons who are able to approve need to be qualified - according to the roles description Quality Manager :need:`PROCESS_rl__quality_manager`. - -The successful checking of the skills of the committers and independent roles is ensured by the Project and Quality Manager :need:`PROCESS_rl__quality_manager` and documented -in the role assignment document. +The successful checking of the committers' skills and the independent roles is ensured by the :need:`PROCESS_rl__project_lead` +and :need:`PROCESS_rl__quality_manager` who record/check this in the role assignment document. -.. note:: The identity of the committer by applying the GitHub digital signature mechanism will be used to confirm the authenticity of the Quality Manager :need:`PROCESS_rl__quality_manager` role for the approvals +.. note:: The identity of the committer by applying the GitHub digital signature mechanism will be used to confirm the authenticity of the :need:`PROCESS_rl__quality_manager` role for the approvals 4 Quality Management Planning ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4.1 Quality Resources """""""""""""""""""""" -A dedicated Quality Manager is defined as part of the cross functional feature teams as defined in :doc:`project_management`. The Quality Manager :need:`PROCESS_rl__quality_manager`, supported by the -Project Lead :need:`PROCESS_rl__project_lead`, and all other stakeholders, will ensure that quality activities are actively planned, developed, -analyzed, verified, tested, and managed throughout the life cycle of the project. As all the implementation -takes place within feature development, there is a Quality Manager :need:`PROCESS_rl__quality_manager` appointed in the feature development plan. +Dedicated :need:`PROCESS_rl__quality_manager` are elected, following a methodology as done for the committers, which means in a meritocratic manner on project level. + +The :need:`PROCESS_rl__quality_manager`, supported by the :need:`PROCESS_rl__project_lead`, and all other stakeholders, +will ensure that quality activities are actively planned, developed, analyzed, verified, tested, and managed throughout the life cycle of the project. Resources and milestones are planned in Github Issues for all activities. Resource and milestone planning is done as defined in the :doc:`project_management`. @@ -286,12 +272,15 @@ The quality management status :need:`PROCESS_wp__qms_report` is reported as defi **Escalation** -- Quality Manager :need:`PROCESS_rl__quality_manager` to steering committee documented in :need:`doc__project_mgt_plan`. +If needed a escalation can be done in three steps. First :need:`PROCESS_rl__quality_manager` shall escalate to +the :need:`PROCESS_rl__project_lead`. Then to the project lead circle, documented in :need:`doc__project_mgt_plan`. +Finally to the Eclipse Foundation if the rules of the Eclipse handbook are not followed. **Examples for valid escalation causes are:** +- Conflict between :need:`PROCESS_rl__quality_manager` and :need:`PROCESS_rl__committer` regarding quality issues. - Quality issues cannot be resolved on feature level or with the available resources. -- There are conflicting points of view between the Project Lead :need:`PROCESS_rl__project_lead`, Technical Lead :need:`PROCESS_rl__technical_lead`, Safety Manager :need:`PROCESS_rl__safety_manager`, Security Manager :need:`PROCESS_rl__security_manager` and the Quality Manager :need:`PROCESS_rl__quality_manager` +- There are conflicting points of view between the :need:`PROCESS_rl__project_lead`, :need:`PROCESS_rl__safety_manager`, :need:`PROCESS_rl__security_manager` and the :need:`PROCESS_rl__quality_manager`. 4.3 Quality Management Specifics ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -303,387 +292,157 @@ None :header-rows: 1 * - Workproduct Id - - Link to process - - Process status - - Link to issue - Link to WP - - WP status - - * - :need:`PROCESS_wp__audit_report` - - :need:`PROCESS_gd_guidl__saf_plan_definitions` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__saf_plan_definitions')` - - `#470 `_ - - :need:`doc__platform_change_management_plan` - - * - :need:`PROCESS_wp__chm_plan` - - :need:`PROCESS_gd_guidl__change_change_request` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__change_change_request')` - - - - - - + - :ref:`project_documents_list` * - :need:`PROCESS_wp__cmpt_request` - - :need:`PROCESS_gd_guidl__change_change_request` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__change_change_request')` - - - - - - + - :ref:`documents_docs_modules_components` * - :need:`PROCESS_wp__component_arch` - - :need:`PROCESS_gd_guidl__arch_design` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__arch_design')` - - - - - - + - :ref:`documents_docs_modules_components` * - :need:`PROCESS_wp__document_mgt_plan` - - :need:`PROCESS_gd_guidl__documentation` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__documentation')` - - - - :need:`doc__documentation_mgt_plan` - - + - :ref:`project_documents_list` * - :need:`PROCESS_wp__fdr_reports` - - :need:`PROCESS_gd_guidl__saf_plan_definitions` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__saf_plan_definitions')` - - - - - - + - :ref:`documents_docs_modules` * - :need:`PROCESS_wp__feat_request` - - :need:`PROCESS_gd_guidl__change_change_request` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__change_change_request')` - - - - :need:`doc__logging`, :need:`doc__com`, :need:`doc__frameworks_feo`, :need:`doc__persistency_kvs` - - + - :ref:`documents_docs_features` * - :need:`PROCESS_wp__feature_arch` - - :need:`PROCESS_gd_guidl__arch_design` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__arch_design')` - - - - - - + - :ref:`documents_docs_features` * - :need:`PROCESS_wp__feature_dfa` - - :need:`PROCESS_gd_guidl__safety_analysis` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__safety_analysis')` - - - - - - + - :ref:`documents_docs_features` * - :need:`PROCESS_wp__module_safety_manual` - - :need:`PROCESS_gd_guidl__saf_plan_definitions` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__saf_plan_definitions')` - - - - - - + - :ref:`documents_docs_modules` * - :need:`PROCESS_wp__module_safety_package` - - :need:`PROCESS_gd_guidl__saf_plan_definitions` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__saf_plan_definitions')` - - - - - - + - :ref:`documents_docs_modules` * - :need:`PROCESS_wp__module_safety_plan` - - :need:`PROCESS_gd_guidl__saf_plan_definitions` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__saf_plan_definitions')` - - - - - - + - :ref:`documents_docs_modules` * - :need:`PROCESS_wp__module_sw_release_note` - - :need:`PROCESS_gd_guidl__rel_management` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__rel_management')` - - - - - - + - :ref:`documents_docs_modules` * - :need:`PROCESS_wp__module_sw_release_plan` - - :need:`PROCESS_gd_guidl__rel_management` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__rel_management')` - - - - - - + - :ref:`documents_docs_modules` * - :need:`PROCESS_wp__platform_dfa` - - :need:`PROCESS_gd_guidl__safety_analysis` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__safety_analysis')` - - - - - - + - :ref:`project_documents_list` * - :need:`PROCESS_wp__platform_safety_manual` - - :need:`PROCESS_gd_guidl__saf_plan_definitions` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__saf_plan_definitions')` - - - - - - + - :ref:`project_documents_list` * - :need:`PROCESS_wp__platform_safety_plan` - - :need:`PROCESS_gd_guidl__saf_plan_definitions` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__saf_plan_definitions')` - - - - - - + - :ref:`project_documents_list` * - :need:`PROCESS_wp__platform_safety_package` - - :need:`PROCESS_gd_guidl__saf_plan_definitions` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__saf_plan_definitions')` - - - - - - + - :ref:`project_documents_list` * - :need:`PROCESS_wp__platform_sw_build_config` - - n/a - - draft - - - - - - + - :ref:`project_documents_list` * - :need:`PROCESS_wp__platform_sw_release_note` - - :need:`PROCESS_gd_guidl__rel_management` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__rel_management')` - - - - - - + - :ref:`project_documents_list` * - :need:`PROCESS_wp__platform_sw_release_plan` - - :need:`PROCESS_gd_guidl__rel_management` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__rel_management')` - - - - - - - - * - :need:`PROCESS_wp__policies` - - n/a - - draft - - - - - - + - :ref:`project_documents_list` * - :need:`PROCESS_wp__prm_plan` - - :need:`PROCESS_gd_guidl__problem_problem` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__problem_problem')` - - - - - - + - :ref:`project_documents_list` * - :need:`PROCESS_wp__process_description` - - n/a - - draft - - - - - - + - :need:`PROCESS_wp__process_description` * - :need:`PROCESS_wp__process_impr_report` - - :need:`PROCESS_gd_guidl__platform_mgmt_plan` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__platform_mgmt_plan')` - - - - - - + - :ref:`project_documents_list` * - :need:`PROCESS_wp__process_strategy` - - n/a - - draft - - - - - - + - :need:`PROCESS_wp__process_strategy` * - :need:`PROCESS_wp__project_mgt` - - :need:`PROCESS_gd_guidl__platform_mgmt_plan` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__platform_mgmt_plan')` - - - - - - + - :ref:`project_documents_list` * - :need:`PROCESS_wp__qms_plan` - - :need:`PROCESS_gd_guidl__qlm_plan_definitions` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__qlm_plan_definitions')` - - - - :need:`doc__platform_quality_plan` - - + - :ref:`project_documents_list` * - :need:`PROCESS_wp__qms_report` - - :need:`PROCESS_gd_guidl__qlm_plan_definitions` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__qlm_plan_definitions')` - - - - - - + - :ref:`project_documents_list` * - :need:`PROCESS_wp__requirements_comp` - - :need:`PROCESS_gd_guidl__req_engineering` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__req_engineering')` - - - - - - + - :ref:`documents_docs_modules_components` * - :need:`PROCESS_wp__requirements_comp_aou` - - :need:`PROCESS_gd_guidl__req_engineering` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__req_engineering')` - - - - - - + - :ref:`documents_docs_modules_components` * - :need:`PROCESS_wp__requirements_feat` - - :need:`PROCESS_gd_guidl__req_engineering` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__req_engineering')` - - - - - - + - :ref:`documents_docs_features` * - :need:`PROCESS_wp__requirements_feat_aou` - - :need:`PROCESS_gd_guidl__req_engineering` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__req_engineering')` - - - - - - + - :ref:`documents_docs_features` * - :need:`PROCESS_wp__requirements_inspect` - - :need:`PROCESS_gd_guidl__req_engineering` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__req_engineering')` - - - - - - + - :ref:`project_documents_list`, :ref:`documents_docs_modules` * - :need:`PROCESS_wp__requirements_stkh` - - :need:`PROCESS_gd_guidl__req_engineering` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__req_engineering')` - - - - - - + - :ref:`project_documents_list` * - :need:`PROCESS_wp__sw_arch_verification` - - :need:`PROCESS_gd_guidl__arch_design` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__arch_design')` - - - - - - + - :ref:`project_documents_list`, :ref:`documents_docs_modules` * - :need:`PROCESS_wp__sw_component_class` - - :need:`PROCESS_gd_guidl__saf_plan_definitions` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__saf_plan_definitions')` - - - - - - + - :ref:`documents_docs_modules_components` * - :need:`PROCESS_wp__sw_component_dfa` - - :need:`PROCESS_gd_guidl__safety_analysis` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__safety_analysis')` - - - - - - + - :ref:`documents_docs_modules_components` * - :need:`PROCESS_wp__sw_component_fmea` - - :need:`PROCESS_gd_guidl__safety_analysis` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__safety_analysis')` - - - - - - + - :ref:`documents_docs_modules_components` * - :need:`PROCESS_wp__sw_component_dfa` - - :need:`PROCESS_gd_guidl__safety_analysis` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__safety_analysis')` - - - - - - + - :ref:`documents_docs_modules_components` * - :need:`PROCESS_wp__sw_development_plan` - - :need:`PROCESS_gd_guidl__implementation` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__implementation')` - - - - - - + - :ref:`project_documents_list` * - :need:`PROCESS_wp__sw_implementation` - - :need:`PROCESS_gd_guidl__implementation` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__implementation')` - - - - - - + - :ref:`documents_docs_modules_components` * - :need:`PROCESS_wp__sw_implementation_inspection` - - :need:`PROCESS_gd_guidl__implementation` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__implementation')` - - - - - - + - :ref:`documents_docs_modules_components` * - :need:`PROCESS_wp__tailoring` - - :need:`PROCESS_gd_guidl__saf_plan_definitions` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__saf_plan_definitions')` - - - - - - + - :ref:`project_documents_list`, :ref:`documents_docs_features`, :ref:`documents_docs_modules_components` * - :need:`PROCESS_wp__tlm_plan` - - :need:`PROCESS_doc_concept__tool_process` - - :ndf:`copy('status', need_id='PROCESS_doc_concept__tool_process')` - - - - :need:`doc__platform_tool_management_plan` - - + - :ref:`project_documents_list` * - :need:`PROCESS_wp__tool_verification_report` - - :need:`PROCESS_doc_concept__tool_process` - - :ndf:`copy('status', need_id='PROCESS_doc_concept__tool_process')` - - - - - - - - * - :need:`PROCESS_wp__training_path` - - n/a - - draft - - - - - - - + - :ref:`project_documents_list` * - :need:`PROCESS_wp__verification_comp_int_test` - - :need:`PROCESS_gd_guidl__verification_guide` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__verification_guide')` - - - - - - + - :ref:`documents_docs_modules_components` * - :need:`PROCESS_wp__verification_feat_int_test` - - :need:`PROCESS_gd_guidl__verification_guide` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__verification_guide')` - - - - - - + - :ref:`documents_docs_features` * - :need:`PROCESS_wp__verification_module_ver_report` - - :need:`PROCESS_gd_guidl__verification_guide` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__verification_guide')` - - - - - - + - :ref:`documents_docs_modules` * - :need:`PROCESS_wp__verification_plan` - - :need:`PROCESS_gd_guidl__verification_guide` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__verification_guide')` - - - - - - + - :ref:`project_documents_list`, :ref:`documents_docs_features`, :ref:`documents_docs_modules_components` * - :need:`PROCESS_wp__verification_platform_test` - - :need:`PROCESS_gd_guidl__verification_guide` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__verification_guide')` - - - - - - + - :ref:`project_documents_list` * - :need:`PROCESS_wp__verification_platform_ver_report` - - :need:`PROCESS_gd_guidl__verification_guide` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__verification_guide')` - - - - - - + - :ref:`project_documents_list` * - :need:`PROCESS_wp__verification_sw_unit_test` - - :need:`PROCESS_gd_guidl__verification_guide` - - :ndf:`copy('status', need_id='PROCESS_gd_guidl__verification_guide')` - - - - - - + - :ref:`documents_docs_modules_components`