Pantry Pals: A Reflection on Software Engineering II

15 Dec 2025

ICS 414: Software Engineering II was a challenging and rewarding course that pushed my understanding of software development beyond simply writing code. Rather than focusing on isolated assignments, the course emphasized building a complete web application in a team setting while navigating ambiguous requirements, strict deadlines, and continuous feedback. This structure provided a realistic look into how software is developed in professional environments.

The central focus of the course was our semester-long group project, Pantry Pals, a pantry inventory management application designed to help users track items across multiple locations such as pantries, refrigerators, freezers, and spice racks. The motivation behind the app came from a common real-world problem: people often forget what food they already have, leading to waste and inefficient grocery shopping. Our goal was to create a clean and intuitive system that allowed users to add, remove, and update inventory items, generate shopping lists, and view the status of their stored food.

One of the most valuable aspects of ICS 414 was its emphasis on Issue-Driven Project Management (IDPM) and iterative development through milestones and weekly reviews. Instead of working toward a single final submission, our team continuously refined the application based on instructor feedback. This process reinforced the idea that software development is rarely linear. Features that initially seemed simple often required redesigning data structures, revisiting requirements, or rethinking user interface decisions once implementation began.

From a technical standpoint, ICS 414 pushed me beyond what I learned in ICS 314 by introducing new tools and workflows. I learned technologies such as Next.js, which were not covered previously, while also refreshing my skills with Coding, GitHub, and Visual Studio Code, as it had been some time since I last used them regularly. The focus on quality assurance, testing, and automated checks helped reinforce best practices. Deploying our application through Vercel and seeing updates automatically go live after merging changes made the project feel much closer to real-world software development.

Working in a team environment was both rewarding and challenging. With multiple contributors, it was difficult for everyone to have full visibility into all parts of the system at all times, which made clear communication, task delegation, and coordination essential. Although our team worked well together overall, we still encountered challenges such as features taking longer than expected, design decisions needing revision late in development, and bugs or incomplete features remaining due to time constraints and shifting priorities. Learning how to prioritize core functionality, make tradeoffs, and deliver a functional product despite imperfections highlighted the importance of flexibility and collaboration in successful software engineering.

Overall, ICS 414 provided a practical and realistic perspective on modern software engineering. It reinforced that successful software projects are built through iteration, communication, and adaptability rather than perfection. The experience of developing Pantry Pals has better prepared me for future team-based projects, internships, and professional software development, and it has given me a deeper appreciation for the complexity behind even seemingly simple applications.


Acknowledgement: AI tools such as ChatGPT and other Online Resources were used to provide information and insights as well as help with grammar, vocabulary and punctuation.