Category Archives: Sprint 2

Sprint Retrospective #2

Now that the second  sprint of the Naturalization Interview Confidence Environment project has ended, it is time to yet again reflect on the progress that my team and myself as this sprint’s Scrum Master have made thus far. Moreover, it is also time to reflect on what went right on wrong during this sprint, both in regard to what we as a team decided to improve upon based on what we discussed during our first retrospective, as well as what new obstacles may have shown up during the second sprint. It is important to note that in this sprint, unlike the first, the team had a sense of direction as to what needed to be done. For comparison, during the first sprint we were more concerned with determining what development framework we would need to use for the project while in the second sprint we had somewhat begun the development process of the project as well as creating the infrastructure for development. Though some progress may have been made, this sprint did not prove to be as fruitful as the last.

In this sprint, we as a team had planned on working on 36 issues across 5 epics. Moreover, for this sprint, the main team was separated into two sub-groups with one working on creating the application itself while the other worked on creating the Docker development infrastructure needed for future development. The application development group, of which I was a part, was tasked with implementing the following functionalities:

as well as other functionalities that would be necessary, such as ways to navigate between the aforementioned functionalities. I was primarily tasked with implementing the reading portion of the application (as linked above), meaning I needed to implement the necessary functionality for a user to be able to see previews of the questions that are to be included in the application, as well as interact with each question separately. Though I was tasked to implement a specific functionality, I was still expected to help my teammates of the application team in the case they needed assistance with their own task, as well as provide support to the Docker infrastructure team.

          Though, admittedly, the breaks that occurred during the sprint contributed to hindering the structure of our productivity, as well as certain tasks taking much longer to work on than we had anticipated, there was still some progress regarding the infrastructure aspect of the project which continues to be worked on and improved by the responsible team members. Some problems that we had noticed in retrospect are mostly related to our management of time both during and outside meetings. As a scrum leader I still had issues managing our time during meetings such that there was a balance between allowing all team members to express themselves fully as well as using the meetings to outline what progress has been made and what progress needs to be made. Moreover, though we as a group acknowledged that documentation is extremely important, there was still lack of proper documentation and clarity in issues, which contributed to the improper time management of our meetings since there was more focus discussing what each new issue actually meant, thus meeting discussions wound up being somewhat disorganized. On a positive note, however, our approach of “Divide-and-conquer” from last sprint was crucial in helping the team establish who would do what tasks, either regarding the application or the infrastructure. Moreover, there has been substantial improvement regarding documenting what is being discussed during meetings, with certain issues having the appropriate context needed to ensure proper communication of our goals and progress between team members.

          As detailed above, while this sprint had its flaws regarding productivity and time management, there was still some progress made regarding development and infrastructure. While we all, as a team, acknowledge that some mistakes from the first sprint were still present in the second sprint, we are all still willing to learn from such mistakes and improve our own productivity and communication.

Direct links to issues:
1) Build a page that shows previews of the questions for the interview: https://gitlab.com/worcester/cs/naturalization-interview-confidence-environment/demo-react/-/issues/28
2) Learn how to use commitlint/conventional commits for the Application source code: https://gitlab.com/worcester/cs/naturalization-interview-confidence-environment/General/-/issues/13

From the blog CS@Worcester – CompSci Log by sohoda and used with permission of the author. All other rights reserved by the author.

Sprint Retrospective #2

For our second sprint, I think our group had a lot of ups and downs. At the start of the spring (before Spring Break), our group was very productive. Before break, we divided our group into two subgroups, three people working on the programming portion of the project (Sofia, Emmanuel, and I) and three people working on constructing a Docker container (Pernesso, Joao and Dylan). Early on, Dylan was able to get a Docker image and container working for our project. So, the Sprint was off to a strong start. During the last class before break, Sofia, Emmanuel, and I managed to break up the programming portion of the project into separate parts and assigned each part to a different person. So, each one of us knew what we had to work on over and after break. Some of us in the group had made plans to meet up over break using Discord to work on the project over break, but things came up and not everyone was able to meet. Sophia and I managed to work over Discord during break and I think we got a lot done. We did a mix between going over issues on our issue board and actually programming. For example, one of the issues I was going to work on over break was the Oath of Allegiance page and Personal Information page.

https://gitlab.com/worcester/cs/naturalization-interview-confidence-environment/demo-react/-/issues/13

https://gitlab.com/worcester/cs/naturalization-interview-confidence-environment/demo-react/-/issues/31

Originally, we had these issues as one issue which we decided did not really make sense because we were building two different screens. After an extensively discussion with Sophia, we also decided that the Personal Information page should go into our product backlog because if the purpose of our application was to just let people practice before taking the exam, then adding a Personal Information page does not really much to the functionality of our application. If the application was to simulate the exam, then adding a Personal Information page would make a lot more sense. So, we decided adding a Personal Information page was more of a luxury item that we could implement in a later Sprint if we have time. After our meet up, both Sophia and I documented what happened and our decisions on GitLab. So, in the beginning of the Sprint, we had decent documentation. It was what happened that everything kind of went south.

While I think our documentation was fine before and during break, I think documentation was one of the areas that fell apart the most after break. After we came back from break, we never followed up with one another on what we worked on during break or the week after break and so it was difficult to what was or wasn’t getting worked on or even what already done. Another issue that we had was we did not adjust the weights accordingly. When we initially made the issues in class before break, one of the things that we talked about was how for some of the issues, we did not know how to give it a weight because the issue may have been too broad, or we don’t know how to break up that specific issue. So, we were going to break some of those issues over time during the Sprint. This did not end up happening and our weights were off.

What I really to work on as an individual is working on a team. During this second sprint, I talked to my teammates a lot less than I did during the first Sprint. I just worked on the issues that I was assigned to and did not check in with anyone from the group unless I needed their feedback. For example, another issue that I worked during this Sprint was creating a UML diagram.

https://gitlab.com/worcester/cs/naturalization-interview-confidence-environment/demo-react/-/issues/1

This was one of the few times I checked in with my group. I made two different diagrams. One simple diagram and one where I was trying something new and wanted my group’s feedback. So I feel like I need to work on checking in with my group more to see what they are working on and let them know what I am working on.

Another thing that I need to work on is writing issues as they come. Sometimes when I am working on an issue, I encounter more issues and I wait until the end of the sprint to put those issues on the issue board and forget about it until I talk to someone about it.

From the blog CS@Worcester – Just a Guy Passing By by Eric Nguyen and used with permission of the author. All other rights reserved by the author.

Second Sprint Retrospective

Reflection on what worked well and didn’t work well
After having the Sprint Retrospective meeting with my group overall, I would say that the project is progressing very well. The workflow of the group was the same of how everyone worked by themselves and together. Both the frontend and backend development teams were able to make a lot of progress towards the project. Overall, we were able to get everything done besides a few minor things. We didn’t have any real issues in the programming itself. Towards the end, after looking back at what we did, we were able to see how we are able to make it easier to start the servers, which will be part of our next Sprint. From the last Sprint, we made too many branches, but we were able to clean up the branches and really became organized for the second sprint. The backend is pretty much all set besides integrating it with the frontend and possibly cleaning up the code so it may run even smoother.

Reflection on what changes could be made to improve as a team
The team worked pretty well. We still had everyone in their original development team. Those who were on the backend stayed on the backend and the same goes for the frontend. The backend team however started to run out of things to do so we would hop on over to the frontend to see what they may need help with and to give a different perspective. From how the meeting went, everyone was able to communicate any problems they had with one another, and no one was ever afraid to ask questions when they needed help. I mentioned this before but something the team could work better on is being vocal. This Sprint was much better because it seems that everyone was more comfortable with speaking up. During our daily meetings, they were much better because everyone was able to elaborate on what they did instead of “I did this”.

Reflection on what changes could be made to improve as an individual
From my perspective, the sprint went really well. I was able to do a lot more work this Sprint and even learn a little bit about how RabbitMQ works. I will attach the work I did on the project at the end with a description. I also worked alongside colleagues Jared and Vien to clean up the backend. At the same time, we were able to learn some new things and teach each other a little bit. Last Sprint I mentioned how I needed to be more active, and I can say with confidence that’s what I did this Sprint. I don’t think I have much to improve on than learning and improving my programming skills. It was a very successful Sprint in my opinion.  

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

Sprint 2 Retrospective Reflection

In this blog post, I will reflect on the second sprint of my capstone project. I will discuss what worked well, what didn’t work well, changes we can make to improve as a team, changes I can make to improve as an individual, and I will end by listing links to the work I have done with descriptions.

To start off discussing what worked well, one of our biggest accomplishments, if not our biggest accomplishment (in my opinion) was successfully creating a functioning docker image that we were all able to pull and use on our individual laptops. This was a big milestone for us because during sprint 1 we were running into compatibility issues and had no standardized way of creating and sharing code with one another.

For things that didn’t work that well, I would like to bring up something that was a common theme in our retrospective meeting: our lack of regularly documenting our work. I think this was something that we started off on the right track at the beginning of our sprint after having discussed this as an important thing to do in our first retrospective meeting. But with spring break, the week we had off from class, we fell back into the habit of doing work without documenting as we go along. Another thing I would like to mention for this category were the issues we created that started with “Learn to…”. By creating these kinds of issues, it made it difficult to deliver something tangible as it relates to our capstone project. While there was a lot that we learned, it should be represented in the future by applying our new knowledge in a practical way. Lastly, I would like to mention that although we had a functioning docker image to use, it has been incredibly slow to use while on campus/in class. There were classes where I felt like I was simply working on setting up my container just to shut it down by the time class was over.

In our retrospective meeting, one of the big things we discussed we could all improve on as a team is thoroughly knowing our issues board. As a team, we should constantly be reading, updating, asking clarifying questions, and breaking down issues into manageable steps. Part of me was afraid of touching issues that my peers created because I didn’t want to change their original idea, but it is exactly this collaborative process that is needed to create a productive sprint. Doing this clarifies the work at hand and prevents things like creating duplicate issues.

When it comes to changes that I can make to improve as an individual, my goal for sprint 3 is to use my class time more effectively. This last sprint has taught me that it is especially difficult for me to dive into my code when my peers are around me. Some of the best technical work I have done comes from me working in an independent, library-like environment. Because of this, I will focus on using daily standup meetings and my class time as an opportunity to get very comfortable with our issues board. If there are issues that require further details I can add them in class and if there are questions I need to ask my peers about issues they’ve created I can ask them in person. I believe making this small change will be more effective than spending my hour and fifteen minutes in class trying to code with intermittent distractions that may pertain to the capstone, but do not always pertain to what I’m coding.

Links to evidence of activity on GitLab with descriptions:

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

Spring Two Retrospective

During spring two, we had more experience working as a team, and there were some big improvements and things that went well. There were also some areas in which we can improve, that we discussed in our Sprint Retrospective meeting. We started with what went well.

One thing that we improved with was using GitLab to better organize our collaboration. We used comments in the issues section of GitLab so that our development can be better documented. We were using discord and talking in person during the first sprint, when we should have been using GitLab comments. Another thing we did well was approving Merge Requests Asynchronously. During sprint one, we merged all of the requests as a group during class. This was tedious at best, and at worst led to merge conflicts, with branches being many commits behind. This time, we created a system in which any time a team member is the second to approve a Merge Request, he will merge the branch into Main. This streamlined the merging process.

Another area we continued to excel in is getting issues completed, and evenly dividing the work. With the exception of Issues that are not in our control, we completed all of our assigned issues. And we evenly divided the work. We faced some delays, as we had spring break, followed by a week of cancelled classes. But we still managed to get a lot done. We have a lot to celebrate as team, but there are some things that we can improve on.

