During the first sprint for my Software Dev Capstone project we encountered many problems and learned much about the software. Our group is working on the ReportingSystem aspect of Thea’s Pantry, which is a project that was developed by prior students. Our main goal was to refactor the project, but it seems as though we have much more to do than that.
When we first received the code, it seemed to be in working order. The more we dug into the project, the more it dawned on us that the ReportingSystem was either non-functional or difficult to run. As of completing the first sprint, none of us have gotten to successfully run the program.
Most of the tasks we did were basic refactoring/restructuring. For example, one issue that I completed was to add a public folder to the frontend to copy the example project. In this commit I moved relevant files from the backend to the frontend. I think that I have broken part of the backend with this change.
One thing that I think that didn’t go well is our planning when creating issues. In the previous example, I may have broken an integral part of the backend. We should have investigated more before we created the issue. Personally I think this is forgivable, it seems like an easy fix and we are inexperienced at creating issues.
One refactor that I am proud of is my refactoring of the src/report.js file in the backend project. I added comments and reorganized the methods to hopefully flow in a more logical way. The file was slightly hard to understand, and I hope that the refactoring makes it more clear as to what the file actually does.
One thing that I think that went well was our teamwork. We split tasks up well and few people were working on the same thing. Although most of us were working on the backend, we took different parts of the backend which did not overlap. Hung also designed a frontend while the rest of us were working on the backend.
I think that as a team we could improve on communication. We have decent communication right now, but it is brief and mostly during class. We also have not communicated with other teams to discuss how the larger project is supposed to work, for example we need to figure out what format the guest and product data will be in. Team 3 helped us out by sending a tutorial on RabbitMQ, and more interaction like this will be beneficial.
I think that I could improve by having a clear plan for each sprint. During this sprint I was all over the place and didn’t get as much done as I had hoped. This is probably a byproduct of learning the software, but I could still have done a better job. For the next sprint I plan to focus on learning RabbitMQ and getting the backend to run. This will also help my teammates plan around what I am doing and hopefully devise their own plans in accordance with my own.
Overall I think that sprint one was a good sprint, especially for a team which has never worked in a software development environment before. We have much to learn and improve on, but I think that we are headed in the right direction with the project and collaborating in general.
From the blog CS@Worcester – Ryan Blog by rtrembley and used with permission of the author. All other rights reserved by the author.