Category Archives: Sprint-3

Sprint #3 Retrospective

 Hello

I cannot believe how quickly this year has come to a close. It seems like just yesterday I was struggling comprehending what I was doing in this course, but now I have gotten to the point where I feel like I have a grasp on how things are actually going. In terms of what got done, I implemented Rabbit at long last, and it only took me 3 sprints to get here! Along with that I made sure the messages we were sending matched the specifications posted on discord, and I made sure that the messages were only being sent if the requests themselves were valid (i.e. weight isn’t null, and it won’t take more than the inventory has). I think I really came into my own near the end of my time in this class,  I did a good job speaking to my group more often, I put out a number of good commits, and overall I had a better grasp on what was actually going on, which I certainly couldn’t say at the start. Though if I had to pinpoint something that didn’t work very well, I definitely think it was my communication with my group about what all of my work actually does. I get consistently asked what certain ports are being used for, and near the end of the sprint we ran into a snag relating to a library I was using. If I had explained what everything was more thoroughly, it could have prevented some headaches in my opinion. Our team continues to work quite well together, we communicate pretty openly at meetings, and I am not afraid to ask questions like I was before. I think near the end of the sprint we kind of lost focus a bit, and we, myself included, started slacking off on things once the majority of the sprint’s work had been done. We might have been able to come up with some other issues than the ones we have posted on Gitlab, but perhaps we wouldn’t have, who can really say for sure, our stuff is basically already done from my understanding. As for me, I am trying not to slack on any of the work required for this class in the last weeks of the semester. While the last presentation is a good week or so away, I am trying to make myself as available as possible, and I am trying to keep on top of everything so that the presentation isn’t rushed. 

For the design pattern I’ve chosen for this post, I went with something that I feel really encapsulates all of the work I’ve done over the course of the semester, and that is Sustainable Motivations. The pattern states that a software craftsman should hone their skills to cope with ever changing specifications and demands from customers. It recommends trying to remain motivated by writing things down that motivate you about your work, and trying to keep in mind that not every day programming will be perfect. Throughout the course of the semester I have had a kind of moving target problem with the scope of my work. At the beginning, the issue I was assigned requested I use RabbitMQ to send messages on inventory actions, but it did not mention the fact that RabbitMQ wasn’t implemented in the Inventory Backend at all. So suddenly, the scope of my work had changed dramatically, and I spent most of the first sprint stressing that I wasn’t doing as much as I should while I got RabbitMQ running. Later on, things like queue creation and library conflicts became a problem, and it seemed like the further I got in, the farther away completion of my goal was. I think if I had read this pattern at the start of the semester, or even at the start of sprint 3, I would have taken some time to actualize that I was never going to have a static goal with this kind of work, and perhaps I would have cut myself a little slack in that regard. 

Overall I’ve enjoyed this class quite a bit, and my time in college in general, since I am graduating. I’ve learned a lot from this course, and gained a lot of experience that I will doubtlessly use in industry. So, all that remains now is for me to coast through the finish line, and see where my career takes me from there.

Thanks for reading my blog! Who knows when or if I’ll post again, but it’s been interesting writing about all the work I’ve been doing for classes in a public facing way. I might even try this whole thing again sometime, who knows! :p

 

Merge Requests:

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem-weight-based/inventorybackend/-/merge_requests/69

 https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem-weight-based/inventorybackend/-/merge_requests/68

 https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem-weight-based/inventorybackend/-/merge_requests/66

From the blog Camille's Cluttered Closet by Camille and used with permission of the author. All other rights reserved by the author.

Sprint #3 Retrospective

 Hello

I cannot believe how quickly this year has come to a close. It seems like just yesterday I was struggling comprehending what I was doing in this course, but now I have gotten to the point where I feel like I have a grasp on how things are actually going. In terms of what got done, I implemented Rabbit at long last, and it only took me 3 sprints to get here! Along with that I made sure the messages we were sending matched the specifications posted on discord, and I made sure that the messages were only being sent if the requests themselves were valid (i.e. weight isn’t null, and it won’t take more than the inventory has). I think I really came into my own near the end of my time in this class,  I did a good job speaking to my group more often, I put out a number of good commits, and overall I had a better grasp on what was actually going on, which I certainly couldn’t say at the start. Though if I had to pinpoint something that didn’t work very well, I definitely think it was my communication with my group about what all of my work actually does. I get consistently asked what certain ports are being used for, and near the end of the sprint we ran into a snag relating to a library I was using. If I had explained what everything was more thoroughly, it could have prevented some headaches in my opinion. Our team continues to work quite well together, we communicate pretty openly at meetings, and I am not afraid to ask questions like I was before. I think near the end of the sprint we kind of lost focus a bit, and we, myself included, started slacking off on things once the majority of the sprint’s work had been done. We might have been able to come up with some other issues than the ones we have posted on Gitlab, but perhaps we wouldn’t have, who can really say for sure, our stuff is basically already done from my understanding. As for me, I am trying not to slack on any of the work required for this class in the last weeks of the semester. While the last presentation is a good week or so away, I am trying to make myself as available as possible, and I am trying to keep on top of everything so that the presentation isn’t rushed. 

For the design pattern I’ve chosen for this post, I went with something that I feel really encapsulates all of the work I’ve done over the course of the semester, and that is Sustainable Motivations. The pattern states that a software craftsman should hone their skills to cope with ever changing specifications and demands from customers. It recommends trying to remain motivated by writing things down that motivate you about your work, and trying to keep in mind that not every day programming will be perfect. Throughout the course of the semester I have had a kind of moving target problem with the scope of my work. At the beginning, the issue I was assigned requested I use RabbitMQ to send messages on inventory actions, but it did not mention the fact that RabbitMQ wasn’t implemented in the Inventory Backend at all. So suddenly, the scope of my work had changed dramatically, and I spent most of the first sprint stressing that I wasn’t doing as much as I should while I got RabbitMQ running. Later on, things like queue creation and library conflicts became a problem, and it seemed like the further I got in, the farther away completion of my goal was. I think if I had read this pattern at the start of the semester, or even at the start of sprint 3, I would have taken some time to actualize that I was never going to have a static goal with this kind of work, and perhaps I would have cut myself a little slack in that regard. 

Overall I’ve enjoyed this class quite a bit, and my time in college in general, since I am graduating. I’ve learned a lot from this course, and gained a lot of experience that I will doubtlessly use in industry. So, all that remains now is for me to coast through the finish line, and see where my career takes me from there.

Thanks for reading my blog! Who knows when or if I’ll post again, but it’s been interesting writing about all the work I’ve been doing for classes in a public facing way. I might even try this whole thing again sometime, who knows! :p

 

Merge Requests:

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem-weight-based/inventorybackend/-/merge_requests/69

 https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem-weight-based/inventorybackend/-/merge_requests/68

 https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem-weight-based/inventorybackend/-/merge_requests/66

From the blog Camille's Cluttered Closet by Camille and used with permission of the author. All other rights reserved by the author.

Sprint #3 Retrospective

 Hello

I cannot believe how quickly this year has come to a close. It seems like just yesterday I was struggling comprehending what I was doing in this course, but now I have gotten to the point where I feel like I have a grasp on how things are actually going. In terms of what got done, I implemented Rabbit at long last, and it only took me 3 sprints to get here! Along with that I made sure the messages we were sending matched the specifications posted on discord, and I made sure that the messages were only being sent if the requests themselves were valid (i.e. weight isn’t null, and it won’t take more than the inventory has). I think I really came into my own near the end of my time in this class,  I did a good job speaking to my group more often, I put out a number of good commits, and overall I had a better grasp on what was actually going on, which I certainly couldn’t say at the start. Though if I had to pinpoint something that didn’t work very well, I definitely think it was my communication with my group about what all of my work actually does. I get consistently asked what certain ports are being used for, and near the end of the sprint we ran into a snag relating to a library I was using. If I had explained what everything was more thoroughly, it could have prevented some headaches in my opinion. Our team continues to work quite well together, we communicate pretty openly at meetings, and I am not afraid to ask questions like I was before. I think near the end of the sprint we kind of lost focus a bit, and we, myself included, started slacking off on things once the majority of the sprint’s work had been done. We might have been able to come up with some other issues than the ones we have posted on Gitlab, but perhaps we wouldn’t have, who can really say for sure, our stuff is basically already done from my understanding. As for me, I am trying not to slack on any of the work required for this class in the last weeks of the semester. While the last presentation is a good week or so away, I am trying to make myself as available as possible, and I am trying to keep on top of everything so that the presentation isn’t rushed. 

For the design pattern I’ve chosen for this post, I went with something that I feel really encapsulates all of the work I’ve done over the course of the semester, and that is Sustainable Motivations. The pattern states that a software craftsman should hone their skills to cope with ever changing specifications and demands from customers. It recommends trying to remain motivated by writing things down that motivate you about your work, and trying to keep in mind that not every day programming will be perfect. Throughout the course of the semester I have had a kind of moving target problem with the scope of my work. At the beginning, the issue I was assigned requested I use RabbitMQ to send messages on inventory actions, but it did not mention the fact that RabbitMQ wasn’t implemented in the Inventory Backend at all. So suddenly, the scope of my work had changed dramatically, and I spent most of the first sprint stressing that I wasn’t doing as much as I should while I got RabbitMQ running. Later on, things like queue creation and library conflicts became a problem, and it seemed like the further I got in, the farther away completion of my goal was. I think if I had read this pattern at the start of the semester, or even at the start of sprint 3, I would have taken some time to actualize that I was never going to have a static goal with this kind of work, and perhaps I would have cut myself a little slack in that regard. 

Overall I’ve enjoyed this class quite a bit, and my time in college in general, since I am graduating. I’ve learned a lot from this course, and gained a lot of experience that I will doubtlessly use in industry. So, all that remains now is for me to coast through the finish line, and see where my career takes me from there.

Thanks for reading my blog! Who knows when or if I’ll post again, but it’s been interesting writing about all the work I’ve been doing for classes in a public facing way. I might even try this whole thing again sometime, who knows! :p

 

Merge Requests:

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem-weight-based/inventorybackend/-/merge_requests/69

 https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem-weight-based/inventorybackend/-/merge_requests/68

 https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem-weight-based/inventorybackend/-/merge_requests/66

From the blog Camille's Cluttered Closet by Camille and used with permission of the author. All other rights reserved by the author.

Sprint 3 Retrospective

In this post, I’ll be reflecting on our third and final sprint towards developing and implementing an Identity and Access Management system for Thea’s Pantry. Coming out of Sprint 2, we had an almost-fully-functional proof of concept which integrated a mock frontend capable of calling out to Keycloak to require authentication, getting an access token, and passing that token to the backend for authentication and validation. Our goal for sprint 3 was to fully implement production microservices for Keycloak, the IAMBackend, and the IAMFrontend. These goals may not have been explicitly defined like that at the beginning of the sprint, but that ended up being our objective. We also wanted to have finalized documentation that explains our implementation and design choices.

Some of my personal work towards that goal was as follows:

GitLab

  • Documenting our low-level issues in GitLab and assigning them accordingly. I put additional focus/effort this sprint into properly linking related issues, blockers, and tracking various key information in comments, as opposed to just using issues as a task list. Epic

  • Document and ticket/issue any outstanding work that is necessary but out of the time constraints of this sprint / the semester. Approaching the end of the semester, there is still some necessary work to fully implement our microservices, but there is not enough time to complete it all. I have gone through and added any issues I can think of.

Backend

  • Fully implement an IAMBackend that mirrors the structure of the GuestInfoBackend. It is not yet merged, as it is not yet a fully functional MVP. That branch is here. This has included but was not limited to work such as:

    • Refactoring comments and text to apply to an IAMBackend instead of GuestInfoBackend

    • Removing files and code that does not apply to IAMBackend, such as messageBroker.js

    • Modifying backend endpoint code to finalize it

    • Updating dependencies

    • Ensuring the GitLab build processes function as expected

  • I will be tying up some loose ends and hopefully merging IAMBackend before “finishing” the semester.

Frontend

  • Fully implement an IAMFrontend that mirrors the structure of the GuestInfoFrontend. It is not yet merged, as it is not yet a fully functional MVP. That branch is here. This has included but was not limited to work such as:

    • Refactoring comments and text to apply to an IAMFrontend instead of GuestInfoFrontend

    • Updating dependencies

    • Ensuring the GitLab build processes function as expected

    • Adding and reconfiguring bin scripts as necessary

    • Doing frontend Vue work to actually create a redirect page

  • I will be tying up some loose ends and hopefully merging IAMFrontend before “finishing” the semester.

PantryKeycloak

Just providing a link to the repository because I am the only one that has touched it, all work in there was done by me. PantryKeycloak

  • Fully configure and implement a production Keycloak repository

  • Add all custom settings for the TheasPantry Realm

  • Create an entrypoint script that automatically exports and saves all changes to the realm

Documentation

Documentation Repository

  • Finalize and write a lot of documentation

I feel like this sprint was a rough one across the board. I could definitely tell people were on the home stretch and sliding towards the end of the semester. I think people did good work, and our class meetings worked well for us; we always came to agreements and had purpose. I feel like we were working very slowly though, and at times, I felt like I was taking the bulk of the issues on myself. I think I could work on that as an individual, and understand that it is not necessarily my job to make sure every single thing gets done. I am very mission-oriented, so I naturally do that, despite the cost to myself. I feel like as a team, we could have paid more attention to each other and what people’s workloads looked like. That might have allowed us to work better together and be more mindful of our own deadlines and how we can help each other.

The pattern I have chosen for this sprint is Dig Deeper. This pattern describes learning things at a level where you truly understand why they are the way they are, how they work, and how to use them. I think it is relevant because the more I tried to learn how the different services and Docker interact, the better I was able to understand and implement solutions. If I had read this prior, I may have focused more on understanding before trying to implement, as opposed to while.

From the blog Mr. Lancer 987's Blog by Mr. Lancer 987 and used with permission of the author. All other rights reserved by the author.

Sprint 3 Retrospective

In this post, I’ll be reflecting on our third and final sprint towards developing and implementing an Identity and Access Management system for Thea’s Pantry. Coming out of Sprint 2, we had an almost-fully-functional proof of concept which integrated a mock frontend capable of calling out to Keycloak to require authentication, getting an access token, and passing that token to the backend for authentication and validation. Our goal for sprint 3 was to fully implement production microservices for Keycloak, the IAMBackend, and the IAMFrontend. These goals may not have been explicitly defined like that at the beginning of the sprint, but that ended up being our objective. We also wanted to have finalized documentation that explains our implementation and design choices.

Some of my personal work towards that goal was as follows:

GitLab

  • Documenting our low-level issues in GitLab and assigning them accordingly. I put additional focus/effort this sprint into properly linking related issues, blockers, and tracking various key information in comments, as opposed to just using issues as a task list. Epic

  • Document and ticket/issue any outstanding work that is necessary but out of the time constraints of this sprint / the semester. Approaching the end of the semester, there is still some necessary work to fully implement our microservices, but there is not enough time to complete it all. I have gone through and added any issues I can think of.

Backend

  • Fully implement an IAMBackend that mirrors the structure of the GuestInfoBackend. It is not yet merged, as it is not yet a fully functional MVP. That branch is here. This has included but was not limited to work such as:

    • Refactoring comments and text to apply to an IAMBackend instead of GuestInfoBackend

    • Removing files and code that does not apply to IAMBackend, such as messageBroker.js

    • Modifying backend endpoint code to finalize it

    • Updating dependencies

    • Ensuring the GitLab build processes function as expected

  • I will be tying up some loose ends and hopefully merging IAMBackend before “finishing” the semester.

Frontend

  • Fully implement an IAMFrontend that mirrors the structure of the GuestInfoFrontend. It is not yet merged, as it is not yet a fully functional MVP. That branch is here. This has included but was not limited to work such as:

    • Refactoring comments and text to apply to an IAMFrontend instead of GuestInfoFrontend

    • Updating dependencies

    • Ensuring the GitLab build processes function as expected

    • Adding and reconfiguring bin scripts as necessary

    • Doing frontend Vue work to actually create a redirect page

  • I will be tying up some loose ends and hopefully merging IAMFrontend before “finishing” the semester.

PantryKeycloak

Just providing a link to the repository because I am the only one that has touched it, all work in there was done by me. PantryKeycloak

  • Fully configure and implement a production Keycloak repository

  • Add all custom settings for the TheasPantry Realm

  • Create an entrypoint script that automatically exports and saves all changes to the realm

Documentation

Documentation Repository

  • Finalize and write a lot of documentation

I feel like this sprint was a rough one across the board. I could definitely tell people were on the home stretch and sliding towards the end of the semester. I think people did good work, and our class meetings worked well for us; we always came to agreements and had purpose. I feel like we were working very slowly though, and at times, I felt like I was taking the bulk of the issues on myself. I think I could work on that as an individual, and understand that it is not necessarily my job to make sure every single thing gets done. I am very mission-oriented, so I naturally do that, despite the cost to myself. I feel like as a team, we could have paid more attention to each other and what people’s workloads looked like. That might have allowed us to work better together and be more mindful of our own deadlines and how we can help each other.

The pattern I have chosen for this sprint is Dig Deeper. This pattern describes learning things at a level where you truly understand why they are the way they are, how they work, and how to use them. I think it is relevant because the more I tried to learn how the different services and Docker interact, the better I was able to understand and implement solutions. If I had read this prior, I may have focused more on understanding before trying to implement, as opposed to while.

From the blog Mr. Lancer 987's Blog by Mr. Lancer 987 and used with permission of the author. All other rights reserved by the author.

Sprint 3 Retrospective

In this post, I’ll be reflecting on our third and final sprint towards developing and implementing an Identity and Access Management system for Thea’s Pantry. Coming out of Sprint 2, we had an almost-fully-functional proof of concept which integrated a mock frontend capable of calling out to Keycloak to require authentication, getting an access token, and passing that token to the backend for authentication and validation. Our goal for sprint 3 was to fully implement production microservices for Keycloak, the IAMBackend, and the IAMFrontend. These goals may not have been explicitly defined like that at the beginning of the sprint, but that ended up being our objective. We also wanted to have finalized documentation that explains our implementation and design choices.

Some of my personal work towards that goal was as follows:

GitLab

  • Documenting our low-level issues in GitLab and assigning them accordingly. I put additional focus/effort this sprint into properly linking related issues, blockers, and tracking various key information in comments, as opposed to just using issues as a task list. Epic

  • Document and ticket/issue any outstanding work that is necessary but out of the time constraints of this sprint / the semester. Approaching the end of the semester, there is still some necessary work to fully implement our microservices, but there is not enough time to complete it all. I have gone through and added any issues I can think of.

Backend

  • Fully implement an IAMBackend that mirrors the structure of the GuestInfoBackend. It is not yet merged, as it is not yet a fully functional MVP. That branch is here. This has included but was not limited to work such as:

    • Refactoring comments and text to apply to an IAMBackend instead of GuestInfoBackend

    • Removing files and code that does not apply to IAMBackend, such as messageBroker.js

    • Modifying backend endpoint code to finalize it

    • Updating dependencies

    • Ensuring the GitLab build processes function as expected

  • I will be tying up some loose ends and hopefully merging IAMBackend before “finishing” the semester.

Frontend

  • Fully implement an IAMFrontend that mirrors the structure of the GuestInfoFrontend. It is not yet merged, as it is not yet a fully functional MVP. That branch is here. This has included but was not limited to work such as:

    • Refactoring comments and text to apply to an IAMFrontend instead of GuestInfoFrontend

    • Updating dependencies

    • Ensuring the GitLab build processes function as expected

    • Adding and reconfiguring bin scripts as necessary

    • Doing frontend Vue work to actually create a redirect page

  • I will be tying up some loose ends and hopefully merging IAMFrontend before “finishing” the semester.

PantryKeycloak

Just providing a link to the repository because I am the only one that has touched it, all work in there was done by me. PantryKeycloak

  • Fully configure and implement a production Keycloak repository

  • Add all custom settings for the TheasPantry Realm

  • Create an entrypoint script that automatically exports and saves all changes to the realm

Documentation

Documentation Repository

  • Finalize and write a lot of documentation

I feel like this sprint was a rough one across the board. I could definitely tell people were on the home stretch and sliding towards the end of the semester. I think people did good work, and our class meetings worked well for us; we always came to agreements and had purpose. I feel like we were working very slowly though, and at times, I felt like I was taking the bulk of the issues on myself. I think I could work on that as an individual, and understand that it is not necessarily my job to make sure every single thing gets done. I am very mission-oriented, so I naturally do that, despite the cost to myself. I feel like as a team, we could have paid more attention to each other and what people’s workloads looked like. That might have allowed us to work better together and be more mindful of our own deadlines and how we can help each other.

The pattern I have chosen for this sprint is Dig Deeper. This pattern describes learning things at a level where you truly understand why they are the way they are, how they work, and how to use them. I think it is relevant because the more I tried to learn how the different services and Docker interact, the better I was able to understand and implement solutions. If I had read this prior, I may have focused more on understanding before trying to implement, as opposed to while.

From the blog Mr. Lancer 987's Blog by Mr. Lancer 987 and used with permission of the author. All other rights reserved by the author.

Sprint 3 Retrospective

In this post, I’ll be reflecting on our third and final sprint towards developing and implementing an Identity and Access Management system for Thea’s Pantry. Coming out of Sprint 2, we had an almost-fully-functional proof of concept which integrated a mock frontend capable of calling out to Keycloak to require authentication, getting an access token, and passing that token to the backend for authentication and validation. Our goal for sprint 3 was to fully implement production microservices for Keycloak, the IAMBackend, and the IAMFrontend. These goals may not have been explicitly defined like that at the beginning of the sprint, but that ended up being our objective. We also wanted to have finalized documentation that explains our implementation and design choices.

Some of my personal work towards that goal was as follows:

GitLab

  • Documenting our low-level issues in GitLab and assigning them accordingly. I put additional focus/effort this sprint into properly linking related issues, blockers, and tracking various key information in comments, as opposed to just using issues as a task list. Epic

  • Document and ticket/issue any outstanding work that is necessary but out of the time constraints of this sprint / the semester. Approaching the end of the semester, there is still some necessary work to fully implement our microservices, but there is not enough time to complete it all. I have gone through and added any issues I can think of.

Backend

  • Fully implement an IAMBackend that mirrors the structure of the GuestInfoBackend. It is not yet merged, as it is not yet a fully functional MVP. That branch is here. This has included but was not limited to work such as:

    • Refactoring comments and text to apply to an IAMBackend instead of GuestInfoBackend

    • Removing files and code that does not apply to IAMBackend, such as messageBroker.js

    • Modifying backend endpoint code to finalize it

    • Updating dependencies

    • Ensuring the GitLab build processes function as expected

  • I will be tying up some loose ends and hopefully merging IAMBackend before “finishing” the semester.

Frontend

  • Fully implement an IAMFrontend that mirrors the structure of the GuestInfoFrontend. It is not yet merged, as it is not yet a fully functional MVP. That branch is here. This has included but was not limited to work such as:

    • Refactoring comments and text to apply to an IAMFrontend instead of GuestInfoFrontend

    • Updating dependencies

    • Ensuring the GitLab build processes function as expected

    • Adding and reconfiguring bin scripts as necessary

    • Doing frontend Vue work to actually create a redirect page

  • I will be tying up some loose ends and hopefully merging IAMFrontend before “finishing” the semester.

PantryKeycloak

Just providing a link to the repository because I am the only one that has touched it, all work in there was done by me. PantryKeycloak

  • Fully configure and implement a production Keycloak repository

  • Add all custom settings for the TheasPantry Realm

  • Create an entrypoint script that automatically exports and saves all changes to the realm

Documentation

Documentation Repository

  • Finalize and write a lot of documentation

I feel like this sprint was a rough one across the board. I could definitely tell people were on the home stretch and sliding towards the end of the semester. I think people did good work, and our class meetings worked well for us; we always came to agreements and had purpose. I feel like we were working very slowly though, and at times, I felt like I was taking the bulk of the issues on myself. I think I could work on that as an individual, and understand that it is not necessarily my job to make sure every single thing gets done. I am very mission-oriented, so I naturally do that, despite the cost to myself. I feel like as a team, we could have paid more attention to each other and what people’s workloads looked like. That might have allowed us to work better together and be more mindful of our own deadlines and how we can help each other.

The pattern I have chosen for this sprint is Dig Deeper. This pattern describes learning things at a level where you truly understand why they are the way they are, how they work, and how to use them. I think it is relevant because the more I tried to learn how the different services and Docker interact, the better I was able to understand and implement solutions. If I had read this prior, I may have focused more on understanding before trying to implement, as opposed to while.

