Category Archives: Sprint-1

Retrospective 1

When I saw the assigned group for the project, I had no idea who the people were. I saw the familiar faces, but did not know anyone’s name. On the first day of us seeing each other, we had a good greeting, even though we were missing two people. That day we all just talked about our repository, discord, and how to access them. We also talked about who will be the scrum master, for the project. The day went smooth like a butter.

On to the next week, all 6 of us were there and our scrum master (Vien) already had in his mind what to do for the project and how the planning should be, while all I did over the weekend was sleeping. Our scrum master divided the group into two, Frontend and Backend. I choose to be on the frontend team as I kind of wanted to learn more about frameworks such as Vue, React, or Angular. As I cloned the repository to my local machine, I had no idea what I was looking at, the docker images were wrong, the form for guest info did not open all the contents, the styling of the form was not responsive, and so on. Our (frontend team) first task was to refactor the frontend repo using vue.js and this is exactly what I wanted, I wanted to get more in depth with Vue.

On the third week, our scrum master already put up a lot of issues in the issue board, and I was so happy he did it. There was already a branch called refactor-branch which was created by our scrum master, and it had two components inside it. Frontend had 2 separate parts to complete. When a page reloads for the first time, it should only show an option for guest ID and nothing else, once the guest enters the ID, the rest of the form should display. Our main goal for that week was to display the rest of the form when the user clicks the submit button. One of my teammate refactored the guest login while the other teammate did the rest of the form in vue.js, and I connected both of their work/component in the main app.vue.

Fourth week, our side of the project were starting to look well, but there were still lots of work for us to do. Although I connected the two components together based on the button, it had its flaws, the form opened and closed once the user enters all 7 digits of their ID. To make it short and easy to understand, the button acted like a switch for a light. If a user clicks once, the form shows and when a user clicks again then the form hides plus the form stayed there even if a user removed their ID. It was a little success from my side, but in general, It looked lame, and I felt stupid. In order to fix that, I made little changes in the id-input component, and I was able to get the form to show only once and when a user removes even one digit from the search input then the form hides until he/she enter all 7 digits again. link.

5th week, Everything was going smooth. Teammates were adding small little important details here and there but at the end, who would want to use a form that has no style right? So I took a task to style the whole form which was left by previous students. And at the end I was able to get the form to look decent, although we might change the style or import one from the existing website.

At the end of the sprint, when my teammate displayed the form in a larger screen than my personal device, I noticed that the form stretches with the screen size. I managed to make form adjustable in phone screen, but I forgot about the screen that’s bigger than my computer, so I fixed it by setting a max width here.

Overall, I think our spring went well. The frontend side did a pretty good job and I when I looked over all the commits in the backend repositories, I noticed that they have been working even harder than the frontend team. In my opinion, I think it would be better to have only 2 people on the frontend and have 3 people for the backend while scrum master looks over all the infracture/review for the tasks. As for myself, I need to discuss more with my group about my work and share everything. With all due respect to my teammates, I don’t think we could have done this well without our scrum master (Vien) who have a good vision and I can tell that he is really putting all of his time to this project. Overall, I’m glad I’m working with this amazing team.

From the blog cs@worcester – Dream to Reality by tamusandesh99 and used with permission of the author. All other rights reserved by the author.

Sprint Retrospective – Sprint 1

This first sprint could have went better but it is to be expected as it is the first time for most people to work like this. There group so far seems to have congealed well and can communicate well with each other. We were able to obtain the necessary information for helping build the project and now we should start to move at a faster pace to get the project done.

There hasn’t been much to critique so far since we haven’t quite starting working on coding yet but some of the issues that have come up so far would be with the way this group has been going . This process is still new to everybody so people are still taking the time of getting used to working on these different issues. There is the issue of the communication of the team so far. The way that the team is going to work isn’t quite clear and the path we are taking needs meeting time to figure out so that . The team could improve by communicating more with each other more, especially when the team tries to set up meetings outside of class and part of the team does not respond or does not make it clear if they are going to show up.

Then for me personally, I don’t think that I have made much of a considerable impact so far as the team just recently has the means to move forward with the project. I have contributed in discussions in the team and helped set up tools to use for the project later on. I could improve as an individual by contributing more in the discussions and think of more ideas on what we should be doing in the project. I also could have done more on GitLab as so far while most of the stuff added was nothing new and mostly mimicking what we have already done in the past, I probably could have taken the initiative to add some work into GitLab instead of another person doing it.

The majority of the time spent on the first sprint was getting our bearings together and figure out what exactly we were supposed to do in this sprint. At first, there were hopes of getting the API up and running by this first sprint ends but that was later put down due to confusion on what the specs and information was needed from other people. It took quite a bit of time to get this information as it was obtained at the end of the sprint which means that the coding will haver to wait until the 2nd sprint. There was also work that we had placed into the sprint backlog that should have been saved for later sprints as they required information and buildup that we did not have at the time. This fuss over issues like these had costed us time that could have been used elsewhere.

https://gitlab.com/LibreFoodPantry/client-solutions/nest/guest-information-system/sprint1-epics/-/commit/2645e65c3cc2c2346b808547cf71c41015d36f15
I added the tools necessary to the backend devcontainer and helped some team members on running the tools.

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

Sprint Retrospective #1

               As the first sprint of the Naturalization Interview Confidence Environment project I have been assigned to work on has finally come to an end, I think that it is time for me to look back on what my team and I managed to achieve, as well as reflect on what I think went right, what went wrong, as well as which of my actions I believe may need to be adjusted before the upcoming sprint begins. Initially, I was somewhat fearful that we would be off to a very rocky start, given how the project itself was borderline non-existent due to the lack of code or repositories from the get-go, meaning that we as a group started work from square one. However, such fearful sentiment had soon dissipated as the sprint went on and more work began to be done. That is to say that, for such circumstances, I believe that this first sprint was an overall positive experience, given the people that I was assigned to work with in my current group.

               In this sprint, my team began working on 40 issues across 8 epics, with around 29 of them being resolved by the end of the sprint. Though everyone was assigned issues to create and populate needed repositories, everyone’s main focus included looking for and learning what Native development framework should be used for the project, in which case I was involved with Ionic Angular. I was involved in the following issues (not including duplicated issues):

               As I mentioned previously, the first sprint overall went fairly well. Given how our main focus was to choose one of the three recommended frameworks that we had found (React Native, Flutter, and Ionic React), we were divided into three sub-teams of two members, with each sub-team studying a specified framework. Such dividing tactic worked very well for us, as each team could learn one framework and communicate their findings, such as what they believed would work well for the project. Overall, our method of dividing work among individual group members or sub-teams seemed to work very well for us, especially evident on the topic of choosing a framework because everyone was great at communicating their perspectives. This is also due to the fact that, even though we may have not worked with each other before, we still had some very good chemistry that made communication much easier and more productive.

               However, what did not work well for this sprint was the fact that we, as a group, were lacking on the aspect of properly documenting what takes place during meetings. Though our meetings in class were productive, we do not have any records of what was done or said during the meeting except for some issues posted on the issue boards, and this lack of documentation may bring some difficulties to people who may work on this project in the future. As for myself, I admittedly felt like my time management skills for this sprint were not exceptionally great, given how I devoted disproportionate amount of time and effort into learning Ionic Angular in a somewhat selfish manner, as if I wanted to learn this framework as part of a hobby rather than as part of the project.

               Regardless, this first sprint was off to a very good start, all things considered. Of course, there are some aspects that we have all agreed that we need to really work on as a group, namely the aforementioned lack of documentation of our meetings. Thus, we may need to develop a strategy that can help us keep a proper record of each meeting without breaking the flow in a distracting manner. As for myself, I will definitely need to improve on my time management skills and learn to devote the appropriate amount of time on tasks that need to be done and further learning of React Native.

Direct links to issues:

  1. Scope for the Ionic framework: https://gitlab.com/worcester/cs/naturalization-interview-confidence-environment/General/-/issues/12
  2. Create demo app in Ionic Framework: https://gitlab.com/worcester/cs/naturalization-interview-confidence-environment/General/-/issues/3
  3. Add a CODE_OF_CONDUCT.md file to the “Documentation” repository: https://gitlab.com/worcester/cs/naturalization-interview-confidence-environment/documentation/-/issues/8
  4. General Resource Collection: https://gitlab.com/worcester/cs/naturalization-interview-confidence-environment/documentation/-/issues/2

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

Sprint 1 Retrospective:

Our team is in the process of developing an OpenAPI specification to connect the NEST android application to a remote MongoDB database. It currently uses a local SQLite database to store its Guest Information System data. There are 5 developers in our scrum team. Our sprints are 3 weeks long, with each developer being allotted 6 hours’ worth of work in a week, over and about the 3 hours per week we are using for class time and scrum meetings.

The project started out with 4 Epics, which we broke up into 18 issues initially. The 2 primary epics were API and Backend. Given that the backend work couldn’t be specified until the API was defined, we had to be creative in how we distributed the work. Since the team members were not that familiar with the specific skillsets of the other members, it was difficult at times to determine who would be assigned to which tasks.

I acted as the scrum master for this sprint, which was surprisingly difficult to manage. The majority of my time was spent trying to figure out the API and adding a basic framework to our docker API project. Other members of the team developed container shells for the API and Backend, as well as adding documentation to our general and documentation repositories.

We ran into issues where issues were designed too vaguely, resulting in some tasks being defined twice. The team did a good job of giving weights to tasks, but we could use more effort in knowing the status of each individual.

This may have been an error on my part, but the scrum meeting task of each developer telling (1) what they have done, (2) what they now will do, and (3) if they had any questions turned into longer discussions, therefore not giving enough time to other team members to communicate enough.

I communicated with Professor Budge from Nassau Community College, who teaches an Android class at that school, and is a key contributor to the LibreFoodPantry product. Since our correspondence took 10 days to solidify a general design, I had jumped the gun on the task of developing the OpenAPI by assuming the full contents of the SQLite database were to be stored in our database, as a result, I developed a plantuml design for 8 tables that were not ours!! https://gitlab.com/LibreFoodPantry/client-solutions/nest/guest-information-system/api/-/tree/main/bundles

I also produced a yaml bundle of the Product table. We decided during sprint 1 review that this work should be offered to the FoodKeeper team, another subgroup of our Capstone class.

During the last week, Dr. Budge, after a series of emails, led me down the right path for what we will need to do over the next 2 springs. We are responsible for the data in 2 tables (collections on MongoDB), QuestionnaireSubmission, and GuestRepositoryEntry.

Our sprint’s work should probably have been more focused on design than it was. With people new to Agile/Scrum and some of the underlying technologies we are using, in retrospect, it is clear there were mistakes in our process we will learn from. I think the main message is that until a design is cast in stone, then any technical efforts afforded to the project before the design is solidified should be considered as disposable.  

As a team, we spent a lot of time considering our methods for testing what will be written. At first, it seemed that best approach was to use swagger preview to test the API, given that the backend wouldn’t be in place yet to test with actual “curl HTTP … “calls.

It has now become clear that we really need a new Epic to fully system test the project. W\Three members of the group have built Android Studio and/or Visual Studio Code version of the NEST application itself. The new Epic could outline the work necessary to make a test version of the NEST app to do the actual calls. This will dramatically help the team that will be working on the NEST app next fall.

I have decided that I will relinquish my role as scrum master for sprint 2, which will give another team member a chance to gain experience with this job.

From the blog cs@worcester – (Twinstar Blogland) by Joe Barry and used with permission of the author. All other rights reserved by the author.

First Sprint Retrospective

Christian Shadis

2/26/2022

This past week, my development team in my Software Development capstone completed our first Scrum sprint for the semester and recently had our Sprint Retrospective meeting. This was my first exposure to an Agile development environment, and thus I have many thoughts about the experience. In this post I will review my own contributions to the project, reflect on the team dynamics, and critique my own contributions and suggest strategies to improve my work in the next sprint.

The sprint got off to a rocky start since none of the six of us had worked in a Scrum environment, nor worked with Gitlab issues and boards, but we settled in quickly enough to complete nearly all the work we set out to for the three-week period. The most difficulty we had as a team was with the process of branching and merging – we had multiple instances of changes being made on main instead of in the branch and had a surplus of merge conflicts to deal with due to pushing outdated code to the main branch. Our difficulties can be attributed to lack of experience, but as a team we were able to overcome these difficulties quickly, and by the end of the semester had a much smoother process in place for merging code into the main branch.

As a team we communicated efficiently and were able to help each other with issues when needed. We divided work evenly such that no team member worked significantly more or less than any other member. We were also effective in the work itself, as nearly every issue agreed upon during the Sprint Planning meeting was completed.

The team has agreed to implement numerous changes in our workflow for the upcoming sprint. We have re-structured our merging process to make updating the main branch as seamless as possible: instead of approving changes to the code during class time, we will instead transition to having two team members approve any merge request before merging it. This will help prevent logjams of merge requests and will allow us to better utilize our in-class meetings. We also agreed to work on improving the efficiency of our standup meetings. In the previous sprint, we would often get sidetracked during the standup meetings and talk about code that was written or have discussion about implementation – we have resolved to instead keep the standup meeting as concise and focused as possible and hold all other discussions afterward.

I contributed to the team by creating the Documentation repository in the Foodkeeper group and populating it with the necessary files (https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/food-keeper-backend/-/issues/1), by creating the index file in the API repository (https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/food-keeper-backend/-/issues/24), and by creating the schema for the Category of a data point (https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/food-keeper-backend/-/issues/6). I also wrote several files of code for Issue 17, which wound up not being implemented (see below for further explanation).

There are several improvements I can make as an individual as well. I noticed my shortcomings in keeping the issue boards organized: I often forgot to move issues between labels, and at one point unassigned myself to an issue I had already completed yet not merged (Issue 17 mentioned above), causing a waste of time when another team member picked up and re-completed the issue. Keeping my own issues organized, properly labeled, and assigned is important to the overall function of the team.

I would consider the sprint successful overall. We had some rough patches in the beginning, but our team excelled at addressing problems as they came up. We are also producing work that all of us can be proud of. I am looking forward to the next sprint and further improving my capability of working in an agile development team.

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 1 Retrospective

In this sprint I was working with a team of 6 individuals. With this group we decided to split into two teams, 3 people to work on the frontend and 3 people to work on the backend. During this sprint I was a part of the team working on the frontend.  Throughout the duration of the sprint, I found that this team dynamic worked well. This allowed us to divide up the work and conquer it as two individual teams. I feel if we were all working together and grabbing any task, this would have caused mass confusion and the likely hood of less work getting done. From a frontend perspective, I think having 3 team members to work on the frontend was the correct amount. I say this because in our repository we were working on mainly three different files. These files were our App.vue, id-input.vue, and register-form.vue. Due to this coincidence, we were able to give everyone a separate file to mainly work on.

In this sprint I only could find one thing that didn’t work well. This was assigning roles to current issues in the sprint backlog. With assigning roles, I found that a lot of old issues were left over from the previous class that were still assigned to them. I found this frustrating at first due to me not know my teams profile pictures and thinking they had assigned themselves to that role. Once I figured out their profile pictures that part of the issue subsided. However, I found that with my team as well every once and a while someone would assign themselves to an issue that I had already begun working on. This kind of issue could cause issues later down the road because if they were to push code like mine but different at the same time as me, it could affect the code.

Something that we could improve on as a team is switching up the team dynamic. I only say this as I know that the backend team has much more work to do then the frontend team. When we first started the sprint, the frontend was in okay shape. This being that we had files that were somewhat working, and we had issues that we could easily identify. With the backend however, they were given files and containers that were not working at all. At the end of this sprint the frontend team was able to have get all forms working for the most part and able to set up CSS styles. With the backend team they made great strides in getting the backend to work, but they still have got a lot on the product backlog. If we were to switch the team dynamic to 2 on frontend and 4 on the backend, I believe this would give the extra manpower to get a fully functional backend with rabbit mq.

From an individual perspective I believe I could improve on my commits. I am very prone to committing a lot of non-important commits. I feel as though I should try in this sprint to try and limit how many commits I send to the branch before my issues from the sprint backlog have been finished.

Sprint Commits:

Add Frontend image to Docker Compose: https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfofrontend/-/commit/1edd0dd2761c6eca6b2658ac84b8ad9a9a0a6c8f

Update form on main branch: https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfofrontend/-/commit/ca34a3f3d27dc958472fa556d4ab210d0afa656b

Form update to newer form: https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfofrontend/-/commit/ca34a3f3d27dc958472fa556d4ab210d0afa656b & https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfofrontend/-/commit/3d6e549feb1088c5704509b31d62a2d4d6f5a9e0

Fixed Submit Button on Register Form: https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfofrontend/-/commit/78c425fbaa3a2db3dafb4ba383e31aeb86709c7b

Allow Data communication between Register-Form.vue and id-input.vue: https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfofrontend/-/commit/93497903597726c44fb8aa5a662d8fdad0343151 & https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfofrontend/-/commit/9ccc74f09d3e5687b06d6752a0efcb17b90a81a7

Changed idnum from this.props to method call upon form creation: https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfofrontend/-/commit/131ab93c5f000b742052db31d0ff5aba95772223

From the blog CS@worcester – Michale Friedrich by mikefriedrich1 and used with permission of the author. All other rights reserved by the author.

Sprint 1 – Retrospective

During this sprint, team one performed extremely well. Despite being a new team that is completely new to this project, everybody did their best to be as productive and cooperative as possible. I thought that the team operated efficiently and worked as a unit. We were able to come up with great methods to communicate, find issues, divide the labor, as well as a method to review and approve completed tasks. In the end we managed to finish the vast majority of our tasks and we are already preparing for the next sprint. Personally, I thought I did well during this sprint as well. I completed all of the tasks that I assigned myself, and I found the time afterwards to help my teammates with any issues that they were having with their tasks.

With that being said, we did struggle as a team trying to understand what the project was about. Most of the files in the project had little to no functionality, and the backend was basically missing. The backend was only a skeleton with placeholder files. The only things were able to do during this sprint was moving files around for organization purposes as well as spend time trying to understand this project. I personally had issues trying to understand how the architecture works as well as what some things do like RabbitMQ for example. I also thought that spent too much time with my tasks than I should have especially when considering how easy they were. Most of my tasks were just creating new folders and moving files into them.

I think our team has a lot of room for improvement. For starters, I think we need to spend more time during the planning phase of our sprints to fully flush out what we want to do and how we want to do it. For this sprint, we all had an idea of what we were doing, but I felt like we did not use Gitlab or Discord effectively to plan or communicate as we could have. Another area that I think the team could improve on is appropriately allocating the amount of time it takes. I did the most the tasks during this sprint, however, all my tasks combined took less time than some of the issues that my teammates were working on despite their issues having the same amount allocated to them as any of my issues.

I also had a lot of room to improve as an individual. For example, I could have spent more time outside of class trying to understand the project. For the future, I’m going to put in way more time outside of class trying to make sure that I am prepared. Another area that I would like to see myself improve is coming up with as well as creating better issues. I thought that the tasks that I came up with and created were too repetitive and minor. For the next sprint, I want to create and work bigger, more relevant tasks. Other than that, I thought that this sprint went well, and I look forward to the next one.

List of issues that I worked on:

Issue Community#59: I created the Documentation repository

Issue Community#60: I moved files from general to the Documentation repository.

Issue backend#3: I created src/endpoints folder in the backend.

Issue backend#4: I created src/data folder in the backend.

Issue backend#5: I created src/lib folder in the backend.

Issue backend#6: I move items.js into src/data in the backend.

Issue backend#7: I move endpoints.js into src/endpoints in the backend.

Issue backend#8: I move config.js into src/lib in the backend.

Issue backend#9: I move database.js into src/lib in the backend.

Issue backend#10: I move logger.js into src/lib in the backend.

Issue checkoutguestfrontend#3: I created src/id-input-field/assets and src/id-input-field/components folder to aid with organization.

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

Sprint 1 Retrospective

With the end of my first ever sprint experience, I would like to reflect back on what worked, what didn’t work, and what changes could be made. To be honest, I felt like we were kind of just thrown into the first sprint with little time to prepare, but as the sprint progressed, my team ended up getting the hang of it. As a team we managed to create enough issues to work on throughout the sprint and everyone took up different issues to work on. We were swift to approve merge requests and review other members’ changes, so I think we worked efficiently on that part. 

As for me individually, I took on three issues, all of them involving the rearrangement of the file structure for each of the frontends. Issue #3 involved refactoring the file structure of checkInventoryFrontend where I based it off the MicroServices example. Issue #4 involved refactoring the file structure of addInventoryFrontend where I based it off the MicroServices example. Issue #6 involved refactoring the file structure for CheckoutGuestFrontend where I based it off the MicroServices example. I didn’t have much of a problem with them, as they were not complicated to complete.

As for what didn’t work well, overall, I think we as a team spent a lot of time trying to understand what everything was supposed to do. From each of the frontend to the backend, there was basically nothing implemented nor functional. I think because there was the daunting task of having to create the inventory system from the ground up, I had trouble actually picking out what needed to be done for this sprint. That aside, we managed to dedicate this sprint to preparing the files for implementation so that we would be able to start working in the next sprint.

As a team, I think we were able to come together and get work done. Some of the members of my team are people I have yet to work with, but there was no issue there. I am happy that I was able to help a fellow teammate resolve an issue they were having with the API. Aside from that, there was not much else communication between teammates during work periods as everyone was focusing on more individual tasks. This first sprint was more focused on the housekeeping tasks so there wasn’t much need for collaboration in the first place. I think in the next sprint, we will be able to greatly benefit from more communication and asking for help when needed. 

What I can improve on individually is to come up with more meaningful issues. This last sprint, I only created a handful of issues, all of them involved creating or moving files around. Now that this coming sprint will be more hands-on, it will give me a chance to come up with more specific issues, focusing on parts of the project that need to be implemented. I would like to work more efficiently, finishing issues within their estimated weight time. Overall, I am looking forward to the next sprint now that I have an idea of how the entire sprint process goes.

From the blog CS@Worcester – Null Pointer by vrotimmy and used with permission of the author. All other rights reserved by the author.

Sprint retrospective #1

To start off, our first print went very well. Our project for this class is
the LibreFoodPantry Identity and Access Management System. Our main goal in
this sprint was to get familiar with Keycloak and learn how to implement it and
also building a small API. The issue that was created for Keycloak and what I
did researches on are “Keycloak authentication”, which had a weight
of two and “Deploying Keycloak on AWS Kubernetes” which had a weight
of two as well based on the time it took to do research and find good resources
to help us move forward with our projects.

In our team, we decided to divide and separate tasks. It was actually a way
for us to do multiple tasks at the same time and go forward with the plan. So,
Mike and Lena started working with frontend and backend, then with API after,
George who was the scrum master, took care of managing everything, handling the
whole group, creating documents. I and Andrew did researches on Keycloak and how
to implement it. Even though we all had our tasks to do, we were also able to
help others in case of need.

Doing research seems an easy task, but in reality, it is not. When I started
first doing research on Keycloak authentication, I had a lot of different links
but it was hard for me to find one that had the exact information that me and
the group were looking for. Not saying that there were no good links but Keycloak
is pretty broad and I had to do a lot of research and dig in to find good ones.
One of my mistakes here was that I was trying to find good links, good articles
and completely neglected the side of watching videos. Then, with a couple of
videos I have been able to understand and find good resources that I shared
with the group.

Looking to my personal achievement and work, I want to improve the way I
share my thoughts with the team. I barely created issues during the first
sprint planning, and was not really involved in sharing my ideas and opinions. I was
contributing to the conversations but never putting anything visual on GitLab
as a proof of my contribution. So, for the next sprint, I decided that I will
be more involved and put up my work to show my contribution to the group.

Looking at the team work, we did an amazing job working together on our
first sprint. We all listened to each other, everyone felt comfortable talking
and sharing their ideas. Also, everyone put a good effort and got the work
done. But one thing I think we need to work more on is the communication among
us out of class. Having a little time of communication did not make the first
sprint planning easy. We were all working on our tasks and talking about it
just in class either on Mondays and Wednesdays. So, organizing ourselves and
try to find a time for all of us that works and schedule weekly meetings out of the
class so we can talk more about the project, our tasks and express whatever
thoughts, opinions and questions we have at the moment will be very helpful. And, we
can meet via zoom or discord voice channels and talk more about the project.

The two issues that I worked on:

Keycloak authentication: https://gitlab.com/LibreFoodPantry/common-services/identity-and-access-management-system/general/-/issues/1

Deploying Keycloak on AWS Kubernetes: https://gitlab.com/LibreFoodPantry/common-services/identity-and-access-management-system/general/-/issues/5

From the blog CS@Worcester – Gracia's Blog (Computer Science Major) by gkitenge and used with permission of the author. All other rights reserved by the author.

Sprint 1 Retrospective

Overall, with my work on the issues listed below, I think that the methodology of using the GitLab boards worked really well for us as a team, allowing us to pick which issues we personally wanted to tackle and notify everyone of what was currently being worked on. I also think that the methodology that we figured out as a group of requesting someone to check over our commits before we merged the branches worked really well.

Overall, I just don’t think we had a handle on the project when we made the first set of issues, so a lot of them were undefined and others really had no purpose. Our first sprint had no real direction and was just a bunch of random issues that we thought we had based on random comments in the code and what we thought should be done. This lack of direction, I feel, really hurt our productivity as we were focusing on things that had very little to do with each other and were just in there as things that could be done to grab some extra time units that it seemed like we needed. I also don’t think we communicated enough over the course of the sprint as to what everyone had done, which caused a bit of confusion. I also felt like I personally didn’t do as much as I would’ve liked, as some of my issues fell flat and left me feeling like I hadn’t contributed as much as I would’ve liked. The biggest issue we ran into on the technical end was the fact that our backend had almost no functionality at all, and needing a backend in order to properly try out and work on frontend behavior really put a damper on the amount of progress that was possible for us.

To improve our team issues I think we just need to flesh out what we need to do as a group, in order to fully grasp the scope of our sprint and what functionality the project needs as a whole. We also need to flesh out how we want to handle organization in terms of the file hierarchy and structure within the repos, as well as a proper naming system. These issues would be easily possible with a refactor I think. This first sprint was really a trial run, in my opinion. We are slowly figuring out and narrowing in on what needs to be done to get this thing working and finding examples to go off of to start to create some real functionality.

As an individual, I think I need to communicate more with the group and see if anyone else needs help, I guess so far I haven’t felt like as much of an active member as I would have liked. I also need to be less rigid about issues and not feel like I can add them as they come up because sometimes I feel like I shouldn’t add things to a sprint that is underway because of the seeming rigidity of SCRUM. There are things that can be done and issues that can be added or modified over the course of the sprint, at least I think there should be. I just need to let go of my personal hangups with SCRUM in order to work more effectively with the team. That and manage my time better, as this sprint, I kind of dropped the ball.


Issue #17 This issue represents work done by Sebastian and I trying to figure out how the backend worked, and our conclusion that it needed to be completely rewritten

Issue #62 I added dev containers to each of the repos of the project, however they may need to be updated as we go.

Issue #16 This was abandoned after figuring out that the file the comment was part of was just copy-pasted as a placeholder.

Issue #15 This was also based on a comment about a file being used as a test, I moved it to its own folder but have determined it has no functionality, but we will keep it around just in case we need some of the code.

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