Category Archives: Sprint-1

Sprint 1# Retrospective

 Hello!

 

This week marks the first week of sprint 2 proper, and as such I’ve been tasked with writing about my experiences with sprint 1.

First of all, I implemented RabbitMQ on the inventory backend, which took a while for me to accomplish simply because most of what we are doing in this class is so new to me. I’ll have a link to the merge request at the bottom of the page.

I think our group functioned pretty well during our class meetings, there isn’t that much I would change really. We were productive, everyone was super open to helping each other solve problems, and we laid out the plans for the sprint pretty effectively. 

I think in terms of things that didn’t go very well, I was having a ridiculous amount of problems setting up Visual Studio, and making the backend work. I should be through most of the problems now, (in theory), but during most of the setup process I was unable to build any of the frontends or the backends, which completely halted any progress I could have made early on, though it did give me a chance to read some documentation, and familiarize myself with the backend, so I suppose it wasn’t all bad.

Some things I need to work on going forward is my time management skills, as near the end of the sprint I was rushing to make all of my code work, which was very stressful. Had I managed my time better, this wouldn’t have happened, and going forward I am going to work on improving how I spend my time this sprint. 

Some things that we could work on as a group though, and even now I’m still seeing parts of this problem at the outset of sprint 2, is the fact that not everyone is checking the discord consistently, myself included. Part of the reason why I was so hesitant to join in on discussions in the discord chat was because I was everyone seemed like they already knew what they were doing, and I felt a little silly with some of the problems I was having. I am actively trying to do better, and I am regularly checking the discord and trying to vocalize my questions, but not everyone is online all the time, which makes getting them answered in a timely fashion difficult.

As for which apprenticeship pattern most aligned with this sprint, I would have to say the white belt is pretty spot on. While the context isn’t super relevant (I don’t think anyone called on my expertise), I was pretty consistently facing the problem on educating myself about RabbitMQ and Javascript, both of which I have no prior experience with. Not to mention I was almost in denial about my lack of learning, and for any trouble I was having, the blame was placed on the course load, not me, which isn’t very true. The white belt apprenticeship pattern centers around being willing to unlearn old skills if they are stopping you from effectively learning new ones, which I think was pretty relevant during this sprint. While I don’t think I would have unlearned all of my experience in Java had I read this pattern during the sprint, I think it would have tempered my expectations as to how quickly and easily I would be learning new skills. Learning Java was fairly pain free, but being under a time crunch and being forced to learn a bunch of new skills, it certainly would have been nice to have some idea of how the learning process was going to go.

 

As promised, here is the merge request I generated for this sprint:

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

 

 

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

Sprint 1# Retrospective

 Hello!

 

This week marks the first week of sprint 2 proper, and as such I’ve been tasked with writing about my experiences with sprint 1.

First of all, I implemented RabbitMQ on the inventory backend, which took a while for me to accomplish simply because most of what we are doing in this class is so new to me. I’ll have a link to the merge request at the bottom of the page.

I think our group functioned pretty well during our class meetings, there isn’t that much I would change really. We were productive, everyone was super open to helping each other solve problems, and we laid out the plans for the sprint pretty effectively. 

I think in terms of things that didn’t go very well, I was having a ridiculous amount of problems setting up Visual Studio, and making the backend work. I should be through most of the problems now, (in theory), but during most of the setup process I was unable to build any of the frontends or the backends, which completely halted any progress I could have made early on, though it did give me a chance to read some documentation, and familiarize myself with the backend, so I suppose it wasn’t all bad.

Some things I need to work on going forward is my time management skills, as near the end of the sprint I was rushing to make all of my code work, which was very stressful. Had I managed my time better, this wouldn’t have happened, and going forward I am going to work on improving how I spend my time this sprint. 

Some things that we could work on as a group though, and even now I’m still seeing parts of this problem at the outset of sprint 2, is the fact that not everyone is checking the discord consistently, myself included. Part of the reason why I was so hesitant to join in on discussions in the discord chat was because I was everyone seemed like they already knew what they were doing, and I felt a little silly with some of the problems I was having. I am actively trying to do better, and I am regularly checking the discord and trying to vocalize my questions, but not everyone is online all the time, which makes getting them answered in a timely fashion difficult.

