Two years ago, I had the chance of introducing version control to a small development team, which have not used any kind of VCS for their code before. This is going to be a little case study on how it worked out after two years.
The company's primary profile was marketing and media, development was mostly considered a second/third class citizen. Most of the projects were very simple websites, either to advertise a client's new product, or to serve as the backend for a facebook app, or 90% CRUD for summarizing various surveys. Development time for projects was between 2-8 weeks, and without a written specification.
I'm sure a lot of people can relate, when I say that deploying changes isn't my favorite part of the job. It's error prone, tedious, repetitive, and leads to a lot of shotgun debugging, when for some reason things don't work out on the production server. I'd like to show some snippets how deploying could be made easier, and less error prone. Note that this won't be a tutorial on bash scripting, since there are already a lot of that on the web, it will be more about putting it to some use.