My First Experience on Software Development with Real Clients

05 Dec 2022

Starting Experience With Randomly Assigned Members

My overall experience in ICS 414 gave me a good understanding of how it’s like to work as a team with real clients. Just like how you do not get to choose who you can choose to work with, ICS 414 provided a similar environment by randomly assigning students to different teams. Because of this, it was important for someone to take the leadership role and evenly distribute the tasks and plan out the schedule. Initially, I volunteered myself to take the leadership role by planning out when we should periodically meet and share our progress. This worked well in the beginning but as the semesters progressed, team members including myself had difficulties fitting the meeting schedule due to other schedules. The great example that shows this is overall attendance in class. Our group began with everyone showing up to the class, but towards the end of the final milestone, more than half of the group decided not to show up for class, making cooperation more difficult. I have learned that in the future, I should take more initiative to lead my teammates.

Communication is Key In Teamwork and Cooperation

I also believe there is room for improvement on perfecting the issue-driven project management and overall usage of GitHub. One of the problems we had to encounter was the merge issue. One of my teammates had a few incidents where merge conflicts and errors were fully checked before merging into main, which caused the entire website to crash in the main branch, which took quite a lot of time to revert back the changes and clean out the errors. From my personal perspective, the cause of these issues came from lack of clear communication. We mainly used the Discord group server to communicate our progress and because we are not meeting face to face or voice chat, but rather a text communication, it was more prone for us to make communication errors, which I believe caused the merging issue. I have learned that as a teammate, I should take more responsibility and check other team members’ work and proofread their code to make sure every single process contributing to the web application development goes smoothly.

Significance of Continuous Learning and Real-Life Applications

The overall commitment and dedication towards the web application development was not as strong as it was during the beginning of the semester. During the first milestone, I believe our group showed a significant start. However, towards the end of the semester, some team members showed very little participation with zero commits on the repository. Although there was a limit on how much I can contribute with a limited number of members helping, but if I had more experience and continue practicing ReactJS Meteor, Bootstrap, and MongoDB, the amount of work I was able to put into the group project would have been a lot more. From my first official group work with a real client, I should dedicate more time into learning various frameworks and languages and creating my own project should be my main goal for now.