Version Control and Tracking Progress

After all the planning time has come to change code. What happens now? Clear evidence of a rookie team is the lack of a Version Control System (VCS) tool and associated processes built around your VCS will provide all the visibility you need to track progress of your software project. Your VCS becomes the source of truth for your project.

It frightens me everytime I am introduced to a new software project where the “latest” source code is somebodies folder somewhere with copies being passed around on thumb drives.

Such a lack process invites confusion from the beginning and inspires questions like:

which copy of the file has your changes?

If you are working like this STOP! It does not have to be this way. no, start using Version Control now!

Done correctly, your VC will track every change to your source code with clear well written summaries (logs) of the problem that was solved.

Git and Version Control

Version Control Systmes (VCS) has been around since at least the 1970’s . These included RCS, CVS, SVN and lot’s of clunky and lame pay versions.

Now we have GIT.

Git was development by the famous Linus Torvalds author of Linux to handle the distributed nature of the huge Open Source software Linux Kernel. Development and the thousands of software developers that continuously contribute to the code base.

Github is Git as a Service

We also have Github!

Github revolutionized software development by taking the widely popular Git version control system and wrapping online services around them, such as an Issue Tracker, Project Kanban Board and a whole social infrastructure allowing developers to easily share Open Source software projects.

Github for Services and Workflow

To be clear, there are some other great services built around git, gitlab and bitbucket are just two.

Fortunantely for us, github provides quite a few services integrated around git itself giving us a rich set of tools to build a sophisticated development environment, and all for free.

Github works on a freemium model where all Open Source projects get all features for free. However, private repositories will be required to pay a nominal fee to unlock all of githubs features.

For our purposes, everything we need is free, so don’t pull out your wallet!

Enough Theory?

OK, next we are going to roll up our sleeves and “git busy”.