We had a two week break from classes. And our productivity decreased during that time. We got better at using discord to collaborate remotely. And if issues like this arise again, we will be better equipped to handle them. Another thing we can improve on is naming issues more descriptively, and link issues to epics. We can also work on being more proactive with asking our instructor for help as needed. As a group those are the things we need to work on. And as a team member, I need to contribute to this.

I think I did a great job during this sprint, and I learned a lot. But there are some things I can work on. Going back to some of the group feedback, I need to be more specific in naming issues. This is extremely important, so that if another team member works on an issue I created, he is working on the correct piece of the project. Another thing I can work on is the way I help other team members as problems arise. A few team members needed help getting Chai to work. And were facing a “Chai is not defined error”. I thought this was due to Chai or node not being installed. As when I was in my branch it worked fine. When I moved to main and pulled all of the changes I found that I was getting the same error. It was due to a missing import statement in one of our testng files. I learned that I should take a closer look when trying to help another team member. Meaning that I should switch to their branch and pull all of the recent changes.

The issues I completed / worked on during Sprint two are as follows:

Test File for products: https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/general/-/issues/3

Create Data file for Products: https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/foodkeeper-newbackend/-/issues/5

Test File for Returning API: https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/foodkeeper-newbackend/-/issues/13

From the blog CS@Worcester – Jim Spisto by jspisto and used with permission of the author. All other rights reserved by the author.

Retrospective: Sprint 2

Christian Shadis

This past week, my development team in my Software Development capstone completed our second of three Scrum sprints for the semester and recently had our Sprint Retrospective meeting. This was my (and the team’s) second cycle in an Agile environment, so we were more comfortable with the process.

The most notable improvement from our first sprint to the second was the development workflow in respect to version control. Our largest difficulty was previously with the branching and merging process; team members were pushing code with conflicts, were pushing new code before fetching updates, and were having numerous failed merges. After having several weeks to acclimate, we were able to execute the workflow smoothly for the second sprint. After implementing a new policy allowing merges to occur outside of class, we were also able to better utilize class time to address problems team members were having instead of reviewing pre-written code.

Perhaps the largest roadblock in this sprint was a large block of time in the middle of it during which little work was done. We were off for a week for Spring Break, before having both classes the following week cancelled – no members were available to work on the project during this time. Thus, a significant portion of the sprint was spent completely idle. However, we were able to recover as a team and complete enough work before the sprint concluded.

There are some improvements the team can make for the next sprint to increase our effectiveness. First, the team should improve the naming of epics and issues and do a better job of linking the two. We have epics but have been failing to link issues to them. Additionally, the approval of merge requests needs to be done more continuously and quickly after the request is created.

However, there were several areas in which our team excelled. As in the last sprint, our team successfully divided tasks amongst all members to prevent any member over- or under-producing. Any problem a developer had was brought to the group and resolved in a timely manner, which was made easier by our improved merging workflow and increased available class time. We communicated much more in Gitlab than in the previous sprint, allowing conversation to be kept for posterity. It is also noteworthy that we completed most of the planned work despite a time gap

I contributed to the project in several ways. Perhaps my most significant contribution was the revision of the API repository to produce a valid API that passes the npm test. This consisted of fixing naming errors and references in fifteen different files (https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/foodkeeperapi/-/issues/4). I also added a few necessary files to the backend repository (https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/foodkeeper-newbackend/-/issues/17, https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/foodkeeper-newbackend/-/issues/18 ). Previously to validating the API I renamed several files in the repository to ensure all files were capitalized consistently in camelCase (https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/foodkeeperapi/-/issues/10). Finally, I contributed by opening a dialogue with the IAM and AWS teams to inquire about incorporating access management into our API, and about deployment on AWS (https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/foodkeeper-newbackend/-/issues/14, https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/foodkeeper-newbackend/-/issues/15 ).

Though I performed better than in the first sprint, there are some areas in which I can improve for the final sprint. First, I would like to be more consistent in my work. In the previous sprints, I have been taking multiple days between work sessions and doing work in bulk. This increased the amount of time needed to orient myself with the task at hand and catch up with other work done in the span. Working more continuously would prevent that. Furthermore, I would like to write more code for the next sprint – while I completed several issues, I wrote very little code this sprint. I believe my backend development skills could use the boost of writing more of the code. I will choose different types of issues to assign to myself for the following sprint.

I would consider the sprint successful overall. Essentially, we have a working and validated API, most backend code, and are working on integrating the two together, leaving testing for the third sprint, which is in line with our pre-semester goals. We have worked well as a team, I have worked well as an individual, and we are well on our way to a (near) finished product at the end of Sprint 3.

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

Sprint 2- Retrospective

This sprint went slightly better than the first one. Though we didn’t get to full completion of what we had planned for the sprint, we definitely tackled it understanding what needed to be done and how to do it.

What worked well:

As a team

The most noticeable thing was how comfortable everybody felt tackling the different tasks. During the first sprint everybody was sort of new to this whole process and it was hard to find the right balance on how to work as a group.

Another success was that we had “better” issues than previously. Now that we knew what actually needed to be done it was easier to pinpoint and address them. We originally thought we would just have to modify the backend but then we quickly realized that the backend endpoints actually needed to be re-made from scratch because the work left by the previous team was not really functional. Thus that was the main focus of the sprint

Individually

I worked on finalizing the complete move of the Api to its own repository and creating the addInventory and getApiVersion endpoints. At first, I was very hesitant to work on any of the endpoints because it just seemed like a lot of complicated work. It turned to be way easier than I thought. I ended up mirroring from the microservices example for the most part. 

What didn’t work well:     

As a team

The one thing that did not work too well was breaking down some of our issues. We definitely knew what needed to be done and created issues for it but for some of it was not broken down enough for more people to work on.  That resulted in some team members without issues to work on and some other members with too much to do.

Another point is that we were not able to make the backend work because we had issues connecting to the database. It could be because one member was in charge of it the whole time while others could have jumped in when they did not have anymore issues to work on.

Individually

Everything went pretty smoothly on my end. The endpoints were not hard to create or update. The one thing I would change is that I wish I looked at the front-end a little bit in preparation for sprint 3. 

Changes to be made

As a team:

As a team, we need to do a better job creating issues. We also need to better communication, discussion, and recording of decisions taking place under the GitLab issues and epics. We are looking forward to this sprint because we will most likely all work on the frontends for a while so there will hopefully be a lot more to communicate on GitLab

Personally:

Do more research on the material to bring my focus more on the learning than just getting things done. I will make an effort to look over the issues that are not assigned to me.

Links:

Add an endpoint that returns the API version (#26) · Issues · LibreFoodPantry / Client Solutions / Theas Pantry / InventorySystem / InventoryBackend · GitLab

Create and implement addInventory.js endpoint (#23) · Issues · LibreFoodPantry / Client Solutions / Theas Pantry / InventorySystem / InventoryBackend · GitLab

Rename addItem.yaml and give it a more fitting name (#1) · Issues · LibreFoodPantry / Client Solutions / Theas Pantry / InventorySystem / InventoryAPI · GitLab                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      

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

Sprint 2 Retrospective

Our second Sprint had the end goal of deploying a demo Kubernetes Cluster. This cluster would most likely be deployed locally using Minikube and Kubectl, and would use a demo so we could understand the process.

We weren’t able to get to the issue that would have us create a Kubernetes Cluster, but we still made a lot of progress and ended up getting close. 

What worked well was the use of teamwork between issues. What I mean by this is, one team member would research something for one issue, and that research would be important for another team member working on another issue after the fact (1). The research and the results of what we produced while working on our issues is informative, and is vital for our goal of our team for this class and what was our goal for Sprint 2. The quality of our work was pretty good, and I think we’re progressing nicely, albeit a bit slowly, to a competent end product.

What didn’t work well was some of our organization during the sprint. As mentioned above, we weren’t able to finish the demo for the end of this sprint (2), and I believe there were a few examples for this. The first reason was spring break. We didn’t progress on any issues during the break, and coming back took time to get back into gear. The second reason was the class cancellation on the 21st of March. This was right after spring break, and it was a bit difficult to get back into it. Even still, we should’ve started working on issues like normal, but it took some time to organize and it caused us to stall for a few days (3). Finally, a lot of work relating to a Kubernetes Cluster is a concept that is new to us, and it involves quickly learning new things. (4) This spring required us to deploy a demo within a relatively short amount of time. As such, I think Sprint 2 was more difficult than the first sprint, and this spike in difficulty was a big factor in our work progress.

As an individual, I felt that I could improve by interacting with my team more. Some of our issues could’ve been worked on concurrently, and it’s very easy to simply keep working on individual issues without understanding the greater context of what we’re doing. Since we’re trying to set up the infrastructure for a Kubernetes Cluster, everyone needs to understand the context of their work in the project (5). I felt like maybe I could’ve started a conversation or two with my teammates about the project. I did it once or twice, but maybe initiating one or two more conversations would have been helpful.

As a team, communication is something that I think we need to improve on. For example, after the break we should’ve started communicating to roll back into action after not working on anything for a while. Another thing that we struggled on was communicating outside of class on setting up some of the sprint issues, which caused us to lose one point on our grade.

By the end of Sprint 2, we progressed and learned a lot. I feel comfortable about this project, and our work for our next sprint as laid out by our second sprint.

(1) https://gitlab.com/LibreFoodPantry/common-services/aws-deployment/general/-/issues/28 – This issue provides a lot of good information about Kubectl, which will be very helpful on deploying a demo cluster.

(2) https://gitlab.com/LibreFoodPantry/common-services/aws-deployment/general/-/issues/41 – This issue is the demo issue. It is not yet done at the time of writing this.

(3) https://gitlab.com/LibreFoodPantry/common-services/aws-deployment/general/-/issues/24
– An example of me starting this issue a few days after coming back from break, which should’ve been done by Monday.

(4) https://gitlab.com/LibreFoodPantry/common-services/aws-deployment/general/-/issues/24 https://gitlab.com/LibreFoodPantry/common-services/aws-deployment/general/-/issues/35 https://gitlab.com/LibreFoodPantry/common-services/aws-deployment/general/-/issues/28 https://gitlab.com/LibreFoodPantry/common-services/aws-deployment/general/-/issues/39
– Four examples of different things that we need to know while working with an issue.

(5)- For example, the demo would require us to deploy the projects listed by this issue: https://gitlab.com/LibreFoodPantry/common-services/aws-deployment/general/-/issues/34, concurrent to understanding and creating anatomy posited by this issue: https://gitlab.com/LibreFoodPantry/common-services/aws-deployment/general/-/issues/35

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

Sprint 2 personal Retrospective

For our second sprint I think our group improved in many aspects of the process. Last sprint there was a lot of confusion around what exactly needed to be done and how, as well as issues with managing time and expectations. The group also had relatively poor over all communication over discord, although that was more attributed to the fact that many tasks did not really need to involve more than one team member at a time. We addressed those issues in the last sprint retrospective and this sprint I believe that we did much better over all. Firstly we communicated much more than before, using discord more often to ask questions or gather information that we need from other groups. We also had more clear goals this sprint, which consisted of getting many aspects of the back end written up and hopefully working, as well as finishing up refactoring the front end. The team did a good job getting all the tasks done in a timely manner, even writing in stand-in code in areas where another team member was working on implementing a feature. In this case that team member was me, as I was working on inventory.js my team was finishing up their endpoints, and since they could not connect to anything they created stand-ins while I finished up my portion of the project. Another area I think we did good in this sprint was being timely with merge request approvals. This sprint if a merge request was created it tended to be approve within a few hours.

As a team I think we did much better this sprint compared to the previous sprint, and we flushed out pretty much all the big issues we had before. I do not really have any suggestions for things that we could improve going forward as a team. We communicated well, managed our time and work load well, and in the end got almost everything we needed done. As a team we have found a system that works. As an individual however I definitely have some things that I know I can continue to work on to improve going forward. The biggest is still time management. I did better with my own time management this time but I still could do better as I did leave many issues for later in the sprint; however I did not save them for the last second like I did before.

Since there was not too much that can be criticized with the teams performance this sprint, there are not many things I believe that we need to directly address to improve on next sprint. We will however need to keep this level of performance, and most likely bring it up a notch next sprint. While we have not had a planning session yet, we have discussed an abstract of what will happen next sprint, and the main focus will be testing and fixing bugs. Given that this will be a very involved task we will need to be communicating even more and there will have to be more collaboration between members as bugs may pop up in multiple areas of the project.

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/backend/-/blob/BackendCreation/src/data/inventory.js

I primarily worked on getting inventory.js written out with the correct endpoint connections so that the team members working on the endpoints can use them to connect to the DB.

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

Sprint 2 – Retrospective

I thought this sprint went well. While the team definitely has room for improvement, I thought that the team cooperated and managed to accomplish our main goal for the sprint, which was to give functionality to the backend of the project. We managed to add the necessary endpoints as well as give invesntory.js functionality. We also managed to accomplish other tasks like adding commitlint to the gitlab-ci.yml file in all the projects repositories as well as coming to a consensus regarding the naming conventions and style decisions. I thought that, overall, the team was much more cohesive this sprint compared to the previous one. The team was able to communicate much more effectively, and the team was more aware of what needed to be accomplished.

I think the team still has room for improvement that could help us become even more cohesive and efficient. I think the biggest area where we could improve is how we come up with tasks and divide the labor. The tasks that we had in our sprint backlogs over the past couple of sprints were rather imbalanced. There were some tasks in there that were important, challenging, and took a lot of time to complete. But at the same time, there were also other tasks were minor, easy, and took little effort to complete. This led to some team members having tasks that would take them more than one sprint to complete, while other team members did many simple tasks and were left with little to do by the end of the sprint. I think this sprint we should try to break up the big tasks into smaller ones, and group minor tasks into bigger, more general tasks. I think team members should also ask the other team member for help if they think that they cannot finish their task by the end of the sprint.

Individually I thought that my performance was satisfactory. I mainly worked on adding commitlint to the gitlab-ci.yml file in the project repositories, but I also spent time trying to understand how RabbitMQ worked. For the latter, I created a demonstration for RabbitMQ that shows how things are sent and received. Ultimately, I managed to complete six tasks by the end of the sprint that are worth seven points. I think my biggest issue was that the tasked I worked on were either too specific like adding commitlint or too broad and vague like figuring out RabbitMQ. I also think that I didn’t communicate with my teammates as much as I should have.

Personally, I have a lot of room for improve in several areas. One of the areas that I want to see myself improve is communication. I felt like I did not communicate with my teammates as much as I should have. For example, I felt like I should have kept my teammates updated with my progress on the RabbitMQ demonstration. For the next sprint, I want to use Discord as well as class time to communicate with my teammates more. Another area where I want to improve is taking on more challenging tasks. Over the past couple of sprints, I felt like my tasks were either too simple or too minor. So, for the upcoming sprint, I want to try taking on a bigger and more challenge tasks.

List of issues that I worked on:

Issue InventoryAPI#2: Added commitlint in gitlab-ci.yml in InventoryAPI.

Issue AddInventoryFrontend#6: Added commitlint in gitlab-ci.yml in AddInventoryFrontend.

Issue CheckInventoryFrontend#4: Created gitlab-ci.yml in CheckInventoryFrontend and added commitlint.

Issue CheckOutGuestFrontend#7: Created gitlab-ci.yml in CheckOutGuestFrontend and added commitlint.

Issue InventoryBackend#27: Created gitlab-ci.yml in InventoryBackend and added commitlint.

Issue InventoryBackend#22: Spent time learning how Rabbit MQ works and created a simple demonstrations that shows how things are sent and received.

From the blog CS@Worcester – Fadi Akram by Fadi Akram and used with permission of the author. All other rights reserved by the author.