Reflecting on Software Engineering

14 May 2020

Before coming to ICS 314, My friend who took the class told me that the class itself is fun and easy. I also heard about the WOD exercises from my friend and reassured me that it is doable within the time limit that is given in class. I was worried about the WODs because being timed in a test gives me anxiety, but doing several WODs, it helped me study or watch the screencasts earlier to prepare myself. Furthermore, the practice WODs every week also helped me prepare for that day and I can ask questions to the TA for clarification. Other than learning about the web application, we also learned more about software engineering concepts such as Coding Standards and Agile Project Management.

How Coding Standards is helpful.

At the beginning of class, we were required to use eslint after two to three weeks in the semester. By disciplining our coding, we are making a habit of having a code that is readable for my future teammates and I, as well as, having a neat and organized lines of code. A person can be great at coding, but at the same time have disoriented lines of code, as a result, any person who reads their code won’t be able to understand its functions. Moreover, in a team, we want readable codes so that when someone needs help on any of their issues, a team member can easily find the problem. By having a coding standard, you will give less trouble to yourself and your teammates, as a result, having a structure in coding can help identify problems and give less headaches.

Importance of Agile Project Management

One of the most important concepts I learned in this class is Agile Project Management, which is planning and guiding a project effectively. In having group projects in ICS, this class would be the second time I have been in a group. The difference from my first experience is that my group would discuss our goals for our website and there were trackers on GitHub to know who was doing what issue. My first experience in group projects didn’t have a tracker and it was even more difficult to communicate with my teammates. Moreover, each issue was simplified and not very complicated because, as a team, we broke down what we needed to focus on each milestone, for example, mockups for M1, the database for M2, and our special feature in M3. I think I will use Agile Project Management in the future because it kept our progress organized and helped the project run very smoothly since each phase of our goal was connected.