While studying software engineering, I found that the two most vital things to take away are User Testing and Agile Project Management. Although the other concepts that I learned are also equally important. To me, I found that these two stood out the most.
First, user testing is highly crucial in the progress of software engineering. As a developer creating a web application, implementing cool features may seem intuitive to the creater. However, there could be users, possibly not as tech-savvy, using this application that may not find it so easily accessable. Gaining insight from multiple users in the process of development can allow your web application to become clearer and more user-friendly. While I worked with my group members on the project “UH Manoa Marketplace”, (a web application where students or faculty could buy or sell their items within the University of Hawai’i community) we saw that the vision of our web application became focused on making it more convenient for users. For example, in my group’s web application we created a search bar for users to search for what they wanted to buy. In addition, we implemented a dropdown menu to easily sort items by cateogory to make the user experience easier.
Next comes Agile Project Management, a fundamental concept within software engineering, which is the idea of making incremental steps to build up towards the finished product of a project. I just learned this recently and found this method really useful, not only in just classes, but also applicable in real life. For example, if your boss were to give you a big project due within two weeks. Of course, waiting until the last day is not the most ideal way of getting this done. Instead, probably the best thing to do is to break it down into managable pieces in order to achieve a final project. In the process of doing subproblems to the overall project, it gives more room for flexibility and collaboration. As an example, my group with the UH Manoa Marketplace found this method helpful in narrowing down on the features that were interesting for our web application. As members, we all collectively came up with ideas we wanted to implement and worked to complete it. Then moved on to more features or build on from our current progress.
Overall, these two concepts have helped me gain a better knowledge of software engineering. With user testing, it is important to understand who your demographic is and gain insight from users whether it is good or bad. Bad comments are almost more preferable because you can learn more from it. While, Agile Project Management makes tackling a big task or project seem managable. In the future, I hope to be able to apply these fundamental concepts to other topics in life.