update: Stakeholder Requirements Prozess verbessert und Traceability angepasst.
This commit is contained in:
parent
a0997b5523
commit
1761b026ae
4 changed files with 108 additions and 98 deletions
|
|
@ -2,15 +2,19 @@
|
|||
|
||||
This document provides a comprehensive overview of our requirements engineering process. It is designed to help experienced professionals understand how we collect, document, and manage requirements using Azure DevOps. By adhering to this guide, we ensure consistency, traceability, and compliance throughout our projects.
|
||||
|
||||
The requirements engineering proicess is tightly bound to the [traceability concept](traceability-concept.md) and the [requirements gathering interview](requirements-gathering-interview.md).
|
||||
|
||||
Requirements are work items in Azure DevOps and the summarizing AsciiDoc document is located within the [docs-requirements](https://dev.azure.com/ypsag/ITSandbox/_git/docs-requirements) repository.
|
||||
|
||||
## Overview
|
||||
|
||||
Our requirements engineering process is a structured approach that takes us from the initial stakeholder conversations to a finalized set of requirements. We emphasize:
|
||||
|
||||
- **Clarity and Testability:** Requirements should be simple statements that are testable.
|
||||
- **Traceability:** Maintaining a clear line from requirements through to implementation and testing.
|
||||
- **Clarity and Testability:** Requirements should be simple statements that are testable. We are writing test cases along with the stakeholder requirements.
|
||||
- **Traceability:** Maintaining clear links from requirements through to implementation and testing and back.
|
||||
- **Compliance:** Ensuring all regulatory requirements are identified and addressed.
|
||||
- **Stakeholder Engagement:** Actively involving stakeholders throughout the process.
|
||||
- **Risk Management:** Identifying and mitigating risks associated with requirements.
|
||||
- **Risk Management:** Identifying and mitigating risks associated with requirements. Recording them linked to the requirements.
|
||||
|
||||
We use **Azure DevOps** with the **CMMI process template** to manage our Work Items, facilitating collaboration and traceability.
|
||||
|
||||
|
|
@ -21,8 +25,8 @@ We use **Azure DevOps** with the **CMMI process template** to manage our Work It
|
|||
**Objective:** Establish a foundational understanding of the project and build relationships with stakeholders.
|
||||
|
||||
- **Activities:**
|
||||
- Conduct initial meetings to understand project vision and objectives.
|
||||
- Establish communication channels and protocols.
|
||||
- Conduct initial meetings to understand project vision and objectives with sponsors or, if already appointed, project managers.
|
||||
- Establish communication channels and protocols. E.g. use Teams channels, Slack or such for quick communication.
|
||||
- Set expectations for the requirements gathering process.
|
||||
|
||||
### 2. Stakeholder Identification
|
||||
|
|
@ -30,7 +34,7 @@ We use **Azure DevOps** with the **CMMI process template** to manage our Work It
|
|||
**Objective:** Identify all individuals and groups who have an interest in or influence over the project.
|
||||
|
||||
- **Activities:**
|
||||
- Create a stakeholder register.
|
||||
- Create a stakeholder register. This should be part of the summarizing AsciiDoc document.
|
||||
- Analyze stakeholder roles, interests, and influence.
|
||||
- Prioritize stakeholders based on their impact on requirements.
|
||||
|
||||
|
|
@ -42,8 +46,8 @@ We use **Azure DevOps** with the **CMMI process template** to manage our Work It
|
|||
- Conduct interviews using our [Interview Questionnaire](requirements-gathering-interview.md) (refer to the separate file).
|
||||
- Hold workshops and brainstorming sessions.
|
||||
- Observe existing systems and workflows.
|
||||
- **Outcome:**
|
||||
- Capture raw requirements and create initial Requirement Work Items in Azure DevOps.
|
||||
- Demonstrate and teach how unexpierenced stakeholders can review requirements and their current state in Azure DevOps.
|
||||
|
||||
### 4. Requirements Documentation
|
||||
|
||||
|
|
@ -52,7 +56,8 @@ We use **Azure DevOps** with the **CMMI process template** to manage our Work It
|
|||
- **Activities:**
|
||||
- Use the "Requirement" Work Item in Azure DevOps to record each requirement.
|
||||
- Include detailed descriptions, affected regulations, and stakeholder information.
|
||||
- Ensure each requirement is a simple, testable statement.
|
||||
- Ensure each requirement is a simple, testable statement. Write test cases along with the requirements.
|
||||
- Add acceptance criteria.
|
||||
|
||||
### 5. Requirements Analysis
|
||||
|
||||
|
|
@ -69,7 +74,7 @@ We use **Azure DevOps** with the **CMMI process template** to manage our Work It
|
|||
|
||||
- **Activities:**
|
||||
- Link Requirement Work Items to related Specifications, Design Documents, Implementation Tasks, Test Cases, and other artifacts in Azure DevOps.
|
||||
- Use a Traceability Matrix to map relationships (see [Traceability Matrix](#traceability-matrix)).
|
||||
- Use a Traceability Matrix to map relationships (see [traceability concept](traceability-concept.md)).
|
||||
|
||||
### 7. Requirements Management
|
||||
|
||||
|
|
@ -77,7 +82,7 @@ We use **Azure DevOps** with the **CMMI process template** to manage our Work It
|
|||
|
||||
- **Principles:**
|
||||
- **Immutability of Requirements:** Once a requirement is baselined, it should not be altered. If changes are needed, deprecate the old requirement and create a new version.
|
||||
- **Version Control:** Use Azure DevOps to track changes and maintain history.
|
||||
- **Version Control:** Use Azure DevOps Work Items to link older versions with their successors and maintain history.
|
||||
- **Activities:**
|
||||
- Implement a change control process for requirements updates.
|
||||
- Communicate changes to all stakeholders.
|
||||
|
|
@ -87,9 +92,9 @@ We use **Azure DevOps** with the **CMMI process template** to manage our Work It
|
|||
**Objective:** Identify and mitigate risks associated with requirements early in the project.
|
||||
|
||||
- **Activities:**
|
||||
- Document risks in the Requirement Work Items or as separate Risk Work Items.
|
||||
- Document risks as separate work item of type Risk and link it to the Requirement Work Items.
|
||||
- Assess the impact and likelihood of each risk.
|
||||
- Develop mitigation strategies.
|
||||
- Develop mitigation strategies and documente them along with the risk.
|
||||
|
||||
## Azure DevOps Guidelines
|
||||
|
||||
|
|
@ -98,74 +103,39 @@ We use **Azure DevOps** with the **CMMI process template** to manage our Work It
|
|||
When creating a Requirement Work Item in Azure DevOps, ensure the following fields are populated:
|
||||
|
||||
- **Title:** Clear and concise summary of the requirement.
|
||||
- **Description:** Detailed explanation, including purpose and background.
|
||||
- **Acceptance Criteria:** Conditions that must be met for the requirement to be considered fulfilled.
|
||||
- **Affected Regulations:** List any laws, standards, or regulations impacting the requirement.
|
||||
- **Stakeholders:** Names or roles of stakeholders associated with the requirement.
|
||||
- **Tags:** Keywords for easy filtering and identification.
|
||||
- **Description:** Detailed explanation, including purpose and background.
|
||||
- **Affected Regulations:** List any laws, standards, or regulations impacting the requirement.
|
||||
- **Acceptance Criteria:** Conditions that must be met for the requirement to be considered fulfilled.
|
||||
- **Test Cases:** Linked test cases for validating the requirement.
|
||||
- **Attachments:** Include supporting documents if necessary.
|
||||
|
||||
### Custom Fields and Links
|
||||
|
||||
To capture all necessary information:
|
||||
|
||||
- **Custom Fields:**
|
||||
- **Stakeholders:** If not already available, add a custom field to list stakeholders.
|
||||
- **Regulations:** Add a field to specify affected regulations or compliance requirements.
|
||||
- **Links:**
|
||||
- **Affected By:** Use to link the requirement to regulations or higher-level requirements.
|
||||
- **Related Work Items:** Connect to tasks, user stories, or bugs.
|
||||
- **Test Cases:** Link to associated test cases validating the requirement.
|
||||
|
||||
### Maintaining Traceability
|
||||
|
||||
Traceability is crucial for tracking requirements through all stages of development.
|
||||
|
||||
#### Traceability Matrix
|
||||
|
||||
We use a Traceability Matrix to map requirements to other project artifacts.
|
||||
Traceability is crucial for tracking requirements through all stages of development. We use a Traceability Matrix to map requirements to other project artifacts. As of now the document is created manually in AsciiDoc format. We aim to automate this process in the future.
|
||||
|
||||
**Template:**
|
||||
|
||||
| Requirement ID | Requirement Description | Affected Regulations | Stakeholders | Specification ID | Design Doc ID | Implementation IDs | Test Case ID(s) | Status |
|
||||
|----------------|-------------------------|----------------------|--------------|------------------|---------------|--------------------|------------------|--------|
|
||||
| RQ-001 | [Description] | [Regulations] | [Names] | SP-001 | DD-001 | [IDs] | TC-001 | Open |
|
||||
| Requirement ID | Requirement Title | Affected Regulations | Stakeholders | Test Case ID(s) |
|
||||
|----------------|-------------------|----------------------|--------------|-----------------|
|
||||
| RQ-001 | [Title] | [Regulations] | [Roles] | TC-001 |
|
||||
|
||||
- **Requirement ID:** Unique identifier (e.g., RQ-001).
|
||||
- **Specification ID:** Reference to detailed specifications.
|
||||
- **Design Doc ID:** Reference to design documents.
|
||||
- **Implementation IDs:** Linked Work Items for development tasks.
|
||||
- **Test Case ID(s):** Linked test cases for validation.
|
||||
- **Requirement ID:** Unique identifier, we are using the Azure DevOps work item id.
|
||||
- **Requirement Title:** Summary of the requirement.
|
||||
- **Affected Regulations:** Relevant laws, standards, or regulations. We are using a link to the requirement work item representing the regulation in Azure DevOps.
|
||||
- **Test Case ID(s):** Linked test cases for validation, we are using the Azure DevOps Test Case id.
|
||||
|
||||
#### Work Item Linking in Azure DevOps
|
||||
|
||||
- Use hierarchical links (Parent/Child) to represent decomposition.
|
||||
- Use **"Related"** links for associations between Work Items.
|
||||
- Enforce link policies to ensure no Work Item is closed without proper linkage.
|
||||
|
||||
## Best Practices
|
||||
## Best Practices and additional Notes
|
||||
|
||||
- **Simple and Testable Statements:** Write requirements that are clear and can be verified through testing.
|
||||
- **Regulatory Compliance:** When regulations affect a requirement, include specific clauses or references.
|
||||
- **Versioning:** Do not alter baselined requirements. Deprecate and replace with new versions as needed.
|
||||
- **Stakeholder Engagement:** Keep stakeholders involved throughout the process for validation and feedback.
|
||||
- **Documentation:** Maintain thorough documentation at each step to support traceability and compliance.
|
||||
- **Risk Identification:** Address risks early by documenting them alongside requirements.
|
||||
- **Consistent Terminology:** Use standard terms and definitions to avoid confusion.
|
||||
|
||||
## Additional Notes
|
||||
|
||||
- **Communication:**
|
||||
- Utilize Azure DevOps **Discussion** section in Work Items for conversations and decisions.
|
||||
- Set up notifications for stakeholders to keep them informed of updates.
|
||||
- **Training:**
|
||||
- Familiarize yourself with the Azure DevOps CMMI process template and our customized fields.
|
||||
- Stay updated on best practices in requirements engineering.
|
||||
- **Tools and Extensions:**
|
||||
- Consider using Azure DevOps extensions for enhanced reporting and traceability visualization.
|
||||
- **Regulatory Awareness:**
|
||||
- Stay informed about regulations relevant to our projects (e.g., GDPR, HIPAA).
|
||||
- Consult with compliance officers when in doubt.
|
||||
- **Communication:** Utilize Azure DevOps **Discussion** section in Work Items for conversations and decisions. Set up notifications for stakeholders to keep them informed of updates.
|
||||
- **Training:** Familiarize yourself with the Azure DevOps CMMI process template and our customized fields. Stay updated on best practices in requirements engineering.
|
||||
- **Regulatory Awareness:** Stay informed about regulations relevant to our projects (e.g., GDPR, HIPAA). Consult with compliance officers when in doubt.
|
||||
|
||||
## LLM Prompt example
|
||||
|
||||
|
|
@ -183,8 +153,10 @@ Key Guidelines:
|
|||
3. Desired Outcomes: Use "I want..." to specify what the stakeholder expects or desires to be achieved. List actions or outcomes in a concise, actionable manner.
|
||||
4. Rationale: Use "This ensures..." to explain why the requirement is important or what benefit it provides.
|
||||
5. Add a list of relevant acceptance criteria
|
||||
6. Add a list of test cases
|
||||
|
||||
Example:
|
||||
Title: Document Authorship and Timestamps
|
||||
When creating or modifying documents,
|
||||
As IT QA CSV representative,
|
||||
I want every document to:
|
||||
|
|
@ -194,10 +166,13 @@ This ensures compliance with the "Attributable" principle of ALCOA+.
|
|||
Acceptance criteria:
|
||||
- The author's name is recorded on every document.
|
||||
- Timestamps are added for document creation and all modifications.
|
||||
Test cases:
|
||||
- Verify author name is captured on document creation.
|
||||
- Verify timestamps are added for all document modifications.
|
||||
|
||||
The input data is:
|
||||
|
||||
Requirement title: Pipeline for configuring Azure DevOps Repos with Ansible
|
||||
Stakeholder: IT Cloud Stream Lead
|
||||
Requirement description: Creation of git repositories should follow a review process and thus team members should never manually create repositories. They should create a branch, add the new repo to a configuration file, and submit a pull request. The pipeline should then create the repository after approval automatically.
|
||||
Requirement title: >>fill in the title<<
|
||||
Stakeholder: >>fill in the stakeholder role<<
|
||||
Requirement description: >>fill in the requirement description in your words<<
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<mxfile host="Electron" modified="2024-12-19T12:26:09.449Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.7.5 Chrome/114.0.5735.289 Electron/25.8.1 Safari/537.36" etag="vcLLweq5RzbA2yNSo8Zk" version="21.7.5" type="device" pages="2">
|
||||
<mxfile host="Electron" modified="2024-12-20T11:55:34.476Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.7.5 Chrome/114.0.5735.289 Electron/25.8.1 Safari/537.36" etag="xDIV1luuTOnZ7q7HxJM7" version="21.7.5" type="device" pages="2">
|
||||
<diagram name="Page-1" id="VJjQVazO9LzCj5qsA8S6">
|
||||
<mxGraphModel dx="1901" dy="1648" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<mxGraphModel dx="1901" dy="2735" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
<mxCell id="nSGN3ebGevB2FO6GE1kk-9" value="Configured Product" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#0050ef;fontColor=#ffffff;strokeColor=#001DBC;" parent="1" vertex="1">
|
||||
<mxGeometry x="400" y="780" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-10" value="Configuration Testplan" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-10" value="Configuration Test Suite" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#00CCCC;" parent="1" vertex="1">
|
||||
<mxGeometry x="520" y="640" width="80" height="100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-22" value="Regulation" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
|
|
@ -34,13 +34,13 @@
|
|||
<mxCell id="nSGN3ebGevB2FO6GE1kk-26" value="Requirement 1" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="850" y="160" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-29" value="Stakeholder<br>Requirements<br>Testplan" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-29" value="Stakeholder<br>Requirements<br>Test Suite" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#00CCCC;" parent="1" vertex="1">
|
||||
<mxGeometry x="640" y="160" width="80" height="100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-30" value="System Requirements Testplan" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-30" value="System Requirements Test Suite" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#00CCCC;" parent="1" vertex="1">
|
||||
<mxGeometry x="600" y="320" width="80" height="100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-31" value="Functional Testplan" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-31" value="Functional Test Suite" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#00CCCC;" parent="1" vertex="1">
|
||||
<mxGeometry x="560" y="480" width="80" height="100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-42" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="nSGN3ebGevB2FO6GE1kk-38" target="nSGN3ebGevB2FO6GE1kk-3" edge="1">
|
||||
|
|
@ -64,94 +64,115 @@
|
|||
<mxCell id="6oCaS1ZVnthlq4vtR56g-1" value="" style="shape=curlyBracket;whiteSpace=wrap;html=1;rounded=1;flipH=1;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;" parent="1" vertex="1">
|
||||
<mxGeometry x="780" y="40" width="20" height="800" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-1" value="Stakeholder" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-1" value="Stakeholder" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="977" y="160" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-11" value="Regulation" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-11" value="Regulation" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1103" y="200" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-12" value="Test Case" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-12" value="Test Case" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1230" y="200" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-13" value="Requirement 1" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-13" value="Requirement 1" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="850" y="200" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-14" value="Stakeholder" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-14" value="Stakeholder" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="977" y="200" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-15" value="Regulation" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-15" value="Regulation" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1103" y="240" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-16" value="Test Case" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-16" value="Test Case" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1230" y="240" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-17" value="Requirement 1" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-17" value="Requirement 1" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="850" y="240" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-18" value="Stakeholder" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-18" value="Stakeholder" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="977" y="240" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-19" value="Generated System Requirements Document for Document Management System<br><br><br><br><br><br><br><br><br><br><br><br><div style="text-align: left;">Requirement 1</div><div style="text-align: left;"><br></div><div style="text-align: left;">......</div><div style="text-align: left;"><br></div><div style="text-align: left;">Requirement 2</div><div style="text-align: left;"><br></div><div style="text-align: left;">.....</div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;verticalAlign=top;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-19" value="Generated System Requirements Document for Document Management System<br><br><br><br><br><br><br><br><br><br><br><br><div style="text-align: left;">Requirement 1</div><div style="text-align: left;"><br></div><div style="text-align: left;">......</div><div style="text-align: left;"><br></div><div style="text-align: left;">Requirement 2</div><div style="text-align: left;"><br></div><div style="text-align: left;">.....</div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;verticalAlign=top;" parent="1" vertex="1">
|
||||
<mxGeometry x="840" y="480" width="520" height="310" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-20" value="Regulation" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-20" value="Regulation" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1103" y="520" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-21" value="Test Case" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-21" value="Test Case" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1230" y="520" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-22" value="Requirement 1" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-22" value="Requirement 1" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="850" y="520" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-23" value="System" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-23" value="System" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="977" y="520" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-24" value="Regulation" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-24" value="Regulation" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1103" y="560" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-25" value="Test Case" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-25" value="Test Case" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1230" y="560" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-26" value="Requirement 1" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-26" value="Requirement 1" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="850" y="560" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-27" value="System" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-27" value="System" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="977" y="560" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-28" value="Regulation" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-28" value="Regulation" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1103" y="600" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-29" value="Test Case" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-29" value="Test Case" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1230" y="600" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-30" value="Requirement 1" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-30" value="Requirement 1" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="850" y="600" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-31" value="System" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-31" value="System" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="977" y="600" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-32" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-32" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="320" y="200" as="sourcePoint" />
|
||||
<mxPoint x="450" y="710" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-34" value="Specification" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rotation=75;" vertex="1" connectable="0" parent="FHpbeC-Hxsyda6HUkaqz-32">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-34" value="Specification" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rotation=75;" parent="FHpbeC-Hxsyda6HUkaqz-32" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.1143" y="-1" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-33" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-33" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="470" y="710" as="sourcePoint" />
|
||||
<mxPoint x="600" y="200" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-35" value="Verification" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rotation=-75;" vertex="1" connectable="0" parent="FHpbeC-Hxsyda6HUkaqz-33">
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-35" value="Verification" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rotation=-75;" parent="FHpbeC-Hxsyda6HUkaqz-33" vertex="1" connectable="0">
|
||||
<mxGeometry x="0.0811" y="1" relative="1" as="geometry">
|
||||
<mxPoint y="-1" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="heMRJ0o1k2VOCL2ZcrGT-1" value="" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rotation=0;fillColor=#dae8fc;strokeColor=#6c8ebf;size=16;" vertex="1" parent="1">
|
||||
<mxGeometry x="40" y="-80" width="30" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="heMRJ0o1k2VOCL2ZcrGT-2" value="Requirement" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="-75" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="heMRJ0o1k2VOCL2ZcrGT-3" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#00CCCC;" vertex="1" parent="1">
|
||||
<mxGeometry x="200" y="-80" width="32" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="heMRJ0o1k2VOCL2ZcrGT-4" value="Test Suite" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="240" y="-75" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="heMRJ0o1k2VOCL2ZcrGT-6" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOy5zdDB7ZmlsbDojQ0MwMENDO30mI3hhOzwvc3R5bGU+PHBhdGggZD0iTTE3LjY2IDExLjJDMTcuNDMgMTAuOSAxNy4xNSAxMC42NCAxNi44OSAxMC4zOEMxNi4yMiA5Ljc4IDE1LjQ2IDkuMzUgMTQuODIgOC43MkMxMy4zMyA3LjI2IDEzIDQuODUgMTMuOTUgM0MxMyAzLjIzIDEyLjE3IDMuNzUgMTEuNDYgNC4zMkM4Ljg3IDYuNCA3Ljg1IDEwLjA3IDkuMDcgMTMuMjJDOS4xMSAxMy4zMiA5LjE1IDEzLjQyIDkuMTUgMTMuNTVDOS4xNSAxMy43NyA5IDEzLjk3IDguOCAxNC4wNUM4LjU3IDE0LjE1IDguMzMgMTQuMDkgOC4xNCAxMy45M0M4LjA4IDEzLjg4IDguMDQgMTMuODMgOCAxMy43NkM2Ljg3IDEyLjMzIDYuNjkgMTAuMjggNy40NSA4LjY0QzUuNzggMTAgNC44NyAxMi4zIDUgMTQuNDdDNS4wNiAxNC45NyA1LjEyIDE1LjQ3IDUuMjkgMTUuOTdDNS40MyAxNi41NyA1LjcgMTcuMTcgNiAxNy43QzcuMDggMTkuNDMgOC45NSAyMC42NyAxMC45NiAyMC45MkMxMy4xIDIxLjE5IDE1LjM5IDIwLjggMTcuMDMgMTkuMzJDMTguODYgMTcuNjYgMTkuNSAxNSAxOC41NiAxMi43MkwxOC40MyAxMi40NkMxOC4yMiAxMiAxNy42NiAxMS4yIDE3LjY2IDExLjJNMTQuNSAxNy41QzE0LjIyIDE3Ljc0IDEzLjc2IDE4IDEzLjQgMTguMUMxMi4yOCAxOC41IDExLjE2IDE3Ljk0IDEwLjUgMTcuMjhDMTEuNjkgMTcgMTIuNCAxNi4xMiAxMi42MSAxNS4yM0MxMi43OCAxNC40MyAxMi40NiAxMy43NyAxMi4zMyAxM0MxMi4yMSAxMi4yNiAxMi4yMyAxMS42MyAxMi41IDEwLjk0QzEyLjY5IDExLjMyIDEyLjg5IDExLjcgMTMuMTMgMTJDMTMuOSAxMyAxNS4xMSAxMy40NCAxNS4zNyAxNC44QzE1LjQxIDE0Ljk0IDE1LjQzIDE1LjA4IDE1LjQzIDE1LjIzQzE1LjQ2IDE2LjA1IDE1LjEgMTYuOTUgMTQuNSAxNy41SDE0LjVaIiBjbGFzcz0ic3QwIi8+PC9zdmc+;" vertex="1" parent="1">
|
||||
<mxGeometry x="320" y="-80" width="40" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="heMRJ0o1k2VOCL2ZcrGT-7" value="Risk incl. mitigation" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="360" y="-75" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="heMRJ0o1k2VOCL2ZcrGT-8" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOy5zdDB7ZmlsbDojQ0MwMENDO30mI3hhOzwvc3R5bGU+PHBhdGggZD0iTTE3LjY2IDExLjJDMTcuNDMgMTAuOSAxNy4xNSAxMC42NCAxNi44OSAxMC4zOEMxNi4yMiA5Ljc4IDE1LjQ2IDkuMzUgMTQuODIgOC43MkMxMy4zMyA3LjI2IDEzIDQuODUgMTMuOTUgM0MxMyAzLjIzIDEyLjE3IDMuNzUgMTEuNDYgNC4zMkM4Ljg3IDYuNCA3Ljg1IDEwLjA3IDkuMDcgMTMuMjJDOS4xMSAxMy4zMiA5LjE1IDEzLjQyIDkuMTUgMTMuNTVDOS4xNSAxMy43NyA5IDEzLjk3IDguOCAxNC4wNUM4LjU3IDE0LjE1IDguMzMgMTQuMDkgOC4xNCAxMy45M0M4LjA4IDEzLjg4IDguMDQgMTMuODMgOCAxMy43NkM2Ljg3IDEyLjMzIDYuNjkgMTAuMjggNy40NSA4LjY0QzUuNzggMTAgNC44NyAxMi4zIDUgMTQuNDdDNS4wNiAxNC45NyA1LjEyIDE1LjQ3IDUuMjkgMTUuOTdDNS40MyAxNi41NyA1LjcgMTcuMTcgNiAxNy43QzcuMDggMTkuNDMgOC45NSAyMC42NyAxMC45NiAyMC45MkMxMy4xIDIxLjE5IDE1LjM5IDIwLjggMTcuMDMgMTkuMzJDMTguODYgMTcuNjYgMTkuNSAxNSAxOC41NiAxMi43MkwxOC40MyAxMi40NkMxOC4yMiAxMiAxNy42NiAxMS4yIDE3LjY2IDExLjJNMTQuNSAxNy41QzE0LjIyIDE3Ljc0IDEzLjc2IDE4IDEzLjQgMTguMUMxMi4yOCAxOC41IDExLjE2IDE3Ljk0IDEwLjUgMTcuMjhDMTEuNjkgMTcgMTIuNCAxNi4xMiAxMi42MSAxNS4yM0MxMi43OCAxNC40MyAxMi40NiAxMy43NyAxMi4zMyAxM0MxMi4yMSAxMi4yNiAxMi4yMyAxMS42MyAxMi41IDEwLjk0QzEyLjY5IDExLjMyIDEyLjg5IDExLjcgMTMuMTMgMTJDMTMuOSAxMyAxNS4xMSAxMy40NCAxNS4zNyAxNC44QzE1LjQxIDE0Ljk0IDE1LjQzIDE1LjA4IDE1LjQzIDE1LjIzQzE1LjQ2IDE2LjA1IDE1LjEgMTYuOTUgMTQuNSAxNy41SDE0LjVaIiBjbGFzcz0ic3QwIi8+PC9zdmc+;" vertex="1" parent="1">
|
||||
<mxGeometry x="196" y="320" width="40" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 183 KiB After Width: | Height: | Size: 196 KiB |
|
|
@ -2,6 +2,20 @@
|
|||
|
||||

|
||||
|
||||
## Description of the layers
|
||||
|
||||
**Stakehodler Requirements**: It's crucial to understand that we always start with the stakeholder requirements where regulations are an important input. This is the customer's point of view, defines “what” should be done.
|
||||
|
||||
**System Requirements**: The system requirements are the answer to the stakeholder requirements. It describes “how” it is going to be implemented. Quality requirements, often called non-functional requirements, are part of the system requirements. They are stated as testable requirements e.g. latency time must be less than 200ms. Furthermore we also add potential risks at this level.
|
||||
|
||||
**Functional Specification**: ... to be continued
|
||||
|
||||
**Configuration Specification**: ... to be continued
|
||||
|
||||
## Implementation in Azure DevOps
|
||||
|
||||
We are following the CMMI process template in Azure DevOps.
|
||||
|
||||
Regulations are mapped as requirements work item in Azure DevOps that affect other requirements. In that way we see all regulations that affect a requirement and all requirements that are affected by a regulation. This is a bidirectional traceability.
|
||||
|
||||
All requirements are listed in a use case specific document. The requirements are linked to the regulations and the tests. The tests are linked to the requirements. This is a bidirectional traceability.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue