Requirements

Project and Client Background
Our client is Tend-VR, a company developing a meditation and mindfulness app named Tend, Tend provides an interactive virtual reality world where users can practice and learn meditation in an immersive world. The app is designed to teach users through meditation courses, where a user’s progress would alter aspects of the virtual world in the app. The app is developed using Unity and runs on VR headsets.
Project Goals
Our goal was to design and develop several features for the app which our client could then integrate into Tend. We also had to investigate and research techniques for gamification and mood assessments for the client.
Requirement Gathering
We scheduled a video meeting to discuss the requirement of the client for the project. After discussing their development plans for the app, they provided a list of tasks and requirements that for us to complete. To gain a better understanding of the requirements we asked them several questions through follow-up emails:
- What platforms will the app be developed for?
- What kind of users will the app have?
- What are the limitations of the VR headset hardware?
- What assets are available for development?
Personas

Joe is a second-year university student, who currently has a plethora of work and responsibilities and would like an application to help him deal with his worries. He has not used an application such as this before but is open to the idea of it helping him work through his stress and anxiety. When Joe downloads the application, he is greeted with a simple-to-use and aesthetically calming home screen which is very straightforward in its instructions to navigate the application. He finds that the customization options are vast, and he can tailor the app to however he sees fit. Upon wanting to enter his virtual paradise for the first time he must specify his ideal scenario with minimal and non-intrusive questions aiming to construct his ideal world. He enters the meditation session. Once the session is over, he then views his progress on the profile screen, where he also sets his personal goals and user information.
Use Cases

MoSCoW Requirement List
Non-functional requirements in blue
Functional requirements in black
Must Have
- Must have voice recognition capabilities with Google Cloud Speech-to-Text for the user to control the app using voice commands.
- Must have mood questionnaire modular menu system which can run questionnaires and save answer to a JSON file.
- Must have ability to load any set of questions from JSON
- Must work with GAD-7 assessment.
- Must utilise voice recognition to answer questions.
- Must have water surface ripple shader for Unity’s Built-in Render Pipeline.
- Must have a flocking behaviour script for animals in the virtual world.
Should Have
- Water surface ripple shader should not be computationally expensive and should be able to run with the Oculus Quest 2’s GPU.
Could Have
- Could have voice recognition functionality which works offline