It's not really a technical question, but there are several other questions here about source control and best practice.

The company I work for (which will remain anonymous) uses a network share to host its source code and released code. It's the responsibility of the developer or manager to manually move source code to the correct folder depending on whether it's been released and what version it is and stuff. We have various spreadsheets dotted around where we record file names and versions and what's changed, and some teams also put details of different versions at the top of each file. Each team (2-3 teams) seems to do this differently within the company. As you can imagine, it's an organised mess - organised, because the "right people" know where their stuff is, but a mess because it's all different and it relies on people remembering what to do at any one time. One good thing is that everything is backed up on a nightly basis and kept indefinitely, so if mistakes are made, snapshots can be recovered.

I've been trying to push for some kind of managed source control for a while, but I can't seem to get enough support for it within the company. My main arguments are:

  • We're currently vulnerable; at any point someone could forget to do one of the many release actions we have to do, which could mean whole versions are not stored correctly. It could take hours or even days to piece a version back together if necessary
  • We're developing new features along with bug fixes, and often have to delay the release of one or the other because some work has not been completed yet. We also have to force customers to take versions that include new features even if they just want a bug fix, because there's only really one version we're all working on
  • We're experiencing problems with Visual Studio because multiple developers are using the same projects at the same time (not the same files, but it's still causing problems)
  • There are only 15 developers, but we all do stuff differently; wouldn't it be better to have a standard company-wide approach we all have to follow?

My questions are:

  1. Is it normal for a group of this size not to have source control?
  2. I have so far been given only vague reasons for not having source control - what reasons would you suggest could be valid for not implementing source control, given the information above?
  3. Are there any more reasons for source control that I could add to my arsenal?

I'm asking mainly to get a feel for why I have had so much resistance, so please answer honestly.

I'll give the answer to the person I believe has taken the most balanced approach and has answered all three questions.

Thanks in advance

  • 3
    It sounds like they're not very far from working with a DVCS like Mercurial. The people who drag their feet could still be "using" Mercurial if the existing folder were actually made into a repository. From their perspective it would look almost the same, and you could commit the changes if they didn't. – John Fisher Oct 5 '11 at 22:02
  • 19
    UPDATE (Nearly a year after I asked this question): Over the course of the last year, I've campaigned and cajoled and begged and wheedled until I got to the point where I damn near got myself fired for insubordination a few times. I'm pleased to say that the company in question is now finally taking a serious look at source control, with a view to implement TFS after a trial period of a month or so while we ensure all the developers are happy with the new processes. It was largely the positive response I got from this question at programmers.SE that gave me the confidence to pursue it. Cheers. – oliver-clare Oct 2 '12 at 13:57
  • 10
    Developers not using source control is equivalent to surgeons not washing their hands or using dirty utensils to operate. It is professionally incompetent and there is no excuse for that kind of malpractice. – Tim Oct 2 '12 at 15:02
  • 1
    Even though electricity has been invented a long while ago and is pervasive in our every day lives some people still choose to work at candle light scribbling code on a waxed board using a pointy stick. – Newtopian Oct 2 '12 at 20:26
  • 2
    15 devs is hardly a small shop. – Louis Kottmann Oct 14 '12 at 14:44

31 Answers 31


The minority opinion: I can always recover a file anytime I want from archives. I design my programs in blocks that I can recreate quickly. I even write code that generates C# code for faster development. Those programs I backup, of course. I have had problems with other programers who didn't understand jQuery for instance, who would undo my code. I don't have to worry about merging and having go through the process of reconciling versions. I am so much happier without SVN, and yuck Team Foundation.

  • Happier? Ignorance is bliss? Merging is not much of a problem with DVCS and if you have more than one person working on a program you will have to merge somehow (even if it is the old manual way). – James Khoury Oct 5 '11 at 2:27
  • Just learn mercurial and you'll be happier. – gtrak Oct 5 '11 at 17:17

Not the answer you're looking for? Browse other questions tagged or ask your own question.