Throughout the first sprint there were many learning experiences earned, and a great amount of progress was completed for our server. For a first sprint together as a team, I would say we did very well overall; and the second sprint will only be better. What we did best overall in the first sprint, was completing our manageable goals. In our initial sprint planning, I felt that we set attainable and workable goals. These goals were met by all members of the team in some capacity, demonstrating an equal workload across the team. We were very transparent in our communication, and our communication was frequent and on-topic. It felt that we were very efficient in coming to decisions and working towards a greater goal. I spent my time doing three major tasks; setting up and testing Thea’s Pantry on the server, researching Docker volumes and coordinating with Gio of team 2, and troubleshooting SSL certificates to allow the back-end and front-end to connect without an HTTPS error.
What didn’t work well in the sprint was our lack of knowledge going into it. Our team in particular is charting entirely new ground, which requires us to learn a good deal before moving anywhere with our project. We also ran into a major issue quite early (SSL error above), which sidelined any progress with Thea’s Pantry on the server. We were able to overcome most of our obstacles, and prepare for an even better sprint two, but there was a rough start with the freshness of the material and our inexperience running sprints.
As a team we could better work independently, as that is our main drawback. We had very little issues communicating, planning, or working; but most work was done as a group and we pooled our brains into individual issues. This slowed us down, and although we reached many of our goals, had we worked more independently we may have gotten through more. This is something we can improve for sprint two, and be more efficient with. As an individual I could better deal with frustrating issues. I got quickly discouraged by major issues that I could not solve, most notably with our SSL errors. My inability to switch tasks held me back from one of my sprint goals, because I was determined to solve an issue that I did not have all the tools to solve. I could also better document my work, as going into this retrospective I realize that outside of completed issues there is very little documentation of what I had done.
The apprenticeship pattern that best describes my work in this sprint is Confront Your Ignorance. This fit because the work done with the staging and deployment server is something entirely foreign to me. To be able to approach the work, I had to swallow my pride and confront that I know nothing about the topic. And to improve that I did research throughout the sprint to better understand how to make progress. Reading this pattern allowed me to reconceptualize my lack of knowledge into an opportunity.
My tasks:
https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/deployment/gitlab-profile/-/issues/6
This was my first task in the sprint. I installed docker and docker-compose on the server, and got Thea’s Pantry running on our server. I have since tweaked our compose file and have been working on getting the back-end and front-end to connect on the server.
https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/deployment/gitlab-profile/-/issues/16
Most of my sprint was spent tackling the issue of SSL certifications for our server. I made progress in getting a self-signed certificate to bind to the IP, but I could not access the index file to allow the front-end to work with the volumes used for the nginx config and certs.
https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/deployment/gitlab-profile/-/issues/4
Here I made a minor contribution in establishing how we should go about implementing CI/CD, I researched how we could make it work and presented it in class. In the future I plan to implement a Python script to aid Andrew in this task.
From the blog CS@Worcester – WSU CS Blog: Ben Gelineau by Ben Gelineau and used with permission of the author. All other rights reserved by the author.