Our development experience
The original idea was larger than the final product, it started as a meal prep app. Features like being able to calculate the calories in a recipe and scheduling foods across the week never saw the light of day.
The main reason why these features didn’t get developed and the original idea got reduced from a meal prep app to a recipe app is because of lack of time. At the start none of the members had a clear notion of the time it takes to develop features or how much ground we could cover from what we had originally envisioned.
As the deadline for the first iteration approached we realized how tight time was and we decided to sacrifice some features in order to polish others and deliver a simpler but well-functioning product.
Good thing is the app is open for extension, so in the future we or someone else may be able to provide those features that were discarded for the time being.
From this experience developing a large project as a team, we understood the importance of communication and how it can make a big difference to have an efficient, timely and uncomplicated development of the project.
After the first 2 iterations we identified we could still improve in the communication aspect… at times people didn’t know what they had to do or they focused on a task that someone else was already approaching.
We were able to improve this by dividing tasks and assigning them to specific persons from the start, keeping the chat more active and updating other teammates with any advancements we made, and doing regular concise calls/meetups to make sure everyone was on the same page on where the development was headed.
Thanks to this, we were able to set our effort in the right things, get a clearer picture of what everyone was doing, and we felt more comfortable to ask other teammates for help.
Other than the required technologies, the FireBase database was used to store the users of the app. This approach was used since someone in the team was already familiarized with this technology and it integrated well with our architecture.
Some of the things we have learnt through out the project
Learnt to handle big project and to work with other people.
Learnt to handle big project and to work with other people.
Learned specific feature branching strategies and developed communication skills to be able to contribute in a team environment.
I've learnt how to use GitLab and how to work collaboratively on a project in GitLab. I've learnt how to use version control to effectively work on a project in a group.I've gained more experiance in using android studio to create apps and how to write and run tests for it (like system tests).
I've learnt to improvise and find alternative solutions to challenges, particularly in situations where time is limited, rather than rigidly adhere to one approach. Also, I've developed the patience to delve into lengthy documentations of things that are not well explained on StackOverflow.