The course of our sprint was good, we completed large sections on the frontend and backend from the last sprint to get the necessary functionality to integrate the front end and backend together. We achieved our sprint goals by all agreeing on what was most important to focus on in the sprint, which helped us on completing our ultimate sprint objective. We structured our issues in such a way that they were less dependent on each other for completion. This strategy maximized the number of issues that could be completed without having to wait for someone to submit their issue first.
Keeping in mind the lessons from our previous sprints, we continued to work in small branches dedicated to one issue at a time. There was minimal code divergence because of our fast branch, merge, branch strategy. It was tempting to keep developing in the same branch, but with the small size of our project, the structure of our project changed very quickly. Merging large branches together often resulted in breaking code in the past. By our third sprint, we had developed a great workflow and collaborated seamlessly. Two large braking changes we made this sprint were updating the port numbers for the backend and frontend as well as updating the fields within the guest info record.
With our workflow and communication, our team updated internal ports, mapped them to docker images, and reflected the changes in docker-compose files for code in multiple repositions. All while maintaining integration of the frontend and backend code. We also had to remove and add new fields for the guest record. This required modifying the OpenAPI Schema, handling the changes in the backend, and modifying the form on the frontend. By doing small branches in coordination with our team members, these major changes were made without issue. If this was our first sprint, things would have been more difficult. I see the ease at which we made these major updates as evidence of how much we have developed over the semester.
Overall, there were no significant indefinable changes we should make as a team. As always, we should aim to communicate with each other to the best of our ability. In my opinion, we did this well and left little room for a need to improve. Although our in-team communication was excellent, one area that still needs improvement is our communication between teams. We improved on this compared to the last sprint by working with other teams using the credit card scanner, sharing CSS styling, and meeting with the Kubernetes team to discuss integration. However, we wanted to implement keycloak this sprint, but we did not accomplish that task. The reason for this was both due to running out of time and failing to have enough dialogue with the IAM team to learn how their system would integrate with our system. If we had the fourth sprint, I am sure we would be able to learn from our experience and succeed at implementing these features in the future.
Overall, I improved significantly between sprint one and sprint three. I could still improve the amount of communication I have from team to team and take it upon myself to reach out more. I did do this during sprint three more than I had in the previous sprints, but improvement could be made in the number of times I reached out.
Issues Completed During Sprint 3
∙ Create a second connector class for sending data to RabbitMQ to make changing RabbitMQ for another message broker-client simple without updating its use through the code. [https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfobackend/-/issues/35]
∙ Fix the issue where adding a new guest via API request on the backend throws server error and does not add new gues to the database or RabbitMQ [https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfobackend/-/issues/38]
∙ Create an environmental variable for delaying the start of the NodeJS server to wait for the RabbitMQ instance to be ready for connection [https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfobackend/-/issues/40]
∙ Remove and add new fields for the guest record within the OpenAPI for the GuestInfoSystem as well as modify the backend to handle these changes [https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/api/-/issues/12]
From the blog CS@Worcester – Jared's Development Blog by Jared Moore and used with permission of the author. All other rights reserved by the author.