During Sprint 3, I focused mainly on updating dependencies and improving the stability of the frontend in our LibreFoodPantry inventory system project. This sprint gave me hands-on experience with dependency management and understanding how different libraries interact in a real-world application.

Here is the evidence of my activity on GitLab during this sprint:

What worked well during this sprint was the ability to systematically update dependencies without breaking the application. I followed a step-by-step approach where I updated one set of dependencies at a time and tested the application after each change. This helped me quickly identify issues and fix them before moving on. I also improved my understanding of frontend tools like Vue, Vite, and Pinia, especially how they depend on each other.

However, not everything went smoothly. One challenge I faced was dealing with version compatibility issues. Sometimes updating one dependency caused another library to break or behave unexpectedly. Debugging these issues took time because the errors were not always clear. Another issue was that I initially underestimated how much testing was needed after each update.

As a team, we could improve by communicating more frequently about dependency changes. If multiple people update different parts of the system at the same time, it can create conflicts. Having a shared plan or assigning responsibility for specific updates would help avoid confusion and reduce duplicate work.

As an individual, I could improve by planning my work better before making changes. Instead of directly updating dependencies, I should first review release notes and check compatibility requirements. This would save time and reduce errors. I also want to improve my debugging skills so I can resolve issues more efficiently.

The Apprenticeship Pattern I selected is “Breakable Toys” from Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman by Dave Hoover and Adewale Oshineye. This pattern encourages developers to build small, experimental projects where they can freely make mistakes and learn without fear of breaking important systems.

I selected this pattern because it directly relates to my experience during this sprint. While updating dependencies, I was working on a real project, which made me more cautious. If I had applied the idea of “Breakable Toys,” I could have created a separate experimental setup to test dependency updates first before applying them to the main project.

This pattern is relevant because it promotes learning through experimentation. In my case, I learned a lot about dependency management, but the process was slower due to fear of breaking the system. Having a safe environment to experiment would have allowed me to explore more freely and understand issues faster.

If I had read and applied this pattern earlier, I would have created a separate test project or branch specifically for experimenting with updates. This would have reduced risk and improved my confidence. It would also have allowed me to try different solutions without worrying about affecting the main codebase.

Overall, Sprint 3 was a valuable learning experience. I gained practical skills in dependency management and improved my understanding of modern frontend tools. Moving forward, I plan to apply what I learned and continue improving both my technical and teamwork skills.

Posted in

Leave a comment