Content
View differences
Updated by Marc Alcobé about 2 years ago
# 📔 Project Overview
With the new project of creating an OpenProject mobile app a first spike of it has been developed in Flutter with some basic project management on the go functionalities:
* See work packages lists
* Edit work packages
* Create new work packages
* Notification centre
* Basic user settings
# 🛠️ The setup
## **Product to be tested**
[**Figma prototype**](https://www.figma.com/proto/arGHBRVi6WLJDLTv0YoOoo/Mobile-App?page-id=163%3A41139&type=design&node-id=172-41140&viewport=521%2C305%2C0.16&t=JTkXNmTaa3aetqYc-1&scaling=min-zoom&starting-point-node-id=172%3A41140&mode=design): advanced mobile app prototype ahead of the current Flutter spike.
## Business Case
### Problem:
The current problems faced are:
1. There is no validation that the current approach is correct.
2. No sure if the current functionalities implemented are what our users want in mobile.
3. No assurance that the navigation and UI is easy to use for our users.
4. No prior validation on designs ha mber of times a user makes a mistake while performing a task. have been performed to decide which direction the app takes.
### Goals:
* Test the navigation inside the application.
* Ensure the most basic tasks in mobile are easy to perform.
* Gather feedback on the UI elements and how the app looks like.
* Identifying problems in the design of the product.
* Uncovering opportunities to improve.
* Uncover possible new functionalities that the users are missing.
* Learning about the target user’s behavior and preferences.
### KPIs:
* **Time-on-task:** how long does it take for participants to complete a usability task?
* **Likes, dislikes, and recommendations:** direct insights into what participants thought and felt about the usability of your designs.
* **Critical errors:** these are errors that impact the success of the usability task. Whether aware or not, these errors prohibit participants from successfully completing the task.
* **Non-critical errors:** these are minor deviations from the usability test goal, like navigating to the wrong tab or scrolling past the required action.
* **Misclick rate:** times the user has clicked on the “wrong” place to try to complete the task.
* **Search vs Navigation:** how many times the user has tried to use the search function to not navigate the app
* **User error rate:** identifies the number of times a user makes a mistake while performing a task.
* **Error-free rate:** the percentage of participants that complete the usability task with no errors whatsoever; think of this as a north star metric.
* **Successful task completion:** this is the percentage of tasks that are successfully completed by participants overall, regardless of how they got there.
* **System Usability Scale (**[**SUS**](https://maze.co/collections/ux-ui-design/ux-kpis/)**):** The SUS is a post-test questionnaire given to a participant after a usability test is over. It co consists of ten questions that address the usability and learnability of a system. Participants can answer each question using a five point scale, ranging from “I strongly agree” to “I strongly disagree.”
What is the reason we are doing this test? What are the benefits of testing this? What would be the risk in not testing? (Bullet points work well here)
# 📝 The plan
## Type of test
Remote moderated qualitative usability tests (with mobile screen recording). Ideally we will perform multiple rounds of iteration of 5 participants each.
## Tools
* BigBlueButton
* Figma
* Screen mirroring app for mobile (to be defined)
## Participants
This time the test will be performed internally at OpenProject therefore the participants will be company employees. Each round of testing will be performed with 5 participants, then the prototype will be refined and tested again:
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Name</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Role</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Operative system</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Testing date</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Parimal Satyal</p></td><td class="op-uc-table--cell"><p class="op-uc-p">UX-UI Designer</p></td><td class="op-uc-table--cell"><p class="op-uc-p">iOS</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr></tbody></table></figure><figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Name</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Role</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Operative system</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Testing date</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr></tbody></table></figure>
## Facilitator
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Name</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Role</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Responsibilities</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Marc Alcobé</p></td><td class="op-uc-table--cell"><p class="op-uc-p">UX-UI Designer</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Moderate, take notes and analyse results</p></td></tr></tbody></table></figure>
# 📝 The plan
## Test Tasks
### **Task 1: BUG report** TBD
You are an employee of X-Wiki and you are away from our computer for some time. You checked a work package on your mobile phone and found a BUG on your software (X-Wiki) that needs to be reported in OpenProject. As you are on the go, you’ll use the OpenProject mobile app to create a new BUG report (with subject and description) and assign it to your colleague Elie. Once that done set it to specified.
### **Task 2:** Notification
You are on a train when you receive a push notification from the OpenProject mobile app. It is a comment on one of the work packages you are responsible for, the person commenting is asking for some feedback to unblock the work flow. Due to the importance of the notification to unblock your colleague you will respond to it with a comment, mentioning the user and with your decision.
### **Task 3: Last created work packages**
You are the owner of a project called ADIF Project. You are on the sofa in the evening and have some free time waiting for your favourite TV show to start. You want to review what is going on on your project from a work package perspective. Therefore you want to navigate to your project and check the work packages that had ben recently created by your team.
### **Task 4: File upload**
You are the responsible of controlling the defects on the production machinery of your company (PIPSE Co). Today one of the operators reported an error on one of the bottling machines (Machine: PSB245) using a work package, as responsible you should go to the machine, open the correct work package and upload a photo of the defect to the files. Once that is done create a Precede relation on the work package with work package #76829 and assign it to the Maintenance team and add yourself as a watcher to control that the task is performed.
### **Task 5: Refine description**
One of your work colleagues sent you a message in your chat system talking about a work package you should check to refine its description. The work package is about Setting up an Apple developer account inside of the Mobile app project. Find the work package using the search functionality, open it, assign yourself as user and modify the description of the work package accordingly.
### **Task 6: User settings**
Yay! You are going on holidays! But before that, let’s turn off the push notifications on your OpenProject mobile app so nobody disturbs you while you are in the amazing beaches of Costa Rica 🇨🇷 🏝️. Access your account settings in the app and deactivate the push notifications.
# 📑 Documentation
## Test script
_\[add \[document that will be shared with the link participants to do the test script\]_ test\]
## Test notes
_\[add \[facilitator makes notes during the link to the test notes\]_ session. Do so here\]
## Recordings
_\[add \[add the link to the recordings here\]_ here\]
## Test results Analysis, Findings and Recommendations
_\[add \[add the link to the conclusion of the test results\]_ here\]
With the new project of creating an OpenProject mobile app a first spike of it has been developed in Flutter with some basic project management on the go functionalities:
* See work packages lists
* Edit work packages
* Create new work packages
* Notification centre
* Basic user settings
# 🛠️ The setup
## **Product to be tested**
[**Figma prototype**](https://www.figma.com/proto/arGHBRVi6WLJDLTv0YoOoo/Mobile-App?page-id=163%3A41139&type=design&node-id=172-41140&viewport=521%2C305%2C0.16&t=JTkXNmTaa3aetqYc-1&scaling=min-zoom&starting-point-node-id=172%3A41140&mode=design): advanced mobile app prototype ahead of the current Flutter spike.
## Business Case
### Problem:
The current problems faced are:
1. There is no validation that the current approach is correct.
2. No sure if the current functionalities implemented are what our users want in mobile.
3. No assurance that the navigation and UI is easy to use for our users.
4. No prior validation on designs ha mber of times a user makes a mistake while performing a task.
### Goals:
* Test the navigation inside the application.
* Ensure the most basic tasks in mobile are easy to perform.
* Gather feedback on the UI elements and how the app looks like.
* Identifying problems in the design of the product.
* Uncovering opportunities to improve.
* Uncover possible new functionalities that the users are missing.
* Learning about the target user’s behavior and preferences.
### KPIs:
* **Time-on-task:** how long does it take for participants to complete a usability task?
* **Likes, dislikes, and recommendations:** direct insights into what participants thought and felt about the usability of your designs.
* **Critical errors:** these are errors that impact the success of the usability task. Whether aware or not, these errors prohibit participants from successfully completing the task.
* **Non-critical errors:** these are minor deviations from the usability test goal, like navigating to the wrong tab or scrolling past the required action.
* **Misclick rate:** times the user has clicked on the “wrong” place to try to complete the task.
* **Search vs Navigation:** how many times the user has tried to use the search function to not navigate the app
* **User error rate:** identifies the number of times a user makes a mistake while performing a task.
* **Error-free rate:** the percentage of participants that complete the usability task with no errors whatsoever; think of this as a north star metric.
* **Successful task completion:** this is the percentage of tasks that are successfully completed by participants overall, regardless of how they got there.
* **System Usability Scale (**[**SUS**](https://maze.co/collections/ux-ui-design/ux-kpis/)**):** The SUS is a post-test questionnaire given to a participant after a usability test is over. It co
What is the reason we are doing this test? What are the benefits of testing this? What would be the risk in not testing? (Bullet points work well here)
# 📝 The plan
## Type of test
Remote moderated qualitative usability tests (with mobile screen recording). Ideally we will perform multiple rounds of iteration of 5 participants each.
## Tools
* BigBlueButton
* Figma
* Screen mirroring app for mobile (to be defined)
## Participants
This time the test will be performed internally at OpenProject therefore the participants will be company employees. Each round of testing will be performed with 5 participants, then the prototype will be refined and tested again:
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Name</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Role</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Operative system</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Testing date</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Parimal Satyal</p></td><td class="op-uc-table--cell"><p class="op-uc-p">UX-UI Designer</p></td><td class="op-uc-table--cell"><p class="op-uc-p">iOS</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr></tbody></table></figure><figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Name</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Role</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Operative system</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Testing date</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr></tbody></table></figure>
## Facilitator
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Name</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Role</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Responsibilities</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Marc Alcobé</p></td><td class="op-uc-table--cell"><p class="op-uc-p">UX-UI Designer</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Moderate, take notes and analyse results</p></td></tr></tbody></table></figure>
### **Task 1: BUG report**
You are an employee of X-Wiki and you are away from our computer for some time. You checked a work package on your mobile phone and found a BUG on your software (X-Wiki) that needs to be reported in OpenProject. As you are on the go, you’ll use the OpenProject mobile app to create a new BUG report (with subject and description) and assign it to your colleague Elie. Once that done set it to specified.
### **Task 2:** Notification
You are on a train when you receive a push notification from the OpenProject mobile app. It is a comment on one of the work packages you are responsible for, the person commenting is asking for some feedback to unblock the work flow. Due to the importance of the notification to unblock your colleague you will respond to it with a comment, mentioning the user and with your decision.
### **Task 3: Last created work packages**
You are the owner of a project called ADIF Project. You are on the sofa in the evening and have some free time waiting for your favourite TV show to start. You want to review what is going on on your project from a work package perspective. Therefore you want to navigate to your project and check the work packages that had ben recently created by your team.
### **Task 4: File upload**
You are the responsible of controlling the defects on the production machinery of your company (PIPSE Co). Today one of the operators reported an error on one of the bottling machines (Machine: PSB245) using a work package, as responsible you should go to the machine, open the correct work package and upload a photo of the defect to the files. Once that is done create a Precede relation on the work package with work package #76829 and assign it to the Maintenance team and add yourself as a watcher to control that the task is performed.
### **Task 5: Refine description**
One of your work colleagues sent you a message in your chat system talking about a work package you should check to refine its description. The work package is about Setting up an Apple developer account inside of the Mobile app project. Find the work package using the search functionality, open it, assign yourself as user and modify the description of the work package accordingly.
### **Task 6: User settings**
Yay! You are going on holidays! But before that, let’s turn off the push notifications on your OpenProject mobile app so nobody disturbs you while you are in the amazing beaches of Costa Rica 🇨🇷 🏝️. Access your account settings in the app and deactivate the push notifications.
# 📑 Documentation
## Test script
_\[add
## Test notes
_\[add
## Recordings
_\[add
## Test results
_\[add