From the blog Mr. Lancer 987's Blog by Mr. Lancer 987 and used with permission of the author. All other rights reserved by the author.

CS 448-01 Team 3 Sprint 3 Retrospective (5/7)

Following the very close end to our 3rd and last sprint, I feel like we really put in the effort to finish AddInventoryFrontend. As a team, we completed all of the issues that we were assigned as a team and meet up together for many in-person meetings in order to finally finish up some loose-ends.

One of the biggest things that we finished from last sprint was that we were to got AddInventoryFrontend working. Last sprint was very difficult because the code that we were working on was messy and we had to change a few different approaches to the Frontend since our original approach to create a wireframe which would eventually become the UI did not come together. For this sprint, we had updated our code to be able to finally string together the Frontend with the Backend, like changing around our directory, adding in key files to run the Frontend, and then test through trial and error our Frontend. We used our current wireframe in order to build our Frontend to what we ended up with.

For AddInventoryFrontend, I had worked on updating the Documentation of AddInventoryFrontend since I wanted to be able to contribute more in this sprint. When I looked at the documentation in its original state, I was dumbfounded to find that there were almost nothing there to begin with. It must have looked liked a template since it specified that the linter being used was called test.sh instead of lint.sh. Because everyone on my team was doing so much work on the Frontend and its functionality, I wanted to be able to contribute more as a member of the team, so I decided to modify the documentation so that it would reflect the changes that we made as as a team.

Unfortunately, we were unable to completely fix some issue that we had with our Frontend before the end of the sprint. Our Frontend works great and loads properly now that we have fixed it. If we had another sprint left before the end of the semester, we would have worked on optimizing our Frontend so that the button could work so that you can add and remove units of food from the inventory, and also keep track of how much food is in the inventory through a viewable parameter that would check in the database for the inventory amount. With that being said, any issues that we had with AddInventoryFrontend will have to be resolved next year.

As a member of our team, I definitely could work on trying to practicing some code so that I would be able to make changes that they made with the Frontend. The Frontend was not impossible for me to read since I have played around with HTML before, but I was still trying to figure out all the formatting for our Frontend so I took a good look at our code. I could tell that at the very least that we did our best with creating the Frontend with the little time that we had following our previous sprint, but I would like to not forget about the things we did as a team to create our Frontend. I think that I better understand how AddInventoryFrontend works because I did run the environment on my own. For our presentation, I really hope that we can talk more about how we got our Frontend to work rather than just listing out the issues that we did in our sprint.

From the blog CS@Worcester – Elias' Blog by Elias Boone and used with permission of the author. All other rights reserved by the author.

Sprint 3 Retrospective

Activity on Gitlab (from oldest to youngest)

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/inventorybackend

  • Worked on verifying correct linters are present/used, pushed branch and was merged later

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfofrontend

  • Helped team by commenting details in regards to issue worked on as a group

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/inventorybackend

  • Deleted branch to do some clean up at the end of the sprint

In the dynamic realm of sprint cycles, our team of five individuals embarked on a journey of collaboration, growth, and shared accomplishments throughout Sprint Three. As the semester progressed, we evolved into a more cohesive and efficient unit, leveraging our collective strengths to overcome challenges and achieve our objectives with confidence.

From the beginning of this sprint, our experience was characterized by seamless workflow, effective time management, and a strong emphasis on teamwork dynamics. Through a combination of collaborative efforts, individual contributions, and paired work, we navigated our sprint objectives with precision and determination, exceeding expectations within the designated timeframe.

Reflecting on our previous sprints, we collectively identified areas for improvement and implemented strategies to enhance our performance. One notable shift in our approach for Sprint Three was the refinement of our task allocation process and the adoption of a more strategic approach to problem-solving. Recognizing the importance of leveraging diverse perspectives and skill sets, we allocated tasks based on complexity and urgency, ensuring optimal resource utilization and productivity.

Furthermore, we continued to prioritize inclusive code reviews, fostering a culture of knowledge sharing and continuous improvement within the team. By conducting comprehensive reviews as a team, we not only enhanced the quality of our work but also reinforced our commitment to collective success. Paired work remained instrumental in our strategy, facilitating better communication, collaboration, and task completion efficiency.

