The Zeek Blog

We Don’t Write Often, But When We Do... We Do It Here.

How To Speak Geek, Part 3 – Version Control

20 May

This is the third installment of my four part series on how to communicate with your developer. Part 1 covered Interviewing Your Potential Developer. Part 2 covered Planning & Project Management. Part 4 will cover Bug Reporting.

Version Control Is Critical

Version control is critical! In case you missed it, I will say it again. VERSION CONTROL IS CRITICAL!!!

So what the heck is it? Simply put, version control is a system that saves each iteration of your code. The code is stored in a central repository and all code changes pass through that central repository. Multiple developers are able to simultaneously work on the code and the system aggregates the changes. Version control also gives your developer an easy way to quickly “roll back” code to previous versions if something goes wrong. For a more detailed explanation, go to http://en.wikipedia.org/wiki/Version_control.

Your developer needs to implement a workflow where the code has to pass through version control as a way to push changes live to your server. We typically work on all code locally and then push it through version control to a live server. On larger projects, this workflow may include pushing to a staging server first and then to a live server. Either way, the code always passes through version control.

So why is all of this important to you? I am glad you asked. Your version control system protects you if your developer drops the ball. You will always have access to the latest version of the code. If your developer bails, you don’t have to hunt down your code or worse, start over from scratch. You should be able to simply grant access to a new developer.

Three popular version control systems are svn, git and Mercurial. At Zeek, we use git.

It is important that you have access to the code repository for your project. Your developer needs to grant you access if they are hosting the repository. Better yet, host it yourself so that there is no confusion down the road.

There are services that offer inexpensive version control hosting.

  • Beanstalk (http://beanstalkapp.com) offers hosting for SVN and git.
  • Bit Bucket (http://bitbucket.org) offers hosting for Mercurial hosting.
  • Some sites offer free repositories, but your code will typically be public if you use a free system.

Note. If your developer does not currently use a version control system, insist on it. If they refuse to use a version control system, find a new developer.

Up next: Part 4 – Bug Reporting.

Tags: , , , ,

Archived Comments

  1. C. G. Brown May 21, 2010 at 9:12 am #

    Hi Jeff, thanks for letting people know about version control. It’s surprising how many development projects still take the risk of doing without, either because they don’t know or don’t realize how important it is to not just have your code protected, but to be able to go back to previous versions to find defects or return from blind alleys.

    We also wanted to let you know that at ProjectLocker (http://www.projectlocker.com), we offer free, private, SSL repositories with 500 MB and 5 users. WThey’re full-featured and thousands of developers use them daily for their projects. We also have inexpensive paid plans with additional features. We support Subversion and Git at this time, and also provide Trac. We encourage you and anyone else considering version control to check us out!

Trackbacks/Pingbacks

  1. Zeek Interactive : How To Speak Geek, Part 4 – Bug Reporting - May 25, 2010

    [...] This is the final installment of my four part series on how to communicate with your developer. Part 1 covered Interviewing Your Potential Developer, part 2 covered Planning & Project Management, and part 3 covered Version control. [...]

  2. Zeek Interactive : How To Speak Geek, Part 2 – Planning & Project Management - May 25, 2010

    [...] with your developer. Part 1 covered Interviewing Your Potential Developer. Part 3 will cover Version Control and Part 4 will cover Bug [...]