What we planned to do last time to address the issues we had encountered
We felt like development wasn't going as fast as we wanted it to go
After out conversation about ID with the professor and TA, several team members receiving yellow cards for their participation last sprint. After this, the amount of time their had to participate in the project seem to increase
We don't think we can get our vision of the project finished.
We did triage to ensure that the most important things got finished and that the rest was left unimplemented.
Overall retrospective
One of the biggest things that we learned is that our roles should be less strict.
In the beginning we had developers only doing development and testers only doing development. Most of our developers were busy and so most of the development in early sprints was done by a couple people. Since a lot of development didn't get done there wasn't a lot of functionality that could be tested. We transitioned to a more informal roles system where people would mostly do what their role said, but they would also do some other work if needed. The project manager and some testers/build masters started contributing to the development and more development got done than before.
Another thing that we realized was software we were implementing was a lot harder than we thought it would be and that caused a lot of issues.
Our lack of experience with app development definitely contributed to some problems that occurred with our development. We had several issues that took way longer than we expected solely because we were unfamiliar with some of the technologies involved. If we were to do this again we think we could get a lot more done in less time.
One thing we realized is that development goes a lot smoother when everyone is participating.
We felt that ID 5 was one of our better sprints in terms of getting stuff done. It helped that everyone on the team started helping out a lot more where as previous deliverables were largely done by a few team members. We wish that all our sprints were more like the last one.
Our commitment to using free and open source software cause many problems, but mostly with authentication. If instead of Keycloak we a commercial product like Auth0, which has libraries. This would have been better than having to implement the libraries ourselves. Using these libraries would have also sped up the time it would have taken to implement a lot. Using the authentication stuff we did also affected the way we had to do smoke tests and was a reason why they couldn't be automated as it didn't work well with postman which is what we had investigated and found to be working for doing api smoke tests.
We also wish we chose to use a bare React native project instead of using Expo. Expo's documentation was often unclear and incorrect, and we had to do a lot of exploratory coding.