Post 414

01 May 2023

414 Overview

ICS 414: Software Engineering II is a continuation of ICS 314: Software Engineering I. In ICS 314 you spend a majority of the semester learning about the basics of the tech stack consisting of Meteor, MongoDB and React. In the last month or so you cobble together a small group project consisting of what you learned. ICS 414 leverages everything you learned in ICS 314 by consisting of a semester long group project to deliver a product to a customer. This environment sets you up to experience a more realistic representation of the software development process.

The Experience

Teams for this project were randomly assigned at the beginning of the semester, so learning how to work with your new teammates was the first hurdle to overcome. Once we got to know each other we started planning the project. The planning process went well, but in hindsight it would have been nice if we spoke more directly with the customer to get clarification on their request because we spent a decent amount of time working on a feature that wasn’t very important in the eyes of the customer. After going through all the joys of software development, we ended up with a product that did what was requested, but it definitionally could have been better. The request from the customer was to make it easier to manage the rooms under the ICS department in POST. We implemented the request as a CRUD website to interface with the database to allow for easier management of resources.

Lessons learned

This class was a great opportunity to get a taste of a more realistic software development process. Working with a customer added additional complexity because we have to implement their requests as best as we could. Looking back, we should have asked more questions and clarification for their requests because there were a couple of times where we though they meant one thing, spent time implementing it and then realizing the next time we talk to the that they wanted something else. The larger size of this project opened the door for more interesting things to work on. Some interesting things that I got to work on was an interactive SVG map and importing and exporting data as a CSV file.

Repository