Despite the inherent challenges of a five-person team, we maintained a cohesive and supportive environment throughout Sprint Three. Each team member actively contributed to discussions, shared insights, and collaborated with others to overcome obstacles. Our shared dedication to excellence and mutual respect for one another’s contributions fostered a positive team dynamic, elevating our overall productivity and morale.

Moreover, we remained focused on maximizing our time and resources by prioritizing tasks based on importance and feasibility. Setting ambitious yet attainable goals, we remained committed to completing at least 75 percent of our sprint backlog, ensuring progress towards our objectives while allowing flexibility for unforeseen challenges or revisions.

As we look towards future sprints, we are confident in our ability to build upon the successes of Sprint Three while addressing any identified areas for improvement. By continuing to prioritize collaboration, effective communication, and adaptive problem-solving, we are poised to further enhance our team’s performance and achieve even greater success in the upcoming iterations.

In conclusion, Sprint Three was a testament to our team’s resilience, growth, and unwavering commitment to excellence. Through strategic task allocation, inclusive code reviews, and increased paired work, we navigated our sprint backlog with confidence and cohesion, emerging stronger and more united than ever before. As we continue to iterate and refine our processes, we remain dedicated to driving innovation, fostering teamwork, and delivering exceptional results in all our endeavors.

From the blog CS@Worcester – Site Title by rkaranja1002 and used with permission of the author. All other rights reserved by the author.

Retrospective – Sprint #3

During this sprint, I contributed to 3 issues:

  1. Determine what needs to be done on GuestInfoFrontend – GuestInfoFrontend/issues/88
    (As a whole team, we explored the GuestInfoFrontend for any improvements, and created tickets for teams next semester)
  2. Verifying that InventoryAPI has the correct extensions, linters, and pipeline stages – InventoryAPI/issues/25
    (As a whole team, we reviewed and made changes to files in the InventoryAPI to ensure extensions, linters, and pipeline were all set for next semester)
  3. Verifying that all Thea’s Pantry projects have the correct extensions, linters, and pipeline stages – Inventory Backend – InventoryBackend/issues/101
    (3 of us reviewed and made changes to files in the InventoryBackend to ensure extensions, linters, and pipeline are all set for next semester)

Again, this sprint I also assisted in reviewing some issues for the team

This sprint was a breeze, all of us were comfortable working with most systems at this point and we were able to complete almost every one of the issues we set out to do. We did have a little hiccup with the GuestInfoFrontend as we were unsure of the process to start a backend and frontend hot reload instance after moving from Docker to Gitpod but after some direction from Professor Wurst, we were able to continue with our Determine what needs to be done on GuestInfoFrontend issue. Other than that we didn’t run into any problems over the duration of the sprint and we completed >75% very fast this time around too.

I don’t think that there is much or anything for us to improve on this sprint since most of the issues we worked on this sprint were team-collaborated issues we spent less time working on issues than in prior sprints since we were able to collaborate and fix any bugs with ease. Any of the issues that our team members did take on themselves, such were done without much if any assistance past peer reviewing, and overall the team worked like a “well-oiled machine” this sprint.

As a team, we killed it this sprint. We improved on our weak areas from our last two sprints and further solidified what we did well. I feel like communication can always be improved as we had made strides from our first sprint but I feel as if it had stagnated to an acceptable level for sprints #2 and #3. Other than that I can say there was anything that we should have done differently as we were on point this time around. Our in-person communication was a lot better than our discord communication but in the end, both weren’t bad at all, we just could have done better in some areas.

As an individual, I felt as if I could have worked more spreading the load of work since I feel that compared to our other sprints I had taken the least amount of burden of work this time around but if I look back to sprint #1 I feel that maybe it balanced out over the whole year since I felt as if I took on a large burden of work the first sprint so overall I think it evens out. I also could have been better at communicating when I will be on for calls as I had just joined when I could due to school and life just being busy so sometimes I joined Discord later than our usual time without explicitly communicating I would be doing so.

In the end, I feel as if this sprint had been our best yet since we had completed almost all issues (1 wasn’t completed), spread our burden of work, and communicated the best we had the entire semester. While there is always going to be room for some improvement, I feel that we had found our rhythm as a team this time around and we operated at our maximum efficacy.

From the blog CS@Worcester – Eli's Corner of the Internet by Eli and used with permission of the author. All other rights reserved by the author.