ICS 414 Learning Experiences

08 May 2023

ICS 414 Final

Throughout this semester in this software engineering class I have gained a lot of valuable experience in creating a web application with a group of people. The most significant of these experiences were learning about time management, the importance of meeting regularly, and listening to customer feedback. Time management was important because it was easier to put off working on a project without a hard deadline than it was to push back a homework assignment in another class that had a closer due date. Meeting regularly with my team was important because it was the best way to make sure everyone was staying on track and keeping up with their issues. Listening to customer feedback was important because they are the ones we are making the website for, meaning that their requests should come before any ideas that our group may come up with.

Time Management

One method that worked well for time management during the project was setting aside specific time periods to work only on the project without being distracted by work from other classes. At the start of the semester, I had a lot of energy and was trying to get ahead in all of my classes that I could, so I was going through issues for a few hours a day. After a few weeks of this I started slowing down and the workload in my other classes increased leading to this project being put at a lower priority. Around the time of the second milestone, I wasn’t getting issues done at the same rate as the first milestone. I decided this needed to change, so I set aside a few hours a week that would be dedicated exclusively to working on the project.

Meeting With Group

Another method that worked well was meeting and talking with my group at least twice a week so that all members of the group were on the same page. This worked out pretty well because most of the group would come to the class periods twice a week during the semester. At the start of each class period each group member would tell the rest of the group what they were working on and if they were having any trouble getting their issues done. After this we would ask any questions we had for each other and discuss the direction of the project as a whole. This was important because it kept everyone on track to complete the same end goals that the group as a whole had decided on. It also allowed for people that were having problems to get help if they needed or even trade off issues that they could not complete.

Customer Feedback

A third method that worked well was taking our customer requests into consideration when making updates between our milestones. Before this class, I had very little experience with having a “real customer” give feedback on my projects. After each of our milestone presentations, we would list all of the comments and suggestions given by either Professor Moore or our actual “customers” Todd and Charlie. Then we would break them up if needed and make them into issues on GitHub where group members could claim them if they wanted to work on them. This ensured that the customer feedback was implemented into our project as a high priority so that they would be finished before other less important issues.

Future Improvement

One thing that I could work on is asking for help when I have problems getting certain issues done. There were a few issues throughout the semester that I got stuck on for a pretty long time without much progress being made. I should be able to tell within a few days whether or not I have the ability to complete an issue without any outside help and ask for help in case one of my group members has more experience on an issue than I do. Although it is important to be confident in my skills, it is more important to know when it would be more efficient for the project to ask for help. On the next project I work on, I will try my best to ask for help from my other team members when I get stuck on something and can’t figure it out.