Configuration Management and Collaboration

13 Sep 2016

Collaboration

Collaboration is highly important in the software engineering world as many of today’s professionals are dealing with large projects that require a lot of man and brainpower in order to develop great innovations that build upon prior innovations. These large projects are typically hard to control as there could be tens, if not, hundreds of programmers working on a single project at once. With all these individuals constantly making changes, it can be difficult to find, isolate, or refer to code when it has been changed. Luckily, configuration management systems were iomplemented to solve this problem and this is where git comes in.

Why Configuration Management?

Configuration management is essential when dealing with large projects manned by a large group of people. If everyone were to make changes to a program at once, the absence of a medium that could effectively log these changes and store them in a place where they can’t mess with the entire project could leave things very chaotic in a short amount of time due to the lack of organization and record keeping. However, there are such mediums such as git available that provide highly useful ways to go about keeping projects organized and in control. In my case, I have not yet had the need to utilize configuration management as I have not yet had to deal with large projects with many people working on it at once. However, I have worked in groups and do know how frustrating keeping track of changes can be as code can frequently conflict with one another. From this experience, I do believe good practice and habits are essential when collaborating even with something as effective as a configuration management system as things can still get chaotic and disorganized if not utilized properly.

Git vs. GitHub

I believe git is popular because of GitHub because GitHub is the site where everything made in git is shared with the public, which is where collaboration is made possible. This makes git a very powerful and effective tool in development and demonstrates the importance of configuration management in software engineering. With git, you can keep track of repositories and any changes that you have made, even offline, which makes development and logging changes much easier. Ease of organization and accessibility are exceptional benefits to Git and, besides GitHub, attribute greatly to Git’s popularity on their own.