As for which apprenticeship pattern most aligned with this sprint, I would have to say the white belt is pretty spot on. While the context isn’t super relevant (I don’t think anyone called on my expertise), I was pretty consistently facing the problem on educating myself about RabbitMQ and Javascript, both of which I have no prior experience with. Not to mention I was almost in denial about my lack of learning, and for any trouble I was having, the blame was placed on the course load, not me, which isn’t very true. The white belt apprenticeship pattern centers around being willing to unlearn old skills if they are stopping you from effectively learning new ones, which I think was pretty relevant during this sprint. While I don’t think I would have unlearned all of my experience in Java had I read this pattern during the sprint, I think it would have tempered my expectations as to how quickly and easily I would be learning new skills. Learning Java was fairly pain free, but being under a time crunch and being forced to learn a bunch of new skills, it certainly would have been nice to have some idea of how the learning process was going to go.

 

As promised, here is the merge request I generated for this sprint:

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

 

 

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

Sprint One Retrospective

Retro

This first sprint was a deep dive into new territory. Our team focused on understanding our project, setting up the proper tools and environment, and managing challenges as they arose. We have created a working agreement, completed multiple issues on GitLab as individuals and as a team, and we have ensured collaboration was a priority throughout each task.

GitLab Activity:

  • README.md – Updated the README document for our GitLab group to detail the major goals of our project.
  • Docker Compose Watch Documentation – Drafted documentation for Docker Compose Watch for possible use for CI/CD later on

Our team dynamic has been great from the beginning with a strong working agreement in place from day one being we were able to focus on the work getting done without worrying about team cohesion. We were able to complete a lot of research during this sprint to gather information about Docker and its many variants, NGINX, and CI/CD options. This research was turned into details documentation within our GitLab group. We worked successfully toward solving problems like issues with debugging Docker Containers, using SSL certificates properly, and scheduling our tasks based on priority. Overall, flexibility in our team has been vital and we have adapted to any challenges that we have faced.

I believe we have already learned a lot through our research and time spent of digging around in the server for answers, but we can still work toward improving our outcome by approaching our research differently and ensuring we have a clear focus on what we want to accomplish. Personally, I plan to improve my work by improving my time management regarding troubleshooting/research because sometimes I can find myself down a rabbit hole and working to ensure that all of my teammates and I are on the same page through clear communications.

Apprenticeship Pattern: Retreat into Confidence

“Retreat into Competence” is a strategy for regaining confidence when feeling overwhelmed by complex challenges. It involves stepping back into an area of expertise before pushing forward again. The key is to avoid staying in the comfort zone for too long and instead use the retreat as a way to launch forward with renewed energy. During this sprint, there were moments of troubleshooting that felt a bit discouraging, particularly with Docker and SSL certificates, where progress seemed a little slow and confusing. The feeling of being stuck highlighted the need to step back into something familiar—whether it was revisiting basic Docker configurations or focusing on smaller, more manageable tasks like completing documentation on GitLab—before tackling the larger issues again. Had I known about this pattern sooner, I would have structured my work differently to maximize results. Moving forward, I plan to:

  • Time box troubleshooting sessions to avoid going down the rabbit hole
  • Focus in my research to ensure that the resulting information is useful to our project
  • Seek help from teammates during moments of need
  • Ensure that I am still completing the smaller tasks that can be completed while working on larger issues

This sprint was a valuable learning experience in both technical and team collaboration aspects. While challenges arose, the team adapted, and I gained insight into how to manage difficult situations more effectively. By refining research strategies, improving troubleshooting workflows, and applying patterns like “Retreat into Competence,” I can optimize future sprints for even greater success.

From the blog cameronbaron.wordpress.com by cameronbaron and used with permission of the author. All other rights reserved by the author.

Sprint 1 – Retrospective Blog Post

Evidence of Activity on GitLab

Reflection on What Worked Well

We planned some meetings outside of class, both of which went decently smooth. Our in class meetings were very productive and helped to set the goals for the week and keep expectations at a reasonable level. I believe that the way we split the work allowed me to focus wholly on my parts and succeed.

Reflection on What Didn’t Work Well

We didn’t end up tracking our work on this project correctly. There is work done that didn’t make it to the gitlab. Also there wasn’t a lot of using gitlab’s tools for tracking projects the way it was intended. Also some communication is getting lost between teammates.

Reflection on Improvements as a Team

I think the issues I addressed with gitlab are not too hard to fix, we just need to meet up and talk out our vision for the project. The communication issue is probably going to be harder as one group member has so many new ideas that sometimes the plan they have has changed from what was last discussed and that leads to some confusion.

Reflection on Improvements as an Individual

I personally have issues confronting people directly when it comes to ideas that I have issue with. For example, I have said before that our group should not make promises about features that aren’t explicitly in our project’s goal. I believe that the time for extra pieces that aren’t mission critical is after a viable product is finished. During a meeting with the client a teammate made a promise on a feature that wasn’t in the specifications originally. I had previously told this teammate this fact and that it was going to add more work to a project that we were already a bit behind on. Despite this communication happening, with no heads-up to the rest of the team this teammate promised to the customer that feature would be there. This upset me a bit but I can’t seem to find the courage to step up, say how I feel, and put my foot down on this issue.

Apprenticeship Pattern: Practice, Practice, Practice

Summary: If all the work you are doing requires 100% best work then find the time to practice on your own, in an environment you can make mistakes in.

Why I Selected This Pattern: I have rather high levels of anxiety when it comes to my work that others see. Instead of just the main branch being the stage where everything needs to be perfect, I saw everywhere I put any code to be a place requiring my maximum effort and best possible work.

How This Pattern Changed My Behavior: I read this chapter and because of it I made a personal repo and, from scratch, mirrored the work I was going to do in the team repo in that private repo first. It took me hours, but once I had a grasp of things I went into the team repo and it was much easier to crank out my work because I had a much more stable foundation to work from.

From the blog Coder's First Steps by amoulton2 and used with permission of the author. All other rights reserved by the author.

Sprint 1 Retrospective

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem-category-based/frontend/-/blob/WEB-APP-FRONTEND/src/frontend/src/components/UPCScanner.vue?ref_type=heads

This is a link to the UPC scanner component that I recently implemented.

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem-category-based/frontend/-/blob/WEB-APP-FRONTEND/src/frontend/src/layouts/MainLayout.vue?ref_type=heads

This is a link to the Main Layout for the Web App, this is essentially the homepage.

Reflection on What Worked Well

One of the biggest strengths of our team has been our ability to delegate and handle specific tasks effectively. Each team member has taken ownership of different aspects of the project, whether it’s the frontend, backend, or database. This clear division of work has helped ensure that progress is made across all areas of the application. Since I am working on the frontend, I have been able to focus on designing and implementing the UI while relying on my teammates to manage the backend and database.

Reflection on What Didn’t Work Well

Despite our strong ability to divide tasks, one area that has posed challenges is communication. There have been instances where misunderstandings or lack of updates led to delays in task completion. Additionally, not all tasks have been finished in a timely manner, which has put extra pressure on certain aspects of the project. This lack of synchronization has occasionally resulted in blockers, where one team member is waiting on another’s progress to move forward.

Changes to Improve as a Team

To enhance team efficiency, we need to establish better communication channels. This could include:

  • Holding short daily stand-up meetings to discuss progress and blockers.
  • Setting more reasonable due dates that account for individual workloads and unexpected obstacles. By implementing these changes, we can reduce miscommunication and ensure that tasks are completed within a reasonable timeframe.

Changes to Improve as an Individual

On a personal level, I recognize that I can make improvements by:

  • Checking in with my teammates more frequently to see if they need help with their tasks.
  • Setting personal deadlines to ensure I complete my work on time.
  • Being more open to suggestions and feedback from my team, as collaboration often leads to better solutions. By making these adjustments, I can contribute more effectively to the team and help ensure the overall success of our project.

Apprenticeship Pattern: “Be the Worst”

Summary: This pattern emphasizes surrounding yourself with more skilled individuals so that you can learn and improve at a faster rate. By putting yourself in challenging situations where you are not the most knowledgeable person in the room, you can grow and develop your skills through observation and experience.

Why I Chose This Pattern: During this sprint, I have noticed that I can learn a lot from my teammates, especially in areas I am less experienced in, such as backend development and database management. Rather than just focusing on my own tasks, I want to take the opportunity to learn from their expertise and improve my overall skill set.

How This Pattern Would Have Helped: If I had adopted this mindset earlier in the sprint, I would have been more proactive in asking questions and seeking guidance from my teammates. This could have helped me avoid certain mistakes and speed up my development process. Moving forward, I will embrace this approach to accelerate my learning and become a more well-rounded developer.

From the blog CS@Worcester – Software Dev Capstone by Jaylon Brodie and used with permission of the author. All other rights reserved by the author.

Sprint Retrospective 1

Throughout the first sprint there were many learning experiences earned, and a great amount of progress was completed for our server. For a first sprint together as a team, I would say we did very well overall; and the second sprint will only be better. What we did best overall in the first sprint, was completing our manageable goals. In our initial sprint planning, I felt that we set attainable and workable goals. These goals were met by all members of the team in some capacity, demonstrating an equal workload across the team. We were very transparent in our communication, and our communication was frequent and on-topic. It felt that we were very efficient in coming to decisions and working towards a greater goal. I spent my time doing three major tasks; setting up and testing Thea’s Pantry on the server, researching Docker volumes and coordinating with Gio of team 2, and troubleshooting SSL certificates to allow the back-end and front-end to connect without an HTTPS error. 

What didn’t work well in the sprint was our lack of knowledge going into it. Our team in particular is charting entirely new ground, which requires us to learn a good deal before moving anywhere with our project. We also ran into a major issue quite early (SSL error above), which sidelined any progress with Thea’s Pantry on the server. We were able to overcome most of our obstacles, and prepare for an even better sprint two, but there was a rough start with the freshness of the material and our inexperience running sprints. 

As a team we could better work independently, as that is our main drawback. We had very little issues communicating, planning, or working; but most work was done as a group and we pooled our brains into individual issues. This slowed us down, and although we reached many of our goals, had we worked more independently we may have gotten through more. This is something we can improve for sprint two, and be more efficient with. As an individual I could better deal with frustrating issues. I got quickly discouraged by major issues that I could not solve, most notably with our SSL errors. My inability to switch tasks held me back from one of my sprint goals, because I was determined to solve an issue that I did not have all the tools to solve. I could also better document my work, as going into this retrospective I realize that outside of completed issues there is very little documentation of what I had done. 

The apprenticeship pattern that best describes my work in this sprint is Confront Your Ignorance. This fit because the work done with the staging and deployment server is something entirely foreign to me. To be able to approach the work, I had to swallow my pride and confront that I know nothing about the topic. And to improve that I did research throughout the sprint to better understand how to make progress. Reading this pattern allowed me to reconceptualize my lack of knowledge into an opportunity.

My tasks:
https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/deployment/gitlab-profile/-/issues/6
This was my first task in the sprint. I installed docker and docker-compose on the server, and got Thea’s Pantry running on our server. I have since tweaked our compose file and have been working on getting the back-end and front-end to connect on the server.
https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/deployment/gitlab-profile/-/issues/16
Most of my sprint was spent tackling the issue of SSL certifications for our server. I made progress in getting a self-signed certificate to bind to the IP, but I could not access the index file to allow the front-end to work with the volumes used for the nginx config and certs.
https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/deployment/gitlab-profile/-/issues/4
Here I made a minor contribution in establishing how we should go about implementing CI/CD, I researched how we could make it work and presented it in class. In the future I plan to implement a Python script to aid Andrew in this task.

From the blog CS@Worcester – WSU CS Blog: Ben Gelineau by Ben Gelineau and used with permission of the author. All other rights reserved by the author.

Sprint 1 – Lackluster

Hoo boy, where do I even begin with my experience for the Sprint…

If I am to be honest, I felt like I didn’t contribute anything to this current sprint. At every angle I either was either unable to receive a task to do, or when I was, I failed to meet said task or it was taken over by someone else.

Do not get me wrong, I don’t want to blame my teammates at all, in fact, I feel as though my teammates have been quite supportive. But at times, I felt like our communication and divvying of workloads could be a bit better. I also want to admit, because of my other courses, I have been scrounging for time for working on this one, so whenever I have had a task, I’m unable to put a solid dent into it.

If I had work to show, I would absolutely show it here. But in all honesty, most of what I’ve done has just been helping others whose work I am unsure of as to where it is on GitLab, or if it has even been pushed yet. I’m aware that you have been pushing us to use all the features it contained, but we have yet to do so. The one thing I can say I’ve done and show is setting up an issue board for me and Jaylon on the Frontend, which I have been the only one to utilize thus far: https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem-category-based/frontend/-/boards

The other few tasks I was given, were as follows, and the reasons I wasn’t/didn’t do them is also listed.

  • Create a Mock-up app for the scanner: Project was taken over completely by Jaylon.
  • Implement a camera view into the web app: Also taken over completely by Jaylon.
  • Download and inspect a MongoDB by OpenFoodFacts (https://world.openfoodfacts.org/files/api-documentation.html): Rendered useless by Marlon, who found something better as I was in the process of de-compiling the DB.
  • Creating a README, and verifying our licenses: Small tasks that I honestly have no excuse as for why I haven’t done them. I really should at some point, but I’ve bee so focused on more important homework with due dates.

That last part is absolutely a major reason I feel lost, not only just because there’s a lack of communication and task distribution, but the lack of due dates for things makes me have no sense of urgency nor motivation, which is hard to generate for someone such as me with ADHD. Its no excuse of course, but it is absolutely a factor at play.

If I were to choose a pattern in specific from Apprenticeship Patterns, I would likely choose “Find Mentors” from Chapter 4. It discusses going down avenues not knowing where to turn to or what to do, even though it is a path others are treading. I feel as though this is a perfect summary of my situation during this sprint, and is something I will keep in mind going forwards in the next. Perhaps I should work a bit more closely with my Professor, and see if he has knowledge to imbue or assistance to give. I have already seem to have found a niche for this next sprint, with the design of our web app, so hopefully that ends up going much more swell that this week did.

If I were to say something positive about my team, however, I feel like when we meet up and work together, we are very strong and capable. It’s clear to me that everyone cares not only about our project, but each other. I have felt bad every time I end up late or absent from courses, as I feel like I am unable to contribute to this positive work effort our team is pushing. Hopefully in the future I can improve and build upon this, and make our teamwork even stronger.

Here’s hoping that the next Sprint goes a lot better!

From the blog CS@Worcester – You're Telling Me A Shrimp Wrote This Code?! by tempurashrimple and used with permission of the author. All other rights reserved by the author.

Sprint 1 Retrospective blog

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

This is the link showing merged changes into main branch after testing. During this sprint, our team collaboration was strong, with regular meetings during class checking on our progress and open communication that helped us stay aligned. Additionally, our task management system in GitLab was highly effective, helping us track progress and ensure that every team member had a clear understanding of their responsibilities. Another success was our ability to quickly adapt to challenges. When any of my teammates encountered any problems, we worked together to identify solutions and implement fixes efficiently. This adaptability was important in maintaining our project’s momentum and meeting our sprint goals. Despite the successes, there were areas where I struggled. One significant challenge was time. Some tasks took longer than anticipated due to unforeseen problems, particularly when dealing with the display of the First Entry Date in the frontend. I made some changes in the GuestInfoComponent.vue and at first it wasn’t displaying the entry date. With more research, I figured I also had to make changes in the VerifyPage.vue file. With these changes, my Date of first Entry was displayed after making my changes. Looking ahead, there are several ways our team can improve. One is better estimation of task complexity, where tasks can be broken down further and allocate time for unexpected challenges. Reflecting on my own contributions, there are several areas where I can improve. One is time management. Allocating more time for testing will help ensure deadlines are met more comfortably. This I would say is something I am going to do better at in the next sprint, as I believe it will help enhance my own skills as a developer.

The Apprenticeship Pattern I chose is “Expose your Ignorance” pattern which encourages developers to openly acknowledge what they don’t know and actively seek knowledge. Instead of pretending to understand everything, developers should ask questions, collaborate with teammates, and use resources to expand their expertise. I chose this pattern because it closely aligns with my experience during this sprint. When working on merging my work to GitLab after I had completed my issue, I struggled with this and came across many blocks. Instead of immediately asking for guidance, I spent too much time doing it on my own. Eventually, when I reached out to a teammate, I realized how quickly I could have resolved the issue with just a simple discussion. This experience reinforced the importance of embracing learning opportunities rather than trying to figure everything out alone. Had I fully embraced this pattern from the beginning, I would have immediately sought help. This approach would have saved me valuable time and reduced frustration. Moving forward, I plan to be more open about my knowledge gaps, actively seek advice, and continue improving my problem-solving efficiency. This sprint was a valuable learning experience that highlighted both our team’s strengths and areas for improvement. While our collaboration and adaptability were commendable, we also identified opportunities to enhance efficiency and communication. On a personal level, recognizing the importance of seeking knowledge earlier will help me grow as a developer. By implementing these improvements, both individually and as a team, we can ensure even greater success in future sprints. I look forward to working on the next sprint and implementing more changes that will make this sprint easier.

From the blog CS@Worcester – Lynn'sBlogs by lynnnsubuga and used with permission of the author. All other rights reserved by the author.

Sprint 1

GitLab Activity

Install npm JWT Library and handle validation on Mock FE/BE issue – created a file called checkRole.js that as of moment takes a token and decodes it, however since Keycloak is not configured yet with the backend, checkRole.js is still not setup for the verification of tokens.

Reflection on What Worked Well

This sprint, I found that my ability to collaborate effectively with my team improved. We established a structured workflow using GitLab issues and merge requests, ensuring everyone was aligned. Team meetings and project reviews were also particularly helpful in maintaining quality and catching potential issues early. Additionally, I felt more comfortable with our tech stack, which allowed me to contribute more efficiently to the project.

Reflection on What Didn’t Work Well

One of the biggest challenges during this sprint was time management and managing expectations of fellow team members. Balancing multiple tasks while delivering high-quality work proved difficult, especially when unexpected issues arose. There were also moments when communication gaps led to duplicated efforts or confusion regarding task ownership.

Additionally, an unexpected bug related to the jsonwebtoken library took longer to resolve than anticipated, impacting our overall sprint velocity. I underestimated the complexity of debugging the issue, and this resulted in delays. Moving forward, I want to improve my debugging strategies by breaking down issues systematically and identifying potential causes earlier in the process.

Another challenge was that some tasks took longer than expected due to unclear requirements. There were times when I started working on a feature only to realize later that I had misunderstood part of the implementation. This led to rework and inefficiencies that could have been avoided with better clarification upfront.

Reflection on Changes to Improve as a Team

To improve as a team, we need to refine our communication and task allocation strategies. One possible improvement is assigning issues to members with clear deadlines and deliverables. This would help eliminate the need to check in constantly about each other’s progress and give everyone enough space to focus on their designated tasks.

Additionally, we could establish clearer guidelines on documentation and issue tracking. Proper documentation would minimize misunderstandings and ensure that we have a reference point if any team member forgets certain project details. This could be as simple as maintaining a shared document with important technical decisions, dependencies, and any issues we encounter.

Reflection on Changes to Improve as an Individual

On a personal level, I need to deepen my knowledge of the technologies we are using and strengthen my overall web development skills. Additionally, I must improve my time management and prioritization strategies to ensure more efficient task completion. Allocating time for debugging and testing earlier in the sprint would help reduce last-minute stress and improve the stability of our work. I also plan to dedicate time outside of sprint tasks to learn best practices and gain a more comprehensive understanding of our tech stack. Finally, I recognize the importance of seeking help sooner when I encounter challenges, as doing so will allow me to work more efficiently and avoid unnecessary delays.

Apprenticeship Pattern: “Be the Worst”

Summary of the Pattern

The “Be the Worst” pattern suggests deliberately placing yourself in an environment where you are the least experienced or skilled person. By doing so, you expose yourself to opportunities for rapid learning and growth by observing and working with more skilled individuals. While this can be uncomfortable, it forces you to improve and challenge yourself continuously.

Why I Selected This Pattern

I chose this pattern because, during this sprint, I often felt like I was struggling to keep up with some of my teammates who had more experience with certain technologies. Instead of being discouraged, I realized that this was an opportunity to learn from them and elevate my own skills. Their feedback and insights helped me refine my practices and problem-solving approach.

How This Pattern Could Have Changed My Behavior

Had I fully embraced this pattern earlier in the sprint, I would have proactively sought out mentorship and learning opportunities rather than hesitating to ask questions. Additionally, I would have taken more initiative in tackling challenging tasks instead of sticking to what I was comfortable with. Moving forward, I plan to embrace this mindset and view my inexperience as an advantage rather than a limitation.

From the blog CS@Worcester – The Bits & Bytes Universe by skarkonan and used with permission of the author. All other rights reserved by the author.

Sprint 1 Blog Retrospective

GitLab Issues

SSH Keys:

https://gitlab.com/Libre

FoodPantry/client-solutions/theas-pantry/deployment/gitlab-profile/-/issues/17

I research how to make ssh keys to make logging into the server easier. I created documentation on how and what commands to run to create the keys. Now everyone in the future can create keys to access the server in a safer manner. 

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/deployment/gitlab-profile/-/issues/4

Researched into how git pipelines work. I looked into the gitlab_ci.yaml files because that is what I thought we would need. But it seems we’re living in the direction of cron jobs for CI.

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/deployment/gitlab-profile/-/issues/5

Tested nginx serving the basic webpage on my browser from the server.

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/deployment/gitlab-profile/-/issues/18

Worked on trying to solve the SSL certificate problem with everyone else. 

Reflection

One of the things I think we did well as a team is making use of work class time. Often for our project we hit many roadblocks. We used the class time as a way to put all of our heads together to tackle a problem that was holding us all up. Especially in the first few weeks since I think we are all pretty new to this side of computer science. We would convene and help each understand things like docker-compose or port-mapping. Another aspect that I think we did well was our general attitude and teamwork. I think we were all willing to participate in the conversation and contribute. Though I will admit I was the quietest one. 

One thing I think we need to work on is gitlab issues. First, I think we need to split them up or maybe name them better. I think all of our issues are very broad so it’s hard to talk about what we did because there are so many layers to the issue. For instance, the SSL certificate implementation. It covers a lot of work and troubleshooting so it can be hard to talk about since work can change quickly. Maybe that’s the nature of our project, but I think it’s something we could improve on. On the same note for gitlab issues, you mention commenting on the issue so that it describes what we’ve done. I’m not sure if any of us have done that. And I’m not sure where to do it either. Some of the things I could work on for myself as an individual. I think I need to ask for help more often, either from my team or you. For when I’m stuck or I just need some direction on what to work on next. Sometimes it feels like I’m not doing enough

Pattern

The software pattern that I often talked about during the period of our spring was “Exposing Your Ignorance”. To summarize, in the software industry it is expected that we are professionals and are experienced in our area. However, that is not always the case. Especially for new apprentices like ourselves. It is important to accept that you do not know everything. So ask questions and swallow your pride to allow yourself to learn something new. I chose this pattern because I think we all were a bit inexperienced in this area, but for me especially this was very new. It felt some of this stuff I should have known or I wasn’t really all too familiar with it. Definitely never worked with it before. So very early on I had to accept that didnt much have much to learn as I went along. I read this pattern before the sprint, but I think it’s something I least thought subconsciously. I think it’s just something I incorporate into all aspects of my life. Skill and experience come from time and work. It’s impossible to know everything or understand everything at first. 

.

From the blog CS@Worcester – Code Craft by Kyle Tucker and used with permission of the author. All other rights reserved by the author.