Category Archives: Sprint 2

CS-448: Sprint 2 Retrospective

Sprint 2

What worked well this sprint

Sprint 1 was a good opportunity for the team to become familiar with each other, how we like to work individually, and the general workflow that we were to follow. After Sprint 1, Sprint 2 was much easier in terms of knowing what the team wanted to accomplish and how to accomplish it. During this sprint, we continued our weekly meetings because it was a good way for everyone to go over what was done the past week, and what needed to be done for the current week. Last sprint, we ended up leaving all of our merge requests open until the end of Sprint 1 which resulted in many conflicts which created extra work to resolve those conflicts. This sprint we decided to review and merge as issues are completed rather than leaving them until the end of the sprint. Reviewing as issues are completed helped the team to avoid merge conflicts.

What did not work well

Throughout the sprint, the team had issues that were dependent on the completion of other issues. An example of these issues were when the team were adding to the AddInventoryFrontend. The goal of the issue was to implement the functionality of actually adding inventory to the database which required multiple components to be added such as text fields, buttons, etc. Because the team as a whole had limited experience with frontend work, we spent time together researching implementation. When spending time together for research, we realized that implementation would be easier with the approach of mob programming. Utilizing mob programming rather than each of us being assigned an issue and completing individually helped save time. This is because if we were all assigned an individual issue then we would have to wait until the first person finishes their issue, then the next person could start their issue, and so on. Each of us would also have to pull the changes the previous person made. This process seemed inefficient, so the team decided to group the issues together and do them at once in one meeting where everyone was present.

Last sprint we also came across problems where there was miscommunication about when we would be meeting, which we aimed to resolve this sprint. However we still faced attendance issues regarding the team’s weekly meetings.

Changes to make as a team

One change that we tried to resolve last sprint was the issue of some team members not attending the weekly meetings. Unfortunately this issue was not fully rectified. In hopes to settle this issue for the next sprint, the team should have a discussion to clearly restate expectations which were initially defined at the beginning of the semester.

Changes to make as an individual

A change that could be made as an individual is having a better grasp of what needs to be done. Mainly due to having spring break in the middle of the sprint, there were a couple instances where I would forget a standup message to inform my team on the progress I have made individually. Although this sprint was longer than the previous, it actually felt shorter to me because of spring break and canceled classes which contributed to me having to rush at the end of the sprint to get my work completed in time. I plan to manage my time better, so this does not happen for Sprint 3.

Activity on GitLab

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

Sprint 2 Retrospective

In our second sprint, the team made important progress on a variety of tasks related to the reporting backend, integration, and documentation. The specific work items we addressed included updating npm packages, improving documentation in the reporting backend, setting up Gitpod permissions, implementing hot-reload functionality with Nodemon, composing Docker files, verifying the testing suite, configuring linters and the pipeline, and fixing a build script. Overall, I feel our team had better communication and a more fair approach to splitting the work this sprint.

Reflection on What Worked Well
One of the key strengths of this sprint was the increased level of communication within the team. We made a better effort to stay in sync, share updates regularly, and support each other when needed. This led to a more collaborative and efficient workflow, as we were able to identify blockers early and provide assistance to unblock each other’s progress. I’d say that a fair distribution of work was also a positive aspect, as we made a combined effort to split the tasks more evenly and ensure that everyone had a manageable workload. This allowed us to make steady progress throughout the sprint, rather than having a last-minute crunch.

Reflection on What Didn’t Work Well
While we did see improvements in our progress flow compared to the previous sprint, there were still periods where a significant amount of work was left until the final week. It gave a bit of pressure and gave an increase in the risk of missing deadlines or compromising on quality. Additionally, the team decided not to go forward the Kubernetes with Docker Compose YAML approach, as we don’t currently have Kubernetes set up. Instead, we focused on consolidating all the API Docker files into a single root deployment. The linter and extension setup was also split across multiple issues, which could have been better organized.

Reflection on Changes to Improve as a Team
Moving forward, we should aim to distribute the work more evenly across the entire sprint duration to maintain a more consistent flow of progress. This may involve better planning and task estimation at the start of the sprint, as well as more frequent check-ins and adjustments throughout. Additionally, we should continue to keep our commit messages as clear as possible, especially for merge commits, to ensure the project history remains easy to follow.

Reflection on Changes to Improve as an Individual
As an individual, I could have been more proactive in checking in with my teammates and offering assistance, even if it’s not directly related to my assigned tasks. I want to make sure I’m staying aware of the overall progress and roadblocks faced by the team, and I can provide support where needed. Additionally, I will learn and do what it takes to be better to complete my individual tasks as early as possible to avoid last-minute stress and make sure we meet our sprint goals.

Work and Work Products
One of the key work products I contributed to this sprint was the update to the npm packages in the reporting backend, as well as the improvements to the documentation for recent changes. I also collaborated with Issac on writing documentation for the reporting backend and composing the Docker files. While I was involved in the initial stages of configuring the linters and pipeline in the reporting integration, Victor and Hieu took the lead on those tasks as they were more closely related to their other assigned issues.

To speak upon the work and work products we are producing, we faced an issue with the guest info frontend not working due to a local host problem, and we worked to set up a solution where the application can check if it’s running in Gitpod and query the URL accordingly. We also identified the need to have a more stronger approach to setting up environment variables, rather than hardcoding them.

Overall, this sprint saw improvements in team communication and task distribution, but there is still room for us to refine our process and ensure a more consistent flow of progress. As we move forward, I am committed to playing an active role in supporting my teammates, completing my work efficiently, and contributing to the improvement of our team goals.

April 9, 2024

andicuni

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/reportingsystem/reportingbackend/-/issues/70#note_1840354434

From the blog CS@Worcester – A Day in the Life as a CS Blogger by andicuni and used with permission of the author. All other rights reserved by the author.

Sprint 2 Retrospective Blog

With new experience gained form Spring 1, I entered into Sprint 2 starting strong with more understanding of the basic workflow and how to navigate Thea’s Pantry on GitLab.

As a team, we all worked very well together in all stages of the sprint. There was good communication through Discord and SMS to coordinate meeting times both in person and online which shows by our ability to complete twenty-three out of the twenty-four weight we planned for the start of the semester. Because we were more used to the workflow process, we were able to spend more time together figuring out our more in-depth issues to implement button functionality to the AddInventoryFrontend project.

Some issues we ran into however, was not being able to build and run the Frontend to see how our vue file code ran. Instead, we had to rely on a vue playground which we found online to test and run our code. In addition, we were unable to access the wireframe to edit it, so the team resorted to detailing the revised wireframe through PowerPoint Presentation. These were simple issues that can be fixed in the next Sprint. As expected, we did not repeat any of the workflow mistake we had done last Sprint.

For the next sprint, we plan to have a “Workflow tips” shared document that includes all our mistakes from Sprint 1 and their solutions so that we do not make the same mistake again. For example, instead of waiting to review everything at the end, the team will review issues as they are completed. We also know to create merge requests directly from the issue, and to edit the merge request properly so that it meets all workflow requirements.

For the next sprint, we plan to continue working on the AddInventoryFrontend project. The first step before implementing the revised button wireframe would be to fix the frontend so that it can run on GitPod rather than having to rely on Docker. Then we will add code to allow the frontend to run on devmode, which makes it so that updates pass through as we work on the code rather than requiring the frontend to be rebuilt each time a change is made. After both of these are completed, then we plan to confirm that the current vue code works. Once that is confirmed and running, we will then update the frontend to reflect the revised wireframe.

This Sprint, I was not the SCRUM master, but I attended all our meetings and worked with my team to come up with solutions to our issues. I would say I am much more organized than last Sprint and am happy with the progress I and my team were able to make together.

Activity links:

GitPod Dev Environments: https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/documentation/-/issues/9
Description: Verified that all Thea’s Pantry projects have the correct extensions, linters, and pipeline stages.

AddInventoryFrontend Redesign: https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/addinventoryfrontend/-/issues/39
Description: Created a revised wireframe for AddInventoryFrontend. The revised wireframe will be added to Thea’s Pantry GitLab in Sprint 3.

Implement Frontend Wireframe: https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/addinventoryfrontend/-/issues/45
Description: Developed the submit and cancel buttons following the basic wireframe before revision.

From the blog Stories by Namson Nguyen on Medium by Namson Nguyen and used with permission of the author. All other rights reserved by the author.

Sprint-2 Retrospective Blog – Team OL-2

As we conclude Sprint-2 and gather for our retrospective meeting, it’s crucial to delve into what went well and identify areas where we can enhance our performance moving forward. Here’s a detailed reflection on our observations and insights:

Reflection on what worked well:

During Sprint-2, our team made notable progress in several areas compared to the previous sprint, demonstrating our ability to adapt and improve:

  1. Enhanced Communication: Communication within the team showed significant improvement, with members actively engaging in discussions, sharing progress updates, and addressing challenges effectively. Our meetings were more focused, productive, and purposeful, leading to better collaboration and decision-making.
  2. Productive Meetings: Our meetings were more structured and goal-oriented, providing valuable opportunities for planning tasks, discussing issues, and aligning on project goals. This contributed to a clearer understanding of individual responsibilities and project progress.
  3. Improved Task Weighting: Adjusting task weights based on our learnings from Sprint-1 resulted in a more accurate reflection of task complexity. This led to a better-balanced workload distribution among team members, ensuring that tasks were appropriately scoped and assigned.
  4. Enhanced Understanding of Project Management Tools: Our team gained a better understanding of using GitLab, particularly the issues and epic boards. This improvement allowed for smoother task management, clearer progress tracking, and better coordination among team members.

Reflection on what didn’t work well:

Despite our progress, Sprint-2 also presented us with challenges and areas for improvement:

  1. Persistent Docker-compose Issues: We continued to face challenges with Docker-compose issues and documentation, impacting task completion and overall efficiency. Addressing these technical hurdles remains a priority for future sprints.
  2. Individual Workload: While collaboration improved, some team members still worked on tasks independently without seeking or receiving sufficient support from others. This hindered overall productivity and efficiency in task execution.
  3. Task Dependencies: Certain tasks were blocked due to dependencies on issues assigned to other teams. This led to delays in task completion and affected our overall task completion rate.

Reflection on changes to improve as a team:

To enhance our team’s performance and effectiveness, we have identified several key areas for improvement:

  1. Promoting Better Collaboration: We aim to foster even better teamwork by encouraging more collaboration, knowledge sharing, and mutual support among team members.
  2. Improving Code Cleanliness and Documentation: Clearer documentation, standardized coding practices, and a focus on code cleanliness will contribute to smoother development processes, easier collaboration, and improved project comprehension.
  3. Effective Task Prioritization and Dependency Management: We plan to prioritize tasks effectively, address dependencies proactively, and communicate any blockers or challenges promptly.
  4. Enhancing Communication Channels: We aim to enhance communication channels within the team, ensuring that information is shared transparently, decisions are communicated clearly, and feedback is provided constructively.

Reflection on changes to improve as an individual:

During Sprint-2, I successfully completed two assigned tasks. The first task involved checking linters and configuring them if necessary for the reporting integration with Victor. This task required running all linters and ensuring that the project passed all tests. I encountered errors related to disallowed words and had to decide whether to reword, add exceptions, or disable certain rules before the relevant code lines to pass the linter tests. Despite these challenges, we completed the task smoothly without any major issues.

The second task was updating documentation to reflect recent changes for reportingAPI and reportingbackend. This included addressing references to the “commands” folder instead of “bin,” adding information about GitPod to Development-environment.md, and updating the outdated Cheat-sheet.md. I successfully completed this task as well, ensuring that the documentation accurately reflected the project’s current state without encountering any obstacles.

As an individual team member, I have identified areas for personal improvement and growth:

  1. Attention to Detail: I recognize the importance of meticulous attention to detail in my work to avoid oversights and ensure thoroughness in task execution.
  2. Proactive Collaboration: I aim to offer more assistance to fellow team members, proactively collaborate on tasks, and share knowledge and expertise.
  3. Effective Time Management: Prioritizing tasks effectively, managing time efficiently, and communicating any challenges or delays promptly will contribute to smoother task execution and improved productivity.

From the blog CS@Worcester – Hieu Tran Blog by Trung Hiếu and used with permission of the author. All other rights reserved by the author.

Sprint Retrospective Blog #1

Hello everyone, I’m Abdullah Farouk, for those who may not be familiar with me yet, and I’m here to document my second sprint retrospective blog for this semester. Let me begin by saying how impressed I am with our collective efforts in adapting to these issues; we’ve managed to go  through various changes very nicely. While there’s certainly room for improvement across the board, I want to say we have successfully navigated through this long sprint. This sprint went deeper into our project which is the libre food pantry. The first thing we did in the beginning of the sprint was weighing the different issues and breaking some epics into smaller issues and assigning it to our team, just like we did in the last sprint.  Then, we prioritized these tasks and started working on them. Personally, I found class time to be particularly productive, allowing me to get most of the issues done, with the support of my teammates. Obviously, there were moments when there were challenges, but having my teammates by my side proved to be helpful. Additionally, I want to say I prefer in-person meetings over virtual ones; the presence of one another helps me be  more productive, as opposed to interacting only through computer screens. I would definitely say that this sprint went better than sprint-1, everyone was more involved because we knew what we had to do in order to finish the semester. Our work was more evenly spread and we did not have any major hiccups or challenges that we couldn’t figure out as a group.

I feel like we fixed our issue of not knowing how to weigh the issues properly, compared to the first sprint. I downloaded discord on my phone so I was responding more to my classmates outside of class time, which is a BIG improvement from last semester. One thing we still need to put some more work and effort into is adding a description to some of the issues that we created. It was still a little difficult for me to figure out what they wanted me to do just from the title, so I had to ask a classmate to double check. I hate asking people for help on things that should be more clear, so that’s one thing we need to be better at in the next sprint.

Other than those minor issues, I think me, and the team did a great job going through these issues and completing them on a timely basis. To improve as an individual, work on these issues gradually. I took spring break for granted, when I should have finished at least the issue that I was working on so I don’t hold my team back. To improve as a team, I think we should start adding a description of the issue under the title just so we don’t get confused and be more organized I would say.

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/reportingsystem/reportingapi/-/issues/25

  • Verifying that ReportingAPI has correct extensions and linters

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/reportingsystem/reportingbackend/-/issues/68

  • Verifying that ReportingBackend has correct extensions, linters, and pipeline stages

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/checkinventoryfrontend/-/issues/26

  • Examine GuestInfoFrontend with its wireframe to see if there is any helpful code that can be shared

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfobackend/-/issues/122

  • Research functionality of “nodemon” and how to properly integrate it

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

sprint 2 retrospective

During the course of this sprint, I spent most of my time looking at the ReportingBackend repository to figure out what was going wrong with the testing suite. I also had assigned myself to configuring the pipeline specifically in ReportingAPI with the linters, but unfortunately was unable to complete this issue because the team responsible for actually adding the linters to the repository was not able to push their changes before the sprint ended. I continued to act as the scrum master for the team, taking an active approach to making sure everyone is doing work, getting credit for their work, and setting up meetings when necessary. I had to help out a bit with other team member’s issues as well, providing some guidance.

Verify the Testing Suite works: Investigate the testing suite and see if I can get it to work, or at least figure out the magnitude of the problem. I applied a couple of fixes (one of which was in the build.sh script that I had a separate 0 weight issue created for, as I had already found the bug and fix prior to the sprint starting.), but it seems like the issue transcends the testing suite and is moreso an issue with the build process with the server.

This sprint was pretty rough, if I’m being honest. For what we did well, our communication overall improved, and the team was better able to utilize GitLab for their work. I think that everything on GitLab was better organized and most of the issues had better descriptions on them than what we had last sprint, and the weight assigned to issues seemed fairly accurate all things considered, aside from the testing issue (which I did spend a lot of time on). We also did work with each other more than we did on the last sprint.

Most of the issues that were assigned to our team were rushed together during the last week of the sprint (from my perspective at least, there may have been some confusion with pushing to GitLab). As such, we weren’t able to get to all of the issues, and only got 14 weight out of the 24 weight assigned to our team fully merged in. I was offering support during the whole sprint, but it seemed like team members were not able to coordinate into a meeting at the same time for most of the sprint. I don’t really have a great reasoning for this, it seems like things weren’t being done until the time was very short to were we couldn’t get everything done, taking all of our other schoolwork into account.

Ultimately, I think for next sprint our team really just needs to work on spreading work out during the entire sprint rather than getting things done last minute. We should also work on coordination and being more present, as when anyone asked if we wanted to do a meeting, the team would all say they were available and no one would take the initiative to actually begin the meeting. Part of that is on me as scrum master, but ultimately we should be willing to meet without having everyone on board if we are working on specific issues.

I was able to spread out my work fairly well as an individual, but I can’t say the same for other team members, and so as scrum master I should be more active in making sure everyone is doing their work not just so the project moves forward, but so everyone gets the credit they need for the course.

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

Sprint 2 Retrospective

One issue our team was having during this sprint was that getting or deleting a guest, after creating the guest, was returning a 404 not found response. We were having a difficult time identifying the cause of this reversion of good behavior, so I learned how to use the git bisect subcommand to find the commit, found the change within the commit that caused the bug, and reverted that change. It ended up being that we could not refer specifically to the /guests endpoint token within the OpenAPI server URL value without other changes.

Evidence: https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfobackend/-/issues/89

Continued existence in frontend (we just need to make sure the right API YAML file is being used in all the repos now): https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfofrontend/-/issues/57

Chai has very nice syntax, which together with chai-http lets you call should on an object, such as object.should.have.status(200), or to call chai.expect(object) when the object might or might not exist. I wrote some simple unit tests, such as verifying that the version string has a range in [5,8] — ('0.0.0' - '99.99.99') — for getting the API version. As with other tests, being able to call them quickly with cd src && npm run test while the server is running on localhost is a useful holdover until we get the CI pipeline working.

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfobackend/-/merge_requests/70/diffs?commit_id=69a9d2299335066166b6379bbdb83bd4d5594bde

I did some pre-sprint-3 cleanup by removing the Chai (not Chai-HTTP) example testGuest.js file.

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfobackend/-/issues/90

I cleaned up our set of unit tests, for the create guest endpoint, which I think is now the first to be in a really good state concerning test coverage not including the get API endpoint. This includes a cleanup step at the end (so tests can be run repeatedly without rebuilding the server), several HTTP requests: both valid and invalid, examining many of the properties of the returned responses. One trick I learned was to assign a const object to store guest data and then repeatedly copy it with the spread ... operator. Otherwise JavaScript would copy by reference and disrespect the const-ness of the object: it would otherwise mutate a const! What a lovely language feature.

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfobackend/-/merge_requests/72/diffs?commit_id=9e3ee6ee2b4202c5971445ead7fc8a10fc727992

Overall, I think I did decently. I helped Kelvin a little with some of his issues. He individually, and our team as a whole, did a great job this sprint. We began and completed work on multiple epics. We ended in a state where now, 1 week from the end of sprint 3, we think we can finish up everything that we wanted and agreed to get to in our sprint 3 planning meeting.

One challenge I faced that I couldn’t resolve was an unfortunate technical difficulty. Despite multiple restarts, re-cloning the repos, and checking my installed program versions, my computer stopped being able to run the server. I eventually gave up after a few hours of trial and error, and moved to a different computer, but I suspect the problem was in an incompatibility involving the rolling-release software update model used by Arch Linux. I’ve now had 2 confirmed and 2 other suspected significant issues that might have been avoided by using LTS software.

Our team could probably improve our communication. It’s hard to find time after Thursday and before Tuesday to plan or collaborate on changes. Early this semester I supported working asynchronously, but in retrospect having an hour or two per week of planned collaboration probably would have led to more productivity and confidence without an unreasonable cost.

From the blog CS@Worcester – Tasteful Glues by tastefulglues and used with permission of the author. All other rights reserved by the author.

Retrospective Blog #2

Our team hit the ground running in the second sprint to deliver a much better result than the first sprint in the end. I ended up working on three issues, with two being completed in the end, and the last one being saved for the next sprint. The links to all three issues can be found below. The first issue was an issue that had been unresolved in the last sprint. What happened was that I had finished the issue, but there was a problem with the commit. I received help from Scott on fixing the commit problem, and the issue was resolved. The second issue was another one that came from the first sprint. I had many troubles with updating the pipeline in the first sprint, and I really needed help with it in the second one. Sam jumped in and did an amazing job getting it to work, and we could not have completed it without him. The third issue I had started in this sprint was creating the test.sh file in the command folder. It took a lot of trial and error, but I just was not able to finish it completely, and I am looking forward to finishing it up in the next sprint. This blog will go over my retrospective thoughts now that the second sprint is over.

Many things worked really well throughout this sprint. One thing that was huge was how much we had learned from the first sprint. In the first sprint we started off slow as we were still inexperienced, but this time we just flew through the beginning, and hit a roll. This can be seen in the nearly 10 point weight difference at the end of each sprint. Another thing that worked well was how cohesive we worked as a group. Now that we had more experience working together, I felt that we talked with each other more, and worked together to finish issues more as well.

There were also some things that did not work well throughout the sprint. One thing that comes to mind is how even though we are better, our weight scaling is still a little off. An example of this is with the pipeline issue where we put it as a weight of two, and it ended up being a weight of five or six. Something else that comes to mind that did not work well is our understanding of new information. It has taken us way longer than we thought to understand Chai, and we are still entering the final sprint trying to fully figure it out.

When thinking about what we can do to improve our group, a couple of ideas come to mind. One thing is that we can try to fix our issue with weights. We could try to improve this by giving some issues more weight than we think it needs so that we can account for actually learning what to do. A lot of times we have overestimated our knowledge, and it led to us taking longer on sprints than the listed weight. Another thing we can try to improve is our communication with outside groups. I feel like we think that we can only communicate with each other, but we can also reach out to our friends in other groups for help as well, and I think we have not taken advantage of that as much as we should.

I think that I can improve in many ways from this sprint. One way is by getting more familiar with Git itself, and prevent small mistakes, like with the first linked issue, from happening again. This will allow for us to not waste time on issues that do not require it, and get our work done faster. Another way I can improve is by reaching out to the GuestInfoSystem team for help with creating the test.sh file as they have done a ton of work with that in sprint two, and have got it up and running on their system. This will help us in getting that issue resolved for the last sprint. This sprint felt like night and day compared to the last one, and our group will only improve more with this experience.

Issue Links

  1. https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/reportingsystem/reportingapi/-/issues/8
  2. https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/reportingsystem/community/-/issues/98
  3. https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/reportingsystem/reportingbackend/-/issues/48

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

Sprint Retrospective 2

For this sprint we decided to split up the work a little differently, as a group we agreed that we should switch what projects we were working on to get a better holistic understanding of the inventory system. This somehow led me to wanting to work on creating the entire inventory integration project here.

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

which completes this issue

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/community/-/issues/79

I learned a lot during this sprint about the intricacies of each file and how they work with each other to create a working project and, at large, a system. I remember early on wanting to work on the frontend for the purpose of being able to work with visual design and UI but from working on the integration project I learned the skeleton and bare bones nature of what we are working on, even considered vaporware. Piecing this project together allowed me to realize what kind of work is required to have things up and running so I then realized I might have to hold off on wanting to work on that aspect of the front end, at least for now. What made it even more challenging was that I had to figure out how having multiple frontends changed creating the project as it was a bit different from other guest info and reporting. Even though I was able to use most of what other groups had, it required some time that was spent looking into the contents of the docker compose file.

Before I worked on creating the integration project I updated to the modern java script within the check out guest front end project, this issue was pretty straight forward and only required finding the right lines to change. Thinking that I was going to be working with the design and presentation I was mildly disappointed. I actually think that this issue and the integration project issue could have switched weight as making sure the integration project worked ended up taking much more time and research. The only thing that I think we can improve on is properly assigning weights to issues.

I think what is good is that a group member and I traded the scrum master position for the sprint, he did good and kept the team working well even through some struggles. It led me to wonder a little more about how other groups or even in the industry how people approach the scrum master position, even wonder how well a team functioned based on the certain characteristics of the scrum master. During this sprint we played around a little more with the projects that we were working on and even the structure of the class, which ultimately made working through the struggles that much more enjoyable.

This last sprint was a whirlwind of emotions and struggles for a variety of different reasons. While reflecting for some reason it appears to me that I felt the need to do individual work during this sprint, which probably isn’t the most productive idea while working with a team. There is a lot that can be taken from this;  I have a strong tendency to often go out and explore myself, that I should be a bit more cognizant of my own impulses, and that there’s always a good time for some play. I think I could’ve changed what I was doing so that I could help my group members with what they happen to be struggling with at the time, and that was something that was taken into the next sprint. Overall, this was a very enlightening and insightful sprint that helped me understand the work that it takes to develop software.

From the blog CS@Worcester – Sovibol's Glass Case by Sovibol Keo and used with permission of the author. All other rights reserved by the author.

Sprint 2 Retrospective

Hello and welcome back to my blog. 

This is the second and last sprint retrospective blog post for my computer science class CS-448. For this sprint, our group needed to continue working on the epics created by the professor. The tasks included updating JavaScript code to modern JavaScript, converting all Docker images to multi-architecture images, and writing tests for the backend of the InventorySystem. I worked on these issues in the CheckInventoryFrontend and in the Inventory Backend. 


To update the JavaScript to modern JavaScript, I had to replace “var” with “let” and use “const” whenever possible. This required me to research how JavaScript’s “var,” “let,” and “const” work.

  • Issue #1: Update JavaScript to modern JavaScript

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/checkinventoryfrontend/-/merge_requests/12

For this issue, I checked every JavaScript file and added “use strict” to the beginning of them as well as checking if there were any “var” variables.


Continue reading

From the blog Comfy Blog by Angus Cheng and used with permission of the author. All other rights reserved by the author.