Project

This app was made as a part of the course II1305 Project in Information and Communication Technology during the spring of 2021.

The project was made using the Scrum framework. On this page you can see a summary of all of our sprint goals, completed user stories, etc.

Please keep in mind that this was the first time anyone in the team had tried Scrum, and so the goals and stories below might not be of the same quality as those of a more experienced Scrum team.

The sprints were one working week long each, and the whole project included four sprints. Each sprint started with a sprint planning meeting which usually took us about two hours. After four working days, the last day was spent on sprint demo, retrospective, and slack time.


Sprint 1

Since this was our first sprint (ever), this was when we were the least experienced and that showed.

The sprint goal was to “create a Minimum Viable Product (MVP): to first and foremost be able to create and complete a challenge”. Needless to say, we did not achieve that. Looking back, that goal was way too vague and ambitious. While we got off on a very good start cooperation- and productivity-wise, we were not very good at estimating and making our user stories concrete.

At the time, we considered the user stories below to be finished. However, we had to revisit all of them during later sprints because of bugs and updates.

Completed User Stories

User Story Estimate How to Demo
Launch Screen 2 Enter app, see a screen with a message
Create Website 2 Enter website, find information about project and project members, click on contact mail, get mail
Create Challenge 13 Enter app, click on create challenge. Fill in information. Go to challenges and see the challenge
Challenge List 3 Create a challenge, go to the challenge list, see that the challenge is listed.




Sprint 2

In this sprint we introduced Epics as a step in attempting to make the user stories more concrete.

The sprint goal for this week was “All key features (Complete Challenge, Create Challenge and List Challenges) are fully working.”

While somewhat buggy, we did manage to complete the very basics of these features.

Completed User Stories

Epic User Story Estimate How to Demo
- Create Overall Design in Figma 8 Enter Figma, see prototype
- Navigation Flow 5 Enter app, click on challenge list, click on challenge, press back, get to challenge list, press back again, get to home screen
User Profile Create User Profile 5 Enter app, choose nickname, see local profile
Create Challenge Create Challenge Creator 1 Enter app, click on create challenge, current user is added as creator to the database
Complete Challenge Complete challenge with One Automatically Corrected Question 5 Enter challenge, view challenge, answer question, get correction
Create Challenge Create Challenge with Multiple Questions/Answers 8 Enter app, click on create subchallenges, fill out questions and answers, subchallenges are added to the database
Complete Challenge Complete Challenge with Automatically Corrected Multiple Questions 5 Enter challenge, view challenge, answer multiple questions, get correction for all questions after answering all of them
Challenge Summary Challenge Summary View 2 Go to app, click on list challenges, click on one challenge, get challenge summary, click on complete challenge, get to the complete challenge view
Create Challenge Create Challenge Location 5 Enter app, click on add location, choose location, location is added to the challenge in the database
Create Challenge Create Challenge Tags 8 Enter app, click on add tags, choose tags, tags are added in the database
Challenge List List Challenge Tags 3 Enter app, click on list challenge, see tags
Create Challenge Create Challenge Optional Fields 5 Enter app, clearly show which fields are optional and make it possible for user to choose which fields to include




Sprint 3

Since the second sprint went so much better than the first sprint, we were somewhat overambitious when deciding on the sprint goal for the third sprint. We thought that since we almost completed all the main features last sprint, it was reasonable to think that we were going to be able to at least start on all the rest of the secondary features this sprint.

The sprint goal for this sprint was “Started on all secondary features (review, sorting list, filter list, submission challenges, result page, grading and profile) and finished up to 50%.”

Turns out though, that just because something is a secondary feature, it doesn’t mean it takes less time to implement. Furthermore, it doesn’t make sense to have a goal that states that multiple things are halfway done. The way we worked did not entail that we started several things and then worked on them in parallel - we started on each story and worked on it until it was done. All in all, we did not finish this week’s sprint goal. Important lessons were learned.

Completed User Stories

Epic User Story Estimate Description
Create Challenge Optional Fields 5 I can clearly see which fields are optional and which are not
Create Challenge Add Question-Page 5 As a user, I can click on the Add question-button and it takes me to a new page where I can add a new question
Challenge Summary Index 5 As a user, I can click on a challenge in the challenge list and get directed to a Summary page
- Implement Submission Challenges 13 As a user, I can toggle my challenges to be of submission type - aka others answer with a video, text or image
Review Review Popup 8 As a user, after I've finished a challenge I am given the option to review it
User Profile Login to Personal Account 5 -
Challenge List Information 3 As a user, I can see a view with all challenges that aren't expired in a list
Challenge List Sorting 8 As a user, I can see a button to sort the challenge list after end time, distance, or time added. When I select the different sorting criteria, the list sorts itself accordingly
Challenge List Filtering 8 As a user, I can filter the challenge list by tags, distance, and end time by clicking the filter button




Sprint 4

By this point we had gotten a little bit better at understanding what worked and what didn’t in terms of stories and sprint goals. Since this was the last project week we had, we decided to stay small and create an end product that was as finished and bug free as possible. That meant having to cut out some of our planned features, like leaderboards, achievements, and other types of challenges.

The sprint goal for the last sprint was: “Create a final, presentable version for the project Expo”.

While this might seem vague, we included a list of all the features that HAD to be in the app. These constituted the “final, presentable version”. We decided exactly what to focus on, and what we could cut out if we wouldn’t have time to finish it. In the end, we had a small but neat app that we’re very proud of.

Completed User Stories

Epic User Story Estimate Description
- Tutorial Screen 5 Enter the app on a new device, click on tutorial, see a guide on how to use the app
- Add ToS Screen 3 Create a terms of service page and add it to the app and website
- Add About Screen 3 Create about page and add information from presentation
Explore Screen Add Pins to Explore Screen 8 Put pins on where the challenges are. On click, direct to summary for that challenge
User Profile Profile Page Fixes 3 Make sure the profile page is updated when entering nickname
Review Review Page Rating 3 As a user, after I've finished a challenge I am directed to the Review page where I'm given the option to rate and review the challenge
Complete Challenge Complete Challenge Testing and Fixing 13 Questions appear in the same order as when added in create challenge. Completing questions and submissions gives user a result page and adds answers to database
Expo Checkout How to Run the App on Expo 3 Either prepare alpha testing on Google Play and Appstore or check if we can run through expo
Expo Update Website for Expo 3 Make sure all information needed is available on the expo website
Expo Prepare Expo Material 1 Prepare images, icon and name
Create Challenge Create Challenge Testing and Fixing 5 Make sure all fields work correctly on both android and iOS. Make sure the correct data is added to the database and test different cases
Create Challenge Create Challenge Add Question Page 5 Test that add questions work with add submissions. Make sure the list of questions work correctly. You can remove questions from the list, and this should remove them from the databse as well
Create Challenge Create Challenge Optional Fields 3 As a user, I can clearly see which fields are optional and which are not. All fields are optional except for name and description. If these aren't filled in, and I haven't added at least one question, I cannot click on the submit button
Challenge List Challenge List Information 8 As a user, I can see a view with all challenges that aren't expired in a list. The list view contains information on the challenge creator, name, tags, nr of questions, location (if any), distance from user (if has location), end time (if any), and average rating (if challenge has at least one rating)
Results, Summary Results Page Number of Correct Answers 5 As a user, after I've completed a challenge I get redirected to a Results page where I get presented with the number of correct answers I gave during the challenge
User Profile Login Page Testing and Fixing 3 -
Challenge List Challenge List Sorting 3 As a user, I can see a button to sort the challenge list after end time, distance, or time added. When I select the different sorting criteria, the list sorts itself accordingly
Challenge List Challenge List Filtering 3 As a user, I can filter the challenge list by tags, distance, and end time by clicking the filter button
Expo Add Example Challenges 3 Add challenges of some different kinds that the users can try to get a feeling for the app
Expo Check Typos and Styling 3 Go through all pages and make sure it's well styled and that there are no typos (should be done after everything else is merged and ready)
Complete Challenge Complete Challenge Multimedia Answers 5 As a user, I can answer with an image or video provided that that is set in the challenge
Create Challenge Create Challenge Add Submission 3 Add list to add submissions, make sure it works with add questions. Add max nrof answers on create challenge page
Results Results Page Submission Grading 8 As a user, if there were non-automatically corrected questions in the challenge, I get presented with my submissions in the Results page. Once the challenge creator has marked my answers as right or wrong, that information is shown on the Results page
- Implement Submission Challenges 5 As a user, I can click on the "Automatic correction" toggle in the Add question page, which hides the "Answer" field when off. When automatic correction is off, an input field shows up where I can enter the maximum number of respondents. If the number I enter is very high, a prompt shows up asking me if I'm sure, and explains that
- Implement Submission Challenges 5 As a user, I can click on the "Automatic correction" toggle in the Add question page, which hides the "Answer" field when off. When automatic correction is off, an input field shows up where I can enter the maximum number of respondents. If the number I enter is very high, a prompt shows up asking me if I'm sure, and explains that