mirror of
https://github.com/corona-warn-app/cwa-documentation
synced 2024-11-29 20:54:27 +01:00
Made the User stories consistent with User Story Template
The template defined at the beginning was used inconsistently, so I made it consistent. I also used the common Pattern: As a, I want, so that (cf. Mike Cohn: https://www.mountaingoatsoftware.com/agile/user-stories)
This commit is contained in:
parent
e290ab4451
commit
1c1bc27229
@ -104,7 +104,7 @@ The app functions are divided into user process phases (with direct ties to the
|
|||||||
## Overview of User Stories
|
## Overview of User Stories
|
||||||
The requirements the Corona-Warn-App must satisfy, and which define its functional scope, are formulated below in the usual format of a user story:
|
The requirements the Corona-Warn-App must satisfy, and which define its functional scope, are formulated below in the usual format of a user story:
|
||||||
|
|
||||||
_“As a <stakeholder>, I want to <perform action>, to <achieve the desired result>.”_
|
_“As a <stakeholder>, I want <goal>, so that <reason>.”_
|
||||||
|
|
||||||
The corresponding acceptance criteria supplement the specification of the requirements by defining the conditions that the software must fulfill to satisfy customer needs.
|
The corresponding acceptance criteria supplement the specification of the requirements by defining the conditions that the software must fulfill to satisfy customer needs.
|
||||||
|
|
||||||
@ -112,56 +112,56 @@ The corresponding acceptance criteria supplement the specification of the requir
|
|||||||
| # of user story ID | User story | Acceptance criteria |
|
| # of user story ID | User story | Acceptance criteria |
|
||||||
|-----------------|------------|--------------------|
|
|-----------------|------------|--------------------|
|
||||||
| E01.01 | As an app user, the first time I launch the app, I want to receive an introduction to how it works (app motivation). | 1. An introduction to how the app works is displayed the first time the app is launched.<hr/>2. The introduction to how the app works is not displayed when the app is launched subsequently.<hr/>3. The explanatory content is available to app users in the respective functional areas. |
|
| E01.01 | As an app user, the first time I launch the app, I want to receive an introduction to how it works (app motivation). | 1. An introduction to how the app works is displayed the first time the app is launched.<hr/>2. The introduction to how the app works is not displayed when the app is launched subsequently.<hr/>3. The explanatory content is available to app users in the respective functional areas. |
|
||||||
| E01.02 | As an app user, the first time I launch the app, I want to be notified about the terms of use and privacy provisions (data privacy screen) and grant my consent, so I know how my data will be used within the app. | 1. By using the app, the app user accepts the terms of use and privacy provisions.<hr/>2. The terms of use can be displayed within the app.<hr/>3. The consent prompt is shown only the first time a user launches the app. |
|
| E01.02 | As an app user, the first time I launch the app, I want to be notified about the terms of use and privacy provisions (data privacy screen) and grant my consent, so that I know how my data will be used within the app. | 1. By using the app, the app user accepts the terms of use and privacy provisions.<hr/>2. The terms of use can be displayed within the app.<hr/>3. The consent prompt is shown only the first time a user launches the app. |
|
||||||
| E01.03 | As an app user, the first time I use the app, I want to be asked whether I consent to the creation of pseudonymized IDs and sending them to devices near me, so I am informed about how the app works. | 1. Confirmation of the creation of pseudonymized IDs and sending them to nearby devices by the app is a prerequisite for using the app.<hr/>2. The prompt no longer appears after the first time the app is used. |
|
| E01.03 | As an app user, the first time I use the app, I want to be asked whether I consent to the creation of pseudonymized IDs and sending them to devices near me, so that I am informed about how the app works. | 1. Confirmation of the creation of pseudonymized IDs and sending them to nearby devices by the app is a prerequisite for using the app.<hr/>2. The prompt no longer appears after the first time the app is used. |
|
||||||
| E01.04 | As an app user, the first time I use the app, I want to be asked whether the application can access the smartphone’s Bluetooth function, so I can control how the app is used on the smartphone. | 1. In using the app, users confirm access to the Bluetooth (BLE) function. |
|
| E01.04 | As an app user, the first time I use the app, I want to be asked whether the application can access the smartphone’s Bluetooth function, so that I can control how the app is used on the smartphone. | 1. In using the app, users confirm access to the Bluetooth (BLE) function. |
|
||||||
| E01.05 | As an app user, the first time I use the app, I want to be asked whether the application can send me notifications, so I can receive push notifications in a variety of situations. | 1. The app’s notification settings are queried before the app is used for the first time.<hr/>2. The prompt no longer appears after the first time the app is used. |
|
| E01.05 | As an app user, the first time I use the app, I want to be asked whether the application can send me notifications, so that I can receive push notifications in a variety of situations. | 1. The app’s notification settings are queried before the app is used for the first time.<hr/>2. The prompt no longer appears after the first time the app is used. |
|
||||||
| E01.06 | As an app user, I want the app to be displayed in my language the first time I use it, so I understand what is happening. | 1. The configured system language is detected.<hr/>2. If the content is not available in the detected system language, English is selected by default.<hr/>3. The first version of the app is expected to be available also in languages other than English. |
|
| E01.06 | As an app user, I want the app to be displayed in my language the first time I use it, so that I understand what is happening. | 1. The configured system language is detected.<hr/>2. If the content is not available in the detected system language, English is selected by default.<hr/>3. The first version of the app is expected to be available also in languages other than English. |
|
||||||
| E01.07 | As an app user, I want to see help and settings regarding accessibility, so I can use the app. | 1. Accessibility is provided depending on the options available in the respective operating system. |
|
| E01.07 | As an app user, I want to see help and settings regarding accessibility, so that I can use the app. | 1. Accessibility is provided depending on the options available in the respective operating system. |
|
||||||
|
|
||||||
### Information and Instructions for Using the App
|
### Information and Instructions for Using the App
|
||||||
| # of user story ID | User story | Acceptance criteria |
|
| # of user story ID | User story | Acceptance criteria |
|
||||||
|-----------------|------------|--------------------|
|
|-----------------|------------|--------------------|
|
||||||
| E02.01 | As an app user, I want to have access to a FAQ list, to find answers to questions I might have about the app. | 1. A link to a web page with FAQs is defined in the app menu. |
|
| E02.01 | As an app user, I want to have access to a FAQ list, to find answers to questions I might have about the app. | 1. A link to a web page with FAQs is defined in the app menu. |
|
||||||
| E02.02 | As an app user, I want to have access to instructions that tell me how to use the app and its functions. | 1. A link to a web page with a user manual is defined in the app menu. |
|
| E02.02 | As an app user, I want to have access to instructions that tell me how to use the app and its functions. | 1. A link to a web page with a user manual is defined in the app menu. |
|
||||||
| E02.03 | As an app user, I want to have access to an explanatory video for the app, so I understand how to use the app and its functions. | 1. A link to a web page with a user manual is defined in the app menu. |
|
| E02.03 | As an app user, I want to have access to an explanatory video for the app, so that I understand how to use the app and its functions. | 1. A link to a web page with a user manual is defined in the app menu. |
|
||||||
| E02.04 | As an app user, I want to be able to display publication information for the app, so I can see who is responsible for development and content of the app. | 1. There is a “Publication information” item in the menu.<hr/>2. The publication information contains the usual information required. |
|
| E02.04 | As an app user, I want to be able to display publication information for the app, so that I can see who is responsible for development and content of the app. | 1. There is a “Publication information” item in the menu.<hr/>2. The publication information contains the usual information required. |
|
||||||
| E02.05 | As an app user, I want to be able to display the terms of use and data privacy information at any time. | 1. The app provides simple access to the terms of use and data privacy information. |
|
| E02.05 | As an app user, I want to be able to display the terms of use and data privacy information at any time. | 1. The app provides simple access to the terms of use and data privacy information. |
|
||||||
| E02.06 | As an app user, I want to be able to see various hotlines for technical, privacy-related, health-related, and psychological questions, as well as for verification of test results, so I can receive information or answers to my questions. | 1. Display of phone numbers of the hotlines (for technical, privacy-related, health-related, and psychological questions).<hr/>2. Display the times when the hotline can be reached (for example: 24/7)<hr/>3. Phone numbers can be called directly from the app. |
|
| E02.06 | As an app user, I want to be able to see various hotlines for technical, privacy-related, health-related, and psychological questions, as well as for verification of test results, so that I can receive information or answers to my questions. | 1. Display of phone numbers of the hotlines (for technical, privacy-related, health-related, and psychological questions).<hr/>2. Display the times when the hotline can be reached (for example: 24/7)<hr/>3. Phone numbers can be called directly from the app. |
|
||||||
|
|
||||||
### Use in the Regular Process
|
### Use in the Regular Process
|
||||||
| # of user story ID | User story | Acceptance criteria |
|
| # of user story ID | User story | Acceptance criteria |
|
||||||
|-----------------|------------|--------------------|
|
|-----------------|------------|--------------------|
|
||||||
| E03.01 | As an app user, I want to be able to activate and deactivate the app, to switch the function on and off. | 1. A toggle button activates and deactivates the function (Bluetooth in the background and hash generation).<hr/>2. The consequences of activation/deactivation are explained. |
|
| E03.01 | As an app user, I want to be able to activate and deactivate the app, so that I can switch the function on and off. | 1. A toggle button activates and deactivates the function (Bluetooth in the background and hash generation).<hr/>2. The consequences of activation/deactivation are explained. |
|
||||||
| E03.02 | As an app user, I want to be able to reset to the app to the delivery defaults, so I can reconfigure it. | 1. The app can be reset to the delivery defaults with a setting option, but the traces saved from recent days are retained. |
|
| E03.02 | As an app user, I want to be able to reset to the app to the delivery defaults, so that I can reconfigure it. | 1. The app can be reset to the delivery defaults with a setting option, but the traces saved from recent days are retained. |
|
||||||
| E03.03 | As an app user, I want to be able to adjust the app settings (access permissions, such as Bluetooth and notifications) in a menu, so I can manage the app functions and accesses. | 1. App users can call a menu for app settings.<hr/>2. Notifications can be activated and deactivated.<hr/>3. The user can permit the app to access Bluetooth, and remove that permission.<hr/>4. Before access permissions are deactivated, I receive information as to which app functions will no longer work (in full). |
|
| E03.03 | As an app user, I want to be able to adjust the app settings (access permissions, such as Bluetooth and notifications) in a menu, so that I can manage the app functions and accesses. | 1. App users can call a menu for app settings.<hr/>2. Notifications can be activated and deactivated.<hr/>3. The user can permit the app to access Bluetooth, and remove that permission.<hr/>4. Before access permissions are deactivated, I receive information as to which app functions will no longer work (in full). |
|
||||||
|
|
||||||
### Exposure (Contact with an Infected Person)
|
### Exposure (Contact with an Infected Person)
|
||||||
| # of user story ID | User story | Acceptance criteria |
|
| # of user story ID | User story | Acceptance criteria |
|
||||||
|-----------------|------------|--------------------|
|
|-----------------|------------|--------------------|
|
||||||
| E04.01 | As an app user, I want to be notified when a person I have had contact with has reported an infection. I can then take the appropriate measures to stop the spread of the virus. | 1. The app sends a notification to the app user.<hr/>2. The notification notifies the app user that the risk has changed (depending on the provided API function). |
|
| E04.01 | As an app user, I want to be notified when a person I have had contact with has reported an infection, so that I can then take the appropriate measures to stop the spread of the virus. | 1. The app sends a notification to the app user.<hr/>2. The notification notifies the app user that the risk has changed (depending on the provided API function). |
|
||||||
| E04.02 | As an app user, if I am exposed to the virus, I want to receive instructions from the application, so I can adapt my behavior to RKI recommendations. | 1. Notification leads to defined recommended actions in case of exposure. |
|
| E04.02 | As an app user, if I am exposed to the virus, I want to receive instructions from the application, so that I can adapt my behavior to RKI recommendations. | 1. Notification leads to defined recommended actions in case of exposure. |
|
||||||
|
|
||||||
### Notification of Covid-19 Test Results
|
### Notification of Covid-19 Test Results
|
||||||
| # of user story ID | User story | Acceptance criteria |
|
| # of user story ID | User story | Acceptance criteria |
|
||||||
|-----------------|------------|--------------------|
|
|-----------------|------------|--------------------|
|
||||||
| E05.01 | As the RKI, I want only positive tested users to trigger a one-time warning, to avoid misuse. | 1. Only positive tests can trigger a warning.<hr/>2. A warning can only be triggered once for each test. |
|
| E05.01 | As the RKI, I want only positive tested users to trigger a one-time warning, so that I can avoid misuse. | 1. Only positive tests can trigger a warning.<hr/>2. A warning can only be triggered once for each test. |
|
||||||
| E05.02 | As an app user, in case of a positive test result, I want to receive information about the illness and the necessary next steps, so I can adapt my behavior to RKI recommendations. | 1. Notification of receipt of a test result.<hr/>2. Display of an information text in the app with defined content (such as information about the outcome of the test result, information about necessary measures, a hotline number). |
|
| E05.02 | As an app user, in case of a positive test result, I want to receive information about the illness and the necessary next steps, so that I can adapt my behavior to RKI recommendations. | 1. Notification of receipt of a test result.<hr/>2. Display of an information text in the app with defined content (such as information about the outcome of the test result, information about necessary measures, a hotline number). |
|
||||||
|
|
||||||
### Triggering a Warning
|
### Triggering a Warning
|
||||||
| # of user story ID | User story | Acceptance criteria |
|
| # of user story ID | User story | Acceptance criteria |
|
||||||
|-----------------|------------|--------------------|
|
|-----------------|------------|--------------------|
|
||||||
| E06.01 | As a user of the app, I want to be able to scan a QR code provided by my doctor or test center so I can receive my test result in the Corona-Warn-App. | 1. A QR code provided on a flyer from the doctor or test center can be scanned with the warn app.<hr/>2. An explanatory text is displayed. |
|
| E06.01 | As a user of the app, I want to be able to scan a QR code provided by my doctor or test center, so that I can receive my test result in the Corona-Warn-App. | 1. A QR code provided on a flyer from the doctor or test center can be scanned with the warn app.<hr/>2. An explanatory text is displayed. |
|
||||||
| E06.02 | As a user of the app, I want to be notified within the Corona-Warn-App as soon as a test result becomes available. | 1. The app user receives a notification as soon as a verified test result is available.<hr/>2. The notification does not indicate whether the result is positive or negative. |
|
| E06.02 | As a user of the app, I want to be notified within the Corona-Warn-App as soon as a test result becomes available. | 1. The app user receives a notification as soon as a verified test result is available.<hr/>2. The notification does not indicate whether the result is positive or negative. |
|
||||||
| E06.03 | As a user of the app, if I receive a positive test result, I want to be able to grant my consent to sending the pseudonymized IDs, under which I was visible to other app users in recent days, to the Warn server so the people I have been in contact with can be warned by their apps. | 1. The IDs can be sent to the Warn server pseudonymized.<hr/>2. Data transmission is only possible if successfully verified beforehand.<hr/>3. Data transmission is only possible if the app user has granted consent beforehand. |
|
| E06.03 | As a user of the app, if I receive a positive test result, I want to be able to grant my consent to sending the pseudonymized IDs, under which I was visible to other app users in recent days, to the Warn server, so that the people I have been in contact with can be warned by their apps. | 1. The IDs can be sent to the Warn server pseudonymized.<hr/>2. Data transmission is only possible if successfully verified beforehand.<hr/>3. Data transmission is only possible if the app user has granted consent beforehand. |
|
||||||
| E06.04 | As a user of the app, I want to be able to use a manual process (in addition to the digital process), for example, through a call center and without a QR code, to send the pseudonymized IDs, under which I was visible to other app users in recent days, to the Warn server so the people I have been in contact with can be warned by their apps. | 1. The center responsible can generate a TAN and provide it to the app user (the TAN is generated by a server, not the call center itself). |
|
| E06.04 | As a user of the app, I want to be able to use a manual process (in addition to the digital process), for example, through a call center and without a QR code, to send the pseudonymized IDs, under which I was visible to other app users in recent days, to the Warn server, so that the people I have been in contact with can be warned by their apps. | 1. The center responsible can generate a TAN and provide it to the app user (the TAN is generated by a server, not the call center itself). |
|
||||||
| E06.05 | As an app user, I want to be able to enter a TAN in the app, to use the TAN I have been given to assign my test result to my instance of the app. | 1. It is possible to enter a TAN within the app.<hr/>2. Verify and provide feedback as to whether the entered TAN was correct (must be checked whether technically possible). |
|
| E06.05 | As an app user, I want to be able to enter a TAN in the app, to use the TAN I have been given to assign my test result to my instance of the app. | 1. It is possible to enter a TAN within the app.<hr/>2. Verify and provide feedback as to whether the entered TAN was correct (must be checked whether technically possible). |
|
||||||
| E06.06 | As a user of the app, after the TAN is verified, I want to share my pseudonymized IDs and warn persons I may have been in contact with. | 1. The IDs can be sent to the Warn server pseudonymized.<hr/>2. Data transmission is only possible if successfully verified beforehand.<hr/>3. Data transmission is only possible if the app user has granted consent beforehand. |
|
| E06.06 | As a user of the app, after the TAN is verified, I want to share my pseudonymized IDs and warn persons I may have been in contact with. | 1. The IDs can be sent to the Warn server pseudonymized.<hr/>2. Data transmission is only possible if successfully verified beforehand.<hr/>3. Data transmission is only possible if the app user has granted consent beforehand. |
|
||||||
|
|
||||||
### Parameter Settings
|
### Parameter Settings
|
||||||
| # of user story ID | User story | Acceptance criteria |
|
| # of user story ID | User story | Acceptance criteria |
|
||||||
|-----------------|------------|--------------------|
|
|-----------------|------------|--------------------|
|
||||||
| E07.01 | As the RKI, I want to be able to configure the parameters (to the extent the API is able to do this) for risk scoring so I can keep up with the latest research findings on virus transmission. | 1. Thresholds can be configured dependent on the provided API.<hr/>2. These settings will be modified on user devices without requiring an update of the app. |
|
| E07.01 | As the RKI, I want to be able to configure the parameters (to the extent the API is able to do this) for risk scoring, so that I can keep up with the latest research findings on virus transmission. | 1. Thresholds can be configured dependent on the provided API.<hr/>2. These settings will be modified on user devices without requiring an update of the app. |
|
||||||
|
|
||||||
### Technical Support
|
### Technical Support
|
||||||
| # of user story ID | User story | Acceptance criteria |
|
| # of user story ID | User story | Acceptance criteria |
|
||||||
@ -172,10 +172,10 @@ The corresponding acceptance criteria supplement the specification of the requir
|
|||||||
| # of user story ID | User story | Acceptance criteria |
|
| # of user story ID | User story | Acceptance criteria |
|
||||||
|-----------------|------------|--------------------|
|
|-----------------|------------|--------------------|
|
||||||
| E09.01 | As a user of the app, I want it to have audio output (if I have impaired or no vision, for example). | 1. Accessibility regarding audio output is provided depending on the options available in the respective operating system. |
|
| E09.01 | As a user of the app, I want it to have audio output (if I have impaired or no vision, for example). | 1. Accessibility regarding audio output is provided depending on the options available in the respective operating system. |
|
||||||
| E09.02 | As an app user, I want to have good contrast settings, modifiable font sizes, and an easily readable font, so I can read the texts in the app easily. | 1. Accessibility regarding contrast and font size/type is provided depending on the options available in the respective operating system. |
|
| E09.02 | As an app user, I want to have good contrast settings, modifiable font sizes, and an easily readable font, so that I can read the texts in the app easily. | 1. Accessibility regarding contrast and font size/type is provided depending on the options available in the respective operating system. |
|
||||||
| E09.03 | As an app user, I want to have content in simplified language, so I can easily understand how to use the app and why I should use it. | 1. Accessibility is taken into account within content management. |
|
| E09.03 | As an app user, I want to have content in simplified language, so that I can easily understand how to use the app and why I should use it. | 1. Accessibility is taken into account within content management. |
|
||||||
|
|
||||||
### Content Management
|
### Content Management
|
||||||
| # of user story ID | User story | Acceptance criteria |
|
| # of user story ID | User story | Acceptance criteria |
|
||||||
|-----------------|------------|--------------------|
|
|-----------------|------------|--------------------|
|
||||||
| E10.01 | As the RKI, I want to manage the app content centrally, so I can update texts, links, hotlines, and so on once for all the places in the app. | 1. Content management will be carried out based on RKI requirements.<hr/>2. Content will be differentiated by static and dynamic content, in line with technical feasibility.<hr/>3. In the initial version, updates will be performed through an app update. |
|
| E10.01 | As the RKI, I want to manage the app content centrally, so that I can update texts, links, hotlines, and so on once for all the places in the app. | 1. Content management will be carried out based on RKI requirements.<hr/>2. Content will be differentiated by static and dynamic content, in line with technical feasibility.<hr/>3. In the initial version, updates will be performed through an app update. |
|
||||||
|
Loading…
Reference in New Issue
Block a user