Long conceptual phase
For about the first five weeks of our project, we were just doing conceptual work. We had to build an entire app without any precise specifications as to what functions it should perform. Therefore, we did many rounds in the first weeks to develop ideas, develop and discard concepts, and finally work out all the important details: What is the unique selling point of our app? What is our target audience? And then when we knew these things more concretely: How do we build the challenges? How does the scoring system work? How do we take into account very different types of users? That took a lot of time that we didn’t have for the implementation.
Complex functionalities in a short period of time
Precisely because of our long conceptual phase, it was not possible for us to incorporate all the functionalities in their complexity as we had actually planned. For example, we wanted to integrate various movement challenges or create a larger educational area with various facts and visualizations. But these things could easily be integrated in further releases.
Calculation of user progress
There were so many things to consider when calculating a user’s weekly progress that we didn’t think would be so complex before. Since we do the calculations using a model that calculates the percentage increase from the previous week, there were many problems to solve: what do you do with negative progress, for example, if someone has eaten more than a certain amount of sweets - we don’t want to punish kids for that, but still indicate that the behavior is not optimal. What do you do if you haven’t reached your goal? If you have exceeded your goal? When does the team move up a level? There were many details that made the whole calculation very complex in the end.
Communication and Coordination
Since we are quite a large team, it was sometimes a bit difficult to get everyone on board regarding important decisions or changes to the code base. This caused problems from time to time that could have been prevented by closer communication.