Engineering Experience

14 May 2020

The usefulness of Version Control

There are several key insights that I feel I have gained after taking a course on software engineering. The first is in regards to configuration management, which basically is the process in keeping consistency within a project. In the course, we used github. Version control and keeping a detailed log of changes seems to be an extremely useful and important habit to have when writing software. This is especially true for software engineers, as they are often required to work in teams. Being able to create branches of a master version for each person to work on independently, merge changes, and handle conflicts keeps the code and the work done consistent for the whole team. It is also useful for situations where an update breaks something, and you are able to easily rollback to an earlier working version.

Project Management Strategies

Another useful concept that applies to software engineering and working in a team is Agile Project Management, which is basically a broad term that covers flexible strategies for project development. The course had us adopt a Issue Driven Project Management style for the final project. The strategy outlines several guidelines like meeting as a team at least twice a week, breaking up work into 72 hour tasks, and ensuring that everyone is always assigned to do at least one task. This breaks the project down into manageable chunks and ensures that members contribute and are held accountable. If every member of the team follows these guidelines and communicate effectively, the strategy ensures that project development goes smoothly.