So what is Configuration Management when it commes to Softwar Engineering? To put it simply, Configuration management is group and project managment. To many people, the creation of a software program consists of learning a programming language and telling the computer what it should do. Yes, This may be true for small projects which a single individual is able to complete in a timely fashion. However, it’s the year 2016 and many professional commercial projects aren’t small and require a team to create, at least if the project is meant to be finished in a timely fashion. And while working with others on a software program has it’s benefits, human error and the actual details in software development cause their share of problems.
Issues within a software project will come up, members will finish a section of the project and need to decide on what to work on next, and members may be working on the same file and attempt to change the file at the same time. The result may be that members on the project may not know what to work on next, members may work on the same thing and essentially create the same code for no reason, or members may inadvertently overwrite changes and fixes another member just submitted. And even if a software project has a really good group leader in charge of a group project delegating tasks and doing their best to keep track of everything, chances are the group leader isn’t perfect. On top of that, chances are they can’t babysit every single group member on every single detail all the time. And that’s where Configuration Managment programs come in. The purpose of a Configuration Managment program is to offer groups something which they can use to prevent errors such as these by making it easier for members to keep track on who’s doing what, what needs to be done and preventing code from being overwritten and even ensuring changes are consistent over code for the same program for different systems like ensuring changes made to code meant for the Windows Operating System will be cacrried over to the code meant for the Linux Operating System.
Github is one of the more popular Configuration Managment programs. There may be a small learning curve for anyone new to Configuration Managers as I have experienced. However, from my experience it’s well worth it. It offers a simple easy enough to use format that allows communication of project issues and prevents programming overwrite problems well enough in a way that makes it better than trying to manage a project through Instant Messaging. And on top of that it’s free and worth giving a try.