Slashdot Mirror


Ask Slashdot: Explaining Version Control To Non-Technical People?

New submitter billius writes "I was recently hired (along with another guy) as a web developer at a large university. Our job is to build tools to support the social science researchers on our team. When I got here the codebase was an unholy mess: the formatting was terrible, there were .bak files scattered everywhere and there was no version control system in place. We quickly went to work cleaning things up and implementing new features. My boss was so pleased with our work that she took us out to lunch. During lunch, she asked us if there were any additional tools we needed to do our job more efficiently. We both told her that version control was an invaluable tool for any kind of software development, but had a difficult time describing to her what exactly version control was. I attempted to explain that it created a log of all the changes made to the code and allowed us to make sure that multiple developers working on the same project would not step on each other's toes. I don't think we really got through to her and a few weeks passed with us hearing nothing. Today we were asked by another supervisor if we needed any additional tools and we went through the same spiel about version control. She suggested that we try to write up a brief description of what we wanted and how much it would cost, but I'm drawing a blank an how exactly to describe version control to a person who isn't very technical, let alone a developer. Does anyone out there have any tips on how to sell version control to management?"

383 comments

  1. How Much Would What Cost? by eldavojohn · · Score: 5, Informative

    She suggested that we try to write up a brief description of what we wanted and how much it would cost ...

    I don't understand why this story is tagged with git and svn then asks how much it will cost. Check out Gitstack, roll your own git on Linux, or any of a million ways to do svn or cvs ... I mean, every version control system I've used in the past ten years has been free. I mean, if you're talking about ... what, SourceSafe? Is there some crappy IBM like ClearCase thing? You think you need to pay for an online service? I don't think you need to move this off your own personal servers unless you want it open sourced. What features are the tagged version control systems missing that you need to request funds for?

    Here's how I explain version control to non-techies: "Remember that time you had to work on a group project and you started writing a word document in MS Office and then you passed it out to the group while you still worked on it and then you got four more versions back with corrections and updates and you just started cursing out your computer? Yeah. Believe it or not, they fixed that problem for software a very long time ago and it's dirt cheap. In fact, if developers follow simple rules, those versioning nightmares you had with your group's powerpoint and other Microsoft files never happens."

    People have dealt with this problem in other realms for a long time so you just need to find something to relate it to that they've experienced and it'll start clicking much faster. Failing that, wikipedia has visuals.

    --
    My work here is dung.
    1. Re:How Much Would What Cost? by jabberwock · · Score: 5, Insightful
      This question only needed one answer, and the first post had it.

      I wonder if that has ever happened here before?

    2. Re:How Much Would What Cost? by CastrTroy · · Score: 4, Interesting

      The problem is that you can't do a diff between Word documents. Source control and diffing tools work great on source code because it's all just plain text. But for things like Word documents or Powerpoint presentations things get a little more complicated. Sure with a version control service you won't lose any previous versions, but you don't know what changed between versions either. To me this is the major thing missing for MS Office, and I can't believe they haven't done it yet. Sure they have track changes, but you have to remember to turn that on. There's no reason you should have to track changes. You should be able to take two versions of the document and MS Word should be able to tell you what has changed between the two versions. I think that if OpenOffice developed this feature it would be a killer feature that might get people to actually start using it. Because as you pointed out, when you have 4 different versions of the same document from 4 different people, it's nice to be able to figure out which changes those 4 people actually made without going through all 50 pages of the document.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    3. Re:How Much Would What Cost? by johnkoer · · Score: 4, Insightful

      I mean, every version control system I've used in the past ten years has been free

      Cost is not always measured solely in software costs. You typically need servers to support the software and last time I checked they cost money. Also, employee time is not free for setup of the repository, for training and for documentation of the process.

      I love SVN for version control, but it is never free. It's just less expensive than other software alternatives.

    4. Re:How Much Would What Cost? by ckthorp · · Score: 4, Informative

      That's a lie. At least since Word 2003, there is a compare documents feature that you can use to make diffs of Word documents. Works fairly well unless someone really rototills a document with a ton of moves and rewriting.

    5. Re:How Much Would What Cost? by MikeBabcock · · Score: 5, Informative

      Except you can -- Microsoft Word does have revision control, and its quite handy. Its not quite git or svn, but its there and groups know to use it.

      --
      - Michael T. Babcock (Yes, I blog)
    6. Re:How Much Would What Cost? by TENTH+SHOW+JAM · · Score: 1

      Yes you can Diff word docs. Press F1 and smear in "compare documents".

      --
      A sig is placed here
      To display how futile
      English Haiku is
    7. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      "You should be able to take two versions of the document and MS Word should be able to tell you what has changed between the two versions."

      Word allows precisely this operation. It's called Compare Documents.http://support.microsoft.com/kb/306484

      I'm not saying it's useful, well-implemented, or facilitates group editing. I personally hate it, but exist, it does.

    8. Re:How Much Would What Cost? by Anonymous Coward · · Score: 1

      This was kind of a confusing story for exactly the reason stated above: plenty of good VCS systems available for free, not entirely clear why you'd need supervisor approval to start rolling git / mercurial / svn.

      But if you're in need of easy-to-explain reasons why its important, other than the excellent MS Word / editing and proofreading example given above:
      - Ability to see how things have changed over time, giving insight to anyone doing the work
      - In case anything ever goes wrong and something is changed negatively, allows you to easily jump back to a point in time where all code was working a known to be good way (can be sold that way as a backup system of sorts)
      - With a DVCS systems like Git, can explain how it works by recording the only the differences made in a file, and how that enables developers to all work on the same file with only the minimum amount of work to combine edits (merging)

      Even if, for some reason, you would require something paid for (like a dedicated in-house box to host your own VCS, or enough remote devs to make something like a paid private account on Github / BitBucket necessary), should be a reasonably easy sell I hope. Best of luck to you!

    9. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      You should be able to take two versions of the document and MS Word should be able to tell you what has changed between the two versions.

      MS Word already does this. Unsure about Word 2003, but 2007 certainly has a "Compare Documents" function in it. You'll find it under the Review ribbon, to the right of the tracking section. This works quite well, and auto-generates a 'tracked changes' output between the source and final document you provided.

      It also includes a "Combine" function which apparently does what you're complaining about (merge changes from several revised documents), but I've not used that so cannot comment on its usefulness.

    10. Re:How Much Would What Cost? by amicusNYCL · · Score: 5, Insightful

      Another analogy is backup, everyone knows what a backup is. Source control is like a backup that contains every change ever made to every file, who made them and when, and allows you to switch between them to find and fix problems. They might have a hard time understanding merging, but they at least know what a backup is.

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    11. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      It is almost unbelievable that a "manager" would have no understanding of version control in 2012. How do they still have a job, then?

      Git or any of a dozen or so source code management soft-wares are free. Or just price a commercial one if it is too complicated for you. But if it is too complicated for you, you shouldn't have a job.

    12. Re:How Much Would What Cost? by Auroch · · Score: 4, Insightful

      Agreed. If I had mod points, this is how I'd explain version control to an apple user. I mean, a non-technical user. Besides, everyone likes backups, and playing the "scare" card should get some buy-in on your implementation.

      --
      Quartz Extreme and Core Image. Are there any other real reasons to spend all that money on generic hardware?
    13. Re:How Much Would What Cost? by Blakey+Rat · · Score: 1

      Or just pay Codesion the damned $50. How cheap are you?

    14. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      Google docs. Problem
      Solved.

    15. Re:How Much Would What Cost? by Anonymous Coward · · Score: 1

      git doesn't need a central server.

    16. Re:How Much Would What Cost? by HappyDrgn · · Score: 2, Insightful

      git doesn't need a central server.

      Right... and by those standards neither does svn. Look man, I use git on my personal machine all the time, but it's a far cry from version control that a team can reliably utilize without a centralized component to it. Before you go on about git on a desktop machine please think about the implications. In general I think a central server should be baked into the costs for any revision control proposal, just because it can run on your desktop does not mean it should.

      "What happened to my merge!?", "Oh sorry man, I rebooted"

    17. Re:How Much Would What Cost? by SirGarlon · · Score: 1

      I mean, every version control system I've used in the past ten years has been free.

      Sure, but I doubt your time has been free-as-in-beer. When the boss asks "how much will it cost," an honest answer includes an estimate of man-hours to set it up.

      Installing git or svn does not take long, but there may also be time required to designate a server, hold a meeting to debate git vs. svn, etc.

      Put another way, the total cost of free-as-in-beer software is comparable to the hidden costs of commercial software. :-) (In my experience, a bit lower, because the free stuff tends to be better documented and supported.)

      --
      [Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
    18. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      Because sometimes a manager is a manager of a bunch of other folks who do all sorts of other types of jobs, and one or a few people who program. You only get managers who only deal with programmers in large companies, or small companies that do nothing else but program. There are lots of companies that have lots of people, but only one or two programmers. Ofthen admins/programmers in those places.

    19. Re:How Much Would What Cost? by cob666 · · Score: 2

      You might want to NOT focus on the 'Version Control' aspect and focus more on 'Source Control'. Centralized repository for all source code, easier to back up, ability to track changes to documents. Mention version control only as a type of 'undo' feature that is always available.

      --
      Do what thou wilt shall be the whole of the Law - Aleister Crowley
    20. Re:How Much Would What Cost? by Anonymous Coward · · Score: 1, Interesting

      Pull only workflow, mailed patches, the way that the linux kernel was done for many years. No central server.

    21. Re:How Much Would What Cost? by ILongForDarkness · · Score: 1

      As well even if you couldn't docx at least is just zipped xml. Rename the file .xml.zip uncompress and feed it through diff. Not as rich an experience but still doable.

    22. Re:How Much Would What Cost? by Pope+Raymond+Lama · · Score: 1

      It is 2012, and we have things like git and mercurial on these days. If there is no server available, you just put your codebase on version control in place, without having to configure a single file. It just won't work if you don't have 2 or 3x free disk space as your source files take - but in that case you have deeper problems than the ones we are dealing with.

      --
      -><- no .sig is good sig.
    23. Re:How Much Would What Cost? by Pope+Raymond+Lama · · Score: 1

      > just because it can run on your desktop does not mean it should.

      But it is still about 3 orders of magnitude better than having no version control at all.

      --
      -><- no .sig is good sig.
    24. Re:How Much Would What Cost? by ILongForDarkness · · Score: 2

      Would this be unrecoverable or just a nuisance? My understanding of git is that it is fully distributed so you can muddle around on your own local copy, test the merge there and push the bad boy back up. The only difference between a desktop and a server IMHO is that the server gives users the illusion of something that will never go down (until it does) where as a desktop people sometimes don't think twice about bringing down (and nuke all the clients connected to them). Either way the guy with root has to be competent and communicate things with the users of the software being hosted whether on a server or a client.

      I've run subversion just off of a network share with windows clients hitting it using Tortoise. Since you already need a fileserver likely anyways it isn't an extra server and your usual mechanisms for granting permissions to shares works for giving your clients access to different projects.

    25. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      Also, employee time is not free for setup of the repository, for training and for documentation of the process.

      But they're not setting up a new VCS in a vacuum. There is already an existing cost in employee time associated with:

      - manually managing conflict resolution when multiple developers work on the existing code base
      - manually managing changes to the code base over time (what do you think all those .bak files were, if not an ad-hoc, improvised VCS?)
      - manually recovering from mistakes (both the mundane and epic)
      - training new employees on how best (heh) to work within the current ad-hoc setup

      And all of these time costs have corresponding monetary costs, because they're paid development time that isn't spent, you know, actually developing.

      I love [free VCS of choice] for version control, but it is never free. It's just less expensive than other alternatives, including maintaining the ad-hoc status quo.

    26. Re:How Much Would What Cost? by magarity · · Score: 1

      I mean, every version control system I've used in the past ten years has been free

      Cost is not always measured solely in software costs. You typically need servers to support the software and last time I checked they cost money. Also, employee time is not free for setup of the repository, for training and for documentation of the process.

      It's at a university - they have servers laying around and "employees" AKA "work-study students" are for all practical purposes free.

    27. Re:How Much Would What Cost? by GryMor · · Score: 1

      The only non free (as in beer) source control I'd recommend is Perforce, but really, gitstack or svn will work just fine.

      The cost should be the cost of a server with enough space for the repository and the S3 account for backups. You probably already have a server you can use, and S3 storage is cheap.

      --
      Realities just a bunch of bits.
    28. Re:How Much Would What Cost? by 19thNervousBreakdown · · Score: 1

      You can even show them a Word doc doing change control, they solved that for docs too. Computers are absolutely outstanding at this task, they were practically designed to do it. If you're not familiar with it, your boss probably is.

      The difference with development is, it's ABSOLUTELY POSITIVELY CRITICAL. We manage millions of lines of code, and there's no human to figure out what we meant or fill in blanks from careless edits. It allows us to track down the root cause of bugs, and avoid making the same mistakes in the future. It allows us to recover from mistakes, and means we don't lose months of work from accidental deletions, or worse, overwrites. It allows patches, branches, or bugfix upgrades where we can take 10 minutes to fix a bug instead of having to rush finish the massive new feature we're working on and then force the user to install that. It's part of our most basic toolset, along with a text editor and compiler/interpreter. Show them a photo of a professional mechanic's shop, with tools clean and neatly arranged on pegs and in toolboxes. Then show them a garage with tools in piles everywhere, covered in grease, half of them broken. That's one tenth of the difference.

      If my workplace didn't supply version control, I'd use my own. If I couldn't do so much as install a local git/Subversion repo... forget it. I'd start looking for another job, but to tell the truth that's an interview question for me, so I wouldn't be working there in the first place. Seriously. I hate doctor-programmer comparisons, but I can't think of another sufficiently visceral metaphor, so here goes: A programmer who doesn't like source control is a surgeon who eschews scalpels and prefers to dig in with his bare hands.

      --
      <xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
    29. Re:How Much Would What Cost? by ILongForDarkness · · Score: 1

      Only if people commit their changes. I can't count how many times I've seen people (and I'm guilty of it too) spending an entire day hacking away getting a feature into a code base, hundreds of lines of code and don't commit it until it is "done". I get that you don't want to check in non-working code because someone will pull it in then bitch at you for it not working. But at the same time it means that whole features are often checked in as one lump, rolling back to 2 hours ago when part of the code still worked isn't an option. So you can only roll back big chunks of work at a time and realistically the chunk tagged "added god mode to widget maker" usually doesn't fully work and a flood of "fixed bug x in widget maker", "commented code", "built test harness" etc comes out weeks later. So PHB comes around and says roll back to the version that first had x but didn't have y and where to do go? You end up having to go back to the one tagged with that feature and then add in any diffs you see in future checkins that touched that area of code. You end up with a cludge.

      Personally I think codebases for a lot of things are small enough that you could probably back up an endless undo chain + tags for "check ins" so that you could literally roll back and forward one character at a time, play back the coders jumping around the codebase to give you an idea of what they were thinking about at the time that they decided to add code etc.

    30. Re:How Much Would What Cost? by Bureaucromancer · · Score: 1

      Aside from all the comments about Word having comparison and revision control this is where Google Docs really shines. Sure it won't do your final formatting, but for most things I that both need heavy collaboration and much formatting desktop publishing of some sort is probably a better choice anyway.

    31. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      Selling to management you say? Just highlight the 'Blame..' functionality as an example from tortoiseSvn .. instant approval :)

    32. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      This is a case where a DVCS, like git or mercurial, shines. Since each dev has a full copy of the repo, you can work and commit to your heart's content without affecting anyone else's builds. Once you have your major feature completed, then you merge it back into the main repo (after merging in any changes from the main repo to your working copy.) A centralized VCS like svn is a major source of the problem you describe and why so many people are moving away from them.

    33. Re:How Much Would What Cost? by Lehk228 · · Score: 5, Insightful

      Version control has a negative price in most environments, although that negative price is not collected until the first few times it saves your ass.

      --
      Snowden and Manning are heroes.
    34. Re:How Much Would What Cost? by sumdumass · · Score: 2

      not entirely clear why you'd need supervisor approval to start rolling git / mercurial / svn.

      I used to have a spare workstation as a site I helped administrate. I used it for all sorts of things that made administrating and fixing crap there more then helpful but I never got approval to use it like that. It was just there and I just started using it because I had a desk to organize myself from.

      Long story short, it left the building and went to a satellite shop and served as a part time workstation for an employee who was trying to help another firm (they were thinking of merging with) with a case. It was imaged back to a company original state, set up to VPN back into a sub network I helped set up to facilitate collaboration and I lost everything I had installed on the system including the syslog files (I had backups but not of the logs which was probably the most useful).

      Long story short, if they do not know what you are doing with the machines, they can easily not be available to do what you want and anything you did do can disappear without ever consulting you about it. Had I gotten approval, they would have purchased a new machine for the remote location and allowed me to keep working on the one. I know this because when I asked about it after being tasked to do something on it, that is what I was told.

      Get approval, there are enough excuses to validate the need for it. You don't want a supervisor making an arbitrary decision that will undo all your effort.

    35. Re:How Much Would What Cost? by nonsequitor · · Score: 1

      There are still fixed costs to maintaining a server even if the software is free. A git or SVN server won't store it's own backups offsite. Our Engineering department still gets charged by our IT department for hosting for wikis, source control, etc, even though the software running on the server is 'free', it doesn't deploy and maintain itself.

    36. Re:How Much Would What Cost? by TheLink · · Score: 2

      You can. With TortoiseSVN you can store word docs in svn repo and do a diff between versions. That's about the only reason why I picked it years ago. Otherwise I'd be using git or something else.

      However tortoisegit started supporting this too last year...

      --
    37. Re:How Much Would What Cost? by Rozzin · · Score: 1

      So PHB comes around and says roll back to the version that first had x but didn't have y and where to do go? You end up having to go back to the one tagged with that feature and then add in any diffs you see in future checkins that touched that area of code. You end up with a cludge.

      This is a case where a DVCS, like git or mercurial, shines. Since each dev has a full copy of the repo, you can work and commit to your heart's content without affecting anyone else's builds. Once you have your major feature completed, then you merge it back into the main repo (after merging in any changes from the main repo to your working copy.)

      Better: even in the event that there are actually still issues with the feature when it's merged in, you can continue the branch so that the fixes are all clearly connected to the feature. So it's easy to capture the whole `initial work + tail of fixes' and either revert it or transplant it to another base revision of the codebase.

      --
      -rozzin.
    38. Re:How Much Would What Cost? by GigaplexNZ · · Score: 3, Informative

      And TortoiseSVN even integrates with it to some extent (for diff, not merge).

    39. Re:How Much Would What Cost? by Jeremi · · Score: 1

      When the boss asks "how much will it cost," an honest answer includes an estimate of man-hours to set it up.

      Do we get to deduct the number of man-hours that will be saved after it is set up? Because I think any programming shop would be back in the black after about a week -- or after the first instance of massive code-loss was avoided, whichever comes first.

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    40. Re:How Much Would What Cost? by GigaplexNZ · · Score: 1
      While you sort of have a point, there's one key point that was missed...

      I was recently hired (along with another guy) as a web developer at a large university.

      Considering it's a web project, there's already a centralized component in place.

    41. Re:How Much Would What Cost? by TapeCutter · · Score: 1

      Even good old CVS allows you to specify an external diff.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    42. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      Your merge would happen locally, so it's not a problem. You just relaunch the command.

      It's not like it's hard to serve git repos either.

    43. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      It's almost unbelievable that a slashdotter with a job would have no understanding why a manager could have no understanding of a version control and still have a job.

    44. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      If you have a good tracking system for what work is supposed to be in each region, it's not that hard to maintain. On the SVN setup I administrate (maybe 10-15% of my work time), we have 14 projects, the largest with 3500 commits in the last year, and 10 regions we deploy to, which are each getting a different subset of the code. If you take a day or two and think about a branching structure and procedure, it's very easy to take and follow that. For example, we have work completed back in February that hasn't been deployed beyond the first 4 regions - yes, it can hold other things up, but that's what the tracking system is for - you document dependencies so that you don't try a build and find out you can't do it.

    45. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      Yuk yuk them there Apple users sure are stupid, right boys?

    46. Re:How Much Would What Cost? by tlhIngan · · Score: 1

      Agreed. If I had mod points, this is how I'd explain version control to an apple user. I mean, a non-technical user. Besides, everyone likes backups, and playing the "scare" card should get some buy-in on your implementation.

      If they're an Apple user, you just say it's a finer-grained version of "Time Machine" or with Lion and Mountain Lion, revisions (the OS auto-saves for you, maintaining previous versions you can cut and paste from at any time).

      Or you can explain it by detailing a typical document production process. You know, say they need to write a technical manual or a product brochure. Detail the process and the editing, and then how the version control system lets you go back to a previous version at will (in case there's something you want or if you completely screw something up and need to go back). Merging can be explained by having two people edit the document and putting both their changes in and fixing conflicts, etc.

      Version control doesn't just apply to source code - it can apply to anything that undergoes the create-edit cycle. And anyone who's edited a document knows about deleting a paragraph and realizing 2 days later that it was the best version.

    47. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      That's why I (and many of my colleagues) produce documents and presentations with LaTeX. You edit the source code for the document in a markup language, using diff, version control and all the other tools suitable for dealing with plain text; then you compile it into the finished document.

    48. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      An actual software project that is important to your company should have a central version control repository. Time spent fixing a broken brittle network of git repositories or dealing with mailed patches is wasted money for your company.

    49. Re:How Much Would What Cost? by TapeCutter · · Score: 1

      Do we get to deduct the number of man-hours that will be saved after it is set up?

      Yes, but that is the cost of not doing version control. Estimate the costs for both the yes and no states of the decision it then becomes a no brainer for the boss. Even if they don't have a clue what a version control system is, they will understand the concept of insurance.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    50. Re:How Much Would What Cost? by Immerman · · Score: 1

      So when do we get the version that will handle that automatically? Zipped xml is becoming a fairy common format, I'd love to be able to use one set of tools for versioning across the board.

      --
      --- Most topics have many sides worth arguing, allow me to take one opposite you.
    51. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      You act like VS doesn't have git and svn plugins, just like every other ide. :)

      Perhaps the worst version control I ever used was SourceSafe. Do they even still make that?

    52. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      But they're not because they're supposed to be doing other work besides supporting source control systems.

    53. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      Sounds like you're working with a bunch of amateurs. Any developer who doesn't take advantage of frequent checkins in a private branch/work are should look for another line of work.

    54. Re:How Much Would What Cost? by Jane+Q.+Public · · Score: 3, Informative

      "This question only needed one answer, and the first post had it.
      I wonder if that has ever happened here before?"

      Damned straight. I would not even have spoken to my supervisor about it. I would have installed Git and gone with it.

      If (for some Gridawful unforeseen reason) the supervisor had a problem with it later, I would go over supervisor's head and ask the next boss up why supervisor doesn't know how to do her job.

      Period. End.

    55. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      (In my experience, a bit lower, because the free stuff tends to be better documented and supported.)

      In my experience this is the exact opposite. Much free source control software has documentation 'when the developers get around to it'.

      Part of the ongoing cost of source control software (or anything) is support. In a University environment they're probably willing to go with the 'consult the message boards' type of support, which costs mostly time, especially when the admins take bad advice and screw things up worse.

    56. Re:How Much Would What Cost? by Endophage · · Score: 2

      It's not that the server is less likely to go down, it's that it's less likely to get stolen/dropped/otherwise broken than your laptop. Servers typically (in a well managed setup) also have their data replicated somewhere so if they do die, it is recoverable. Do you take daily backups of your code from your desktop? I do, it's called pushing my code to the server's repo :-)

    57. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      Also, Perforce has pretty generous licensing for open source projects and academic institutions.

    58. Re:How Much Would What Cost? by DarwinSurvivor · · Score: 1

      They obviously have SOME kind of central server already that holds the code, just use that. Git doesn't need any special ports or protocols, it can work just fine at the filesystem level. Just create a bare git repo folder in a shared directory and push/pull to that, the server doesn't even need git installed, just the clients accessing it.

    59. Re:How Much Would What Cost? by DarwinSurvivor · · Score: 1

      A week? If it takes you a whole week to save the time required to "git init --bare; cp -r orig_code_location/* ./; git add .; git commit -a -m 'initial commit'" you are doing something wrong.

    60. Re:How Much Would What Cost? by DarwinSurvivor · · Score: 1

      I think it's safe to assume the existing code is already stored on just such a server. git init --bare and copy the code in with a commit, DONE.

    61. Re:How Much Would What Cost? by mattyj · · Score: 1

      Unfortunately they do, and places that don't know any better still use it and still pay for support on it.

      SourceSafe is the only source control tool I've ever seen that actively loses information for you.

    62. Re:How Much Would What Cost? by billius · · Score: 5, Informative
      Hey everyone,

      First of all, thank you so much for all of the responses! I've seen some really good ideas and I appreciate all the input. It seems that I unfortunately wasn't quite clear enough in my initial post. The other developer and I have been trying to get the management to spring for an online service like Github or Kiln. To answer a few frequently asked questions:

      Q: Why don't you just run git/svn/hg on your local machine? A: I am running hg on my local machine currently for version control. While this is much better than no version control at all, it leaves a lot to be desired in terms of collaborating with the other dev and managing deployment.

      Q: Why not run your own server? A: The other dev and I have talked about this, but there are a few problems. First and foremost, it takes time to setup and maintain such a server and the cost of many online services like Github are pretty modest. The other problem is that we're not really in control of the servers and equipment. That's handled by a separate IT group, so we would have to get them involved to make this happen. Then there's the fact that the IT guys at our work mostly deal with Windows servers while we're mostly *nix fans. Neither one of us has setup a Windows box as a VC server before, so I'm really not sure how well-supported that is. What is really boils down to is the fact we could get a month of hosting at Github that would suit our needs for about the cost of an hour of work from on person. Therefore we kinda figured that it might just be easiest/cheapest to go with a service like Github.

      Anyway, thanks again for all the responses!

    63. Re:How Much Would What Cost? by Mendy · · Score: 1

      A SharePoint versioned document library handles this quite well for Word documents and can also be used as a basic version control system for other things if you can't install additional software.

    64. Re:How Much Would What Cost? by Jeremi · · Score: 5, Insightful

      A week? If it takes you a whole week to save the time required to "git init --bare; cp -r orig_code_location/* ./; git add .; git commit -a -m 'initial commit'" you are doing something wrong.

      Why yes, a simple and intuitive command line like that one practically types itself. It's the first thing any source-control newbie would think of! ;)

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    65. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      Oh backup! Why didn't you say so? We already have backup systems from EMC, learn to use them instead of that cryptic "version control" stuff.

    66. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      I got a free book: version control by example, erik sink . There is lots of good examles there. I like to use tortoise svn, because its so easy .. (not mentioned on the book though.

    67. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      I would not accept your explanation. What business problem is it solving? People getting confused about the wrong documents? That is not a problem that ranks highly on any successful businesses' agenda. How about: "Version control is a way of maintaining a clear path from a business need to a data object. It enables the business to easily identify how its aims have been implemented using technology by establishing how data was changed, when it was changed, and who changed it. It simplifies the identification of potential regulatory and compliance risks by recording a clear audit trail between people and data."

      Explaining to non-techies is one thing. Explaining to decision-makers is another.

    68. Re:How Much Would What Cost? by DerPflanz · · Score: 2

      SVN is not only free, it will *make* you money.

      The cost of not having a decent version control system is higher than having one.

      --
      -- The Internet is a too slow way of doing things, you'd never do without it.
    69. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      I use TortoiseSVN and TortoiseGit with Visual Studio, you insensitive clod!

    70. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      In an academic environment everyone should be using LaTeX therefore version control would be very easy and even the non-technical faculty and students could understand the benefits. Period. Full stop. At the individual level there is RCS. At the group, team, or faculty level there are open source version control systems including Bazaar, CVS, Git, LibreSource, Mercurial, and SVN. Also, read the article, "Choosing a Distributed Version Control System," written by Dave Dribin. http://www.dribin.org/dave/blog/archives/2007/12/28/dvcs/

    71. Re:How Much Would What Cost? by cbhacking · · Score: 1

      If the servers that you have handy are Windows, but you want to use *nix, there are a few options available.

      First of all, there's virtualization. It's free (there are many free virtual machine programs available for a Windows host, and they should all support Linux guests). It does require some of the server's hardware (RAM and storage) though, and *somebody* will need to administrate it (which it sounds like your current IT doesn't really want to deal with).

      Second, there's the option of simply hosting your own Linux box, either internrally or externally. A 10-year-old piece of junk PC that has a working CPU (of no particular speed), network card (10 Mbps would do, 100 would be overkill), RAM (128MB would suffice), and storage (20 GB would be enough for years) should cost almost nothing; odds are you could find one for free (I have a couple laptops which exceed those specs that get no real use anymore but still work). Put a copy of Damn Small Linux (or your favorite other ultra-lightweight distro) on there, hook it up to the network, and put your git/hg/svn/whatever repo on there.

      Third, there's the option of Cygwin on one of your Windows boxes. It works well enough, is reasonably easy to install, costs nothing, and will allow you to host a version control repository of your choice easily. So long as the service starts automatically and the requite firewall port is open, there should be basically no additional IT overhead; it's not as though VC software for two developers is going to have an even trivial effect on a modern machine's performance.

      Fourth, there's the option of Interix, the official POSIX subsystem for Windows. This requires that your servers be either some edition of Windows Server (probable), XP Pro, Vista or Win7 either Enterprise or Ultimate, or Win8 Enterprise. Enable the "Subsystem for UNIX Applications" in the Windows Features control panel, install the Interix utilities (and SDK, if you desire) from Microsoft, install the package manager for http://suacommunity.com/ and use the pre-compiled cvs, svn, or git binaries (you could probably get Mercurial too; I've never tried). Again, you'd need to make sure that the server daemon was running (it should automatically run at startup) and accessible through the firewall, but after that you could pretty much just pretend it was some odd relative of BSD (which is where msot of the included tools are sourced from). As with Cygwin, it would have minimal if any effect on maintenance (Microsoft occasionally pushes SUA/Interx updates over Windows Update, just like any other update), but it gets better performance and more accurately portrays a POSIX system than Cygwin can.

      --
      There's no place I could be, since I've found Serenity...
    72. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      Have you or the IT server team heard of virtualisation? They could provide you with access to install a virtual machine instance of Debian GNU/Linux plus the version control software.

    73. Re:How Much Would What Cost? by Electricity+Likes+Me · · Score: 2

      In my experience in an academic environment the only people who care about LaTeX are the mathematicians and physicists, since they routinely want to write out a ton of math.

      Everyone else wants to be able to copy+paste things from ChemDraw and drag drop place images - and unfortunately since you generally pick up your writing implements right as you need them, LyX still has too many ideosyncracies to be a practical alternative.

    74. Re:How Much Would What Cost? by styrotech · · Score: 4, Informative

      So, it sounds like:

      a) You use mercurial,
      b) You want the functionality of github or at least most of githubs functionality,
      c) You need some sort of private repository or repositories,
      d) You might only have a few developers on your team,
      e) You are having trouble convincing your bosses enough for them to pay for something...

      Have you looked at bitbucket.org?

      The free plan gives you unlimited private repositories, and up to 5 collaborators for those private repos. And you can create either hg or git repos. By being free, you presumably don't need to convince your boss to pay.

      And you can get a few extra free users at the moment too:
      http://blog.bitbucket.org/2012/09/18/refer-a-friend-to-bitbucket-for-free-users/

      Generally I prefer github overall (only slightly though), but they have no free offering with private repos and in general they can be more expensive. I find bitbucket is "good enough".

    75. Re:How Much Would What Cost? by man_of_mr_e · · Score: 1, Insightful

      Guess you haven't used that many source control tools then. RCS and SCCS both had various problems. PVCS and had problems as well at various points in it's life.

      All these systems essentially had the exact same problem as SourceSafe. They were file based systems, rather than client/server based systems. The clients modified the files directly, and if you had multiple users modifying them at the same time, problems ensued.

      In fact, CVS was an early attempt to fix RCS.

      SourceSafe is a 20+ year old version control system, and it does it's job quite well, considering. But problems happen when the clients modify the files directly. A crash her or there causes files to become corrupted. Network glitches can also cause problems. God help you if you're updating over a dial-up link and it drops on you.

      But, since 2005 SourceSafe has had a client/server version of the tool.. but nobody cares.. By then SVN was in common use, and TFS was first released.

      The point is, the problem was not SourceSafe, but rather that it suffered from the same problems as many contemporary tools, but SourceSafe was in use for a lot longer.

    76. Re:How Much Would What Cost? by man_of_mr_e · · Score: 1

      Wikipedia has a very good description and definition of Revision Control.

      However, I just typically explain it like this: It's like Apple's Time Machine for source code.

    77. Re:How Much Would What Cost? by wvmarle · · Score: 1

      The current source code is stored somewhere, and I may assume that's a separate location (preferably separate physical server) than where the web site is run on. Maybe not a dedicated server, but version control is not something that needs major computing resources.

      Depending on the exact situation it may simply cost nothing. I'm even surprised that their first step was not to install svn or git or subversion or whatever they like and dump the whole existing code base in there first, and THEN start to clean it up. Sure you have a lot of crap in your version control, but that is also crap that's known to work. So if something breaks during clean-up you can easily roll back.

    78. Re:How Much Would What Cost? by wvmarle · · Score: 1

      And running a RAID-1 or RAID-5 array is a backup too, right?

    79. Re:How Much Would What Cost? by Dr_Barnowl · · Score: 2

      TSVN just comes preconfigured with some scripts for merging documents ; you can find them in the "Diff-Scripts" subfolder.

      You should just be able to steal these and configure Git to use them as well.

    80. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      Personally, I don't think you understood management's question. They don't need you to explain version control to them. They need you to say "go to this URL and sign up with the company credit card for the 'small developer' package". I did *exactly* this two months ago with a manager who has no clue about technology, and I have my version control system while you're still Asking Slashdot ;)

    81. Re:How Much Would What Cost? by Dr_Barnowl · · Score: 1

      For many trees, a Git repository with full history, and a checked out working tree, can be smaller than the equivalent SVN checkout.

      (SVN may have changed this recently, I've stopped using it) ; SVN keeps a second pristine working copy of the files in hidden folders for comparison purposes, Git keeps everything packed in compressed files.

    82. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      But they are, because whatever the other work they're supposed to be doing is, they aren't doing it.

      Longhaired layabouts.

    83. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      Perhaps the worst version control I ever used was SourceSafe. Do they even still make that?

      I worked for a Fortune 100 company for a while, and they were using SourceSafe for their Unix-based data warehousing system.

      Their process was to check out the files on the developer's Windows machines, then manually copy them over to the Unix development box, compile, link and test. Then, when they thought they were finished, they would manually copy the files back to the Windows box and check in the changes.

      No, their other processes weren't any better.

    84. Re:How Much Would What Cost? by rdnetto · · Score: 1

      I have Word docs in a git repository. Diffs seem to work fine, though I haven't tried doing any merges yet.

      --
      Most human behaviour can be explained in terms of identity.
    85. Re:How Much Would What Cost? by vlm · · Score: 1

      A week? If it takes you a whole week to save the time required to "git init --bare; cp -r orig_code_location/* ./; git add .; git commit -a -m 'initial commit'" you are doing something wrong.

      Why yes, a simple and intuitive command line like that one practically types itself. It's the first thing any source-control newbie would think of! ;)

      He's doing it the hard way, or maybe trolling to make it look as hard as possible, assuming you find cp commands hard or intimidating... If you're willing to turn this copy of the code that you've cd'd into, into a git repo, the intimidating command line is:

      git init

      Thats it. Obviously your first (of millions?) of add/commit/push cycles is going to be a monster rather than just one or two files/lines. Also most people like modifying the defaults in new .git/config file (at the very least most people like to customize the remote origin url to make pushing easier) and most people want "something" in their .gitignore file unless they're got the worlds cleanest "make clean" makefile.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    86. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      Mod up parent please, version control saves a lot more money than the tiny neglectable bit it costs in maintenance. I use it now for all my personal projects (me only) and it takes 5 minutes to set up and then gives me peace of mind for months or years. And as soon a second or third dev comes on board of such a project it really is indispensable.

    87. Re:How Much Would What Cost? by vlm · · Score: 1

      In my experience this is the exact opposite. Much free source control software has documentation 'when the developers get around to it'.

      In late 2005, git documentation was kinda lacking.

      Seven years later in 2012 you buy a copy of "pragmatic guide to git" from you know who, I think there's an oreilly book, Scott Chacon's book is CC licensed and freely downloadable at the link below, but the kernel wiki at the link below is really all you need.

      http://git-scm.com/book

      https://git.wiki.kernel.org/

      If you have too much money and want literal hand holding I believe there are in-person classes and seminars available. A majority (all?) modern devs already use some form of version control and much like languages learning the 3rd takes about 5% the time of learning the 1st, so simply ask a more experienced coworker. I can teach someone the basics of "how to use git at $work with the cheat sheet" in, eh, 5, 10 minutes tops. If they're too dumb to figure it out given a sheet that shows exactly what to type at exactly what time, I don't want to be stuck cleaning up the mess they would make of the code, so its excellently self limiting in that manner.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    88. Re:How Much Would What Cost? by Anonymous Coward · · Score: 5, Insightful

      Important follow-up note: taking advice from JQP on how to interact with human beings is likely to leave you ostracized.

    89. Re:How Much Would What Cost? by stridebird · · Score: 1

      Neither one of us has setup a Windows box as a VC server before, so I'm really not sure how well-supported that is.

      If you are using Git or Hg, all you need is SSH accounts on a box somewhere, and git or hg installed. There is no server as such. If you can SSH into each other's machine, do it like that. Take one repo, clone it on the other and you are about there. There is no cost. There is no management lunch. There is no need to even mention what you are doing. Just do it. If you have mounted file share access, use that: no need for SSH, just clone/push/pull across the file system.

    90. Re:How Much Would What Cost? by Anonymous Coward · · Score: 1

      I would still get authorization to use it. A lot of organizations are IP crazy, and you don't want a "Why were you uploading our IP to the Internet?" meeting (which will most likely end with you no longer having a job).

    91. Re:How Much Would What Cost? by BestNicksRTaken · · Score: 1

      don't mention Word/MS or some moron will end up making you use Sharepoint instead of Git!

      --
      #include <sig.h>
    92. Re:How Much Would What Cost? by Omnifarious · · Score: 1

      Or bitbucket! :-) I'm a big Mercurial fan. :-)

    93. Re:How Much Would What Cost? by gbjbaanb · · Score: 1

      well, I can imagine why they have problems describing SCM to as non-technical audience if you use a distributed version control system.

      For non-techies, you need a centralised system, its much much easier to grasp the concept of ".... and then you send it to the server that stores it and archives the old version automatically".

      For online storage, you need to still consider backups - while I'd trust github, I think I can think of other services I trusted and thought would never disappear that have, well, disappeared. Running your own server (or more likely, a VM) on an internal system is much safer. You still need to do backups properly though, but maybe a nightly copy of the entire VM would be sufficient.

      You can run nearly all of the VCS systems on Windows quite happily - subversion runs very nicely and, if you run VisualSVN Server, you get it nicely integrated with the Windows domain - so no user accounts to worry about, and security (eg making parts readonly) can be handled very easily in a Windows-friendly thing. Its also incredibly easy to install, your IT guys might be happy to slap it on.

      My advice would be to get the IT guys on board, rather than try to bypass them. That's always the correct answer, even if its often not very easy to achieve.

    94. Re:How Much Would What Cost? by gorzek · · Score: 1

      I would describe version control as providing the following benefits:

      * Accountable auditing of all code changes. Managers like this, because it helps with legal compliance.
      * More flexible release scheduling. Got a high-risk project? No problem, keep it in a separate branch so it doesn't hold up your current release cycle.
      * When combined with a continuous integration system and unit testing, you can track down new regressions very quickly. This cuts down QA time.
      * You can easily track and replicate customer versions to reproduce reported bugs.

      Managers want to know how new tools will save time and money and get code out the door faster. Benefits to developers are nice, but not enough to sell the change.

      Anyway, no need to pay for any of this stuff. Use git, Subversion, Mercurial, Bazaar, whatever. I've worked with just about every system out there. They can all do the job, they just bring different features and possible workflows to the table.

    95. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      I don't think that your supervisor really wants to know every last detail about version control. They want a general idea of how it will help you do your job, and at what cost.

      Explaining version control?
      Incremental backup of source code and other files that helps multiple developers track changes and easily roll-back if something goes wrong.

      How much does it cost?
      1. Quote your preferred service's rates and be prepared to address security concerns related to hosting in the cloud.
      2. Prepare an estimate to host it in house: server hardware plus annual admin time and licensing for any related software. If it can live on an underutilized server or in a VM somewhere, even better.

      Remember, these non-technical higher-ups are probably just running a cost/benefit analysis on whatever you say you need. If you can simply, honestly explain those details then they really don't have a reason to say no.

    96. Re:How Much Would What Cost? by CadentOrange · · Score: 1

      Q: Why don't you just run git/svn/hg on your local machine? A: I am running hg on my local machine currently for version control. While this is much better than no version control at all, it leaves a lot to be desired in terms of collaborating with the other dev and managing deployment.

      While DVCS tools allow you to push and pull directly from each other's repositories and that's a useful feature, there's nothing stopping you from having a central repository. The way my team works is each developer has N number of personal repositories, and we have a central repository (which we call the canonical repo). The canonical repo is what's used to build the product. For each product release, all developers must push their changes to the canonical repo, handle any merges that are required. Once all desired changes have been pushed to the canonical repository, we then tag the canonical repo with the build number. The product then gets built with changes up to said tag.

      This works very well for us.

      Q: Why not run your own server? A: The other dev and I have talked about this, but there are a few problems. First and foremost, it takes time to setup and maintain such a server and the cost of many online services like Github are pretty modest. The other problem is that we're not really in control of the servers and equipment. That's handled by a separate IT group, so we would have to get them involved to make this happen. Then there's the fact that the IT guys at our work mostly deal with Windows servers while we're mostly *nix fans. Neither one of us has setup a Windows box as a VC server before, so I'm really not sure how well-supported that is.

      If you don't want to set up your own server, you have two options: a) use a cloud service like BitBucket or b) put the canonical repo on a file share and push/pull from that. I'd personally go with BitBucket (you get 5 collaborators for free). We currently use BitBucket for hosting the canonical repo, as well as bug tracking and wiki.

      N.B. All of the above are free.

    97. Re:How Much Would What Cost? by JigJag · · Score: 1

      Just use Fossil (http://www.fossil-scm.org). It does what you want, for free, including disconnected mode. Plus it has built-in bug reports, wiki and authentication.

      Tell your boss that you need nothing in terms of hardware, you already have your machines between you and the developer. However that tool allows you to measure your progress (she can see a RSS of your commits), track development, and allows you to develop new features easily without breaking the code.

      JigJag

      --
      "The hallmark of humanity is the ability to move beyond sensory inputs" - Mary Helen Immordino-Yang
    98. Re:How Much Would What Cost? by Shemmie · · Score: 1

      Another shout out for bitbucket.org - love my hg, and love my bitbucket.

      Also, I was using it in an Academic environment for dev work, and they have an Academic package they offer. Highly, highly recommended.

    99. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      I am in a similar boat in that our central IT group at a university manages our web server. We have a virtual Windows server running IIS/PHP/MySQL (ugh, I know!). I installed VisualSVN, which makes managing SVN on a windows server easy. We've been using it for version control for quite a while now with no trouble. TortoiseSVN is also a great client if you are developing using a windows box. I was able to set everything up and just had to have our IT group open up the proper port in the firewall for access.

    100. Re:How Much Would What Cost? by ILongForDarkness · · Score: 1

      Some what I guess but is also a matter of the pain that is merging. If you are working on a few things at a time and you have a few branches, and the guy next to you has a few branches etc. then next day huddle you all say I think it might be done and decide to put it all in the trunk you have a fun day ahead of you.

    101. Re:How Much Would What Cost? by gtall · · Score: 1

      And logicians, computer scientists, engineers, etc...just about any of the technical subjects. For the rest, let them eat Word.

    102. Re:How Much Would What Cost? by sbditto85 · · Score: 1

      In general I think a central server should be baked into the costs for any revision control proposal, just because it can run on your desktop does not mean it should.

      "What happened to my merge!?", "Oh sorry man, I rebooted"

      You make it sound like you have to buy an IBM mainframe just to host a git server ... i bet my 386 could do it ... maybe a little slow, but it would get there eventually. Just setup a old desktop computer as a "server" and let it run :)

    103. Re:How Much Would What Cost? by Senior+Frac · · Score: 1

      Hardware to run it on. Space in server room. Back up procedures. There is a cost.

      Not that you specifically advocated this but "just download Subversion and run it on your desktop" is not an adequate solution here.

    104. Re:How Much Would What Cost? by Impy+the+Impiuos+Imp · · Score: 1

      > She suggested that we try to write up a brief description of what we wanted

      Too late, based on that single, huge bertha paragraph. Check out the English department while you're at it.

      --
      (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
    105. Re:How Much Would What Cost? by parkinglot777 · · Score: 1

      Even good old CVS allows you to specify an external diff.

      Which branch are you talking about? I would want to use their service for diff records. ;)

    106. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      None of my source code is plain text, and source control still works fine. You just need to comment on the changes you made when you check in items. You could say it's more complicated, but in terms of the source control software it's actually simpler - there's no (useful) diff tool available, so you don't even have to learn how to use it.

    107. Re:How Much Would What Cost? by Eddy_D · · Score: 1

      SVN/TortoiseSVN will do a 3-way merge (for conflict resolution) on a MS word document, at least for the newer releases of MS Word (2010+). I am not sure if the document has to be a .docx or not though.

      --
      - I stole your sig.
    108. Re:How Much Would What Cost? by leonardluen · · Score: 1

      Employee time and hardware is not free, even if the software is, and everything you mentioned would take one or the other.

      we used to use CVS on a linux box and have recently converted to GIT. my opinion was that SVN was terrible and not an option as a replacement for CVS. i am sure people will disagree. However, we are extremely happy with GIT.

      our "central GIT repository" is located on a windows file share, and we check out our local copies from that. it is a fairly simple setup and the only work it requires is getting a windows file share, and i suppose learning some git commands. also the GIT extensions for Visual Studio seem to work quite well.

      I am a fan of cygwin, but that isn't really a requirement to get GIT working on windows.

    109. Re:How Much Would What Cost? by tachin1 · · Score: 0

      Most "suits" are already familiar with some form of version control involved in quality assurance processes commonly something like ISO 9001, just explain that this is the computer version of this.

      --
      I'm always right, except when i'm not.
    110. Re:How Much Would What Cost? by whitroth · · Score: 1

      Garbage. Only someone diliberately out to circumvent the version control system edited those files... and even then, they'd have to clean VCS metadata out of them.

      And I used and administered PVCS for something like 10 years, and never had the kind of problems you're mentioning.

      Of course, I'm a dinosaur to you, and to me, you're *WRONG*, and I would *require* checking out files with a lock, and *only* with a lock. Never had something wrong overwrite anything.....

                    mark

    111. Re:How Much Would What Cost? by amicusNYCL · · Score: 1

      And running a RAID-1 or RAID-5 array is a backup too, right?

      I didn't say source control is a backup. Notice the simile.

      Source control is like a backup that contains...

      If I tell a girl her eyes "twinkle like stars" I'm not suggesting that her eyes are fusing hydrogen into helium.

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    112. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      Then there's the fact that the IT guys at our work mostly deal with Windows servers while we're mostly *nix fans.

      How would a virtual Linux image perform on a Windows server? The IT guys could support that more easily, if you do the maintenance of the image.

    113. Re:How Much Would What Cost? by HyperQuantum · · Score: 1

      So she has the social skills of a thermonuclear device?

      --
      I am not really here right now.
    114. Re:How Much Would What Cost? by man_of_mr_e · · Score: 1

      I'm talking about the early years of PVCS. And yes, I too admined PVCS for a number of years in the 90's. I'm as much of a dinosaur as you are, although I try to stay modern.

      The fact is, any file-based vcs can suffer from corruption because it's at the mercy of the clients. If the client crashes, if the network share it's hosted on drops, etc.. all can cause corrupted files. And some VCS's (particularly SCCS) did not contain enough metadata to recover properly if that happened.

    115. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      You have to pay for the server.

    116. Re:How Much Would What Cost? by TemporalBeing · · Score: 1

      The problem is that you can't do a diff between Word documents. Source control and diffing tools work great on source code because it's all just plain text. But for things like Word documents or Powerpoint presentations things get a little more complicated. Sure with a version control service you won't lose any previous versions, but you don't know what changed between versions either. To me this is the major thing missing for MS Office, and I can't believe they haven't done it yet. Sure they have track changes, but you have to remember to turn that on. There's no reason you should have to track changes. You should be able to take two versions of the document and MS Word should be able to tell you what has changed between the two versions. I think that if OpenOffice developed this feature it would be a killer feature that might get people to actually start using it. Because as you pointed out, when you have 4 different versions of the same document from 4 different people, it's nice to be able to figure out which changes those 4 people actually made without going through all 50 pages of the document.

      TortoiseSVN has a script that uses Word's features to diff Word files in Subversion. I think it can done for Excel and other parts of office too. However, few know about those features, and fewer still use them.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    117. Re:How Much Would What Cost? by TemporalBeing · · Score: 1

      SVN/TortoiseSVN will do a 3-way merge (for conflict resolution) on a MS word document, at least for the newer releases of MS Word (2010+). I am not sure if the document has to be a .docx or not though.

      TortoiseSVN does it via a custom diff handler for the doc/docx types. And no, it doesn't have to be docx, and yes it will work with MS Word 2003 (for which the script was originally written).

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    118. Re:How Much Would What Cost? by TemporalBeing · · Score: 1

      git doesn't need a central server.

      True. However, for some things that is actually a detraction. For example, companies do a lot of paperwork, much of which needs to be controlled as to who has access to it. A centralized system such as Subversion or CVS is really good for those kinds of things, while a decentralized system like git is not - too easy to get those sensitive things into the wrong hands, and no ability to control permissions.

      And yes, I do use SVN and git for various things. Git is great for developers as it lets you take the repo on the road very easily and still do all your tracking, while SVN your have to dial-back home to really do your tracking while on the road - which can be a pain at times.

      As always, best tool for the job.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    119. Re:How Much Would What Cost? by TemporalBeing · · Score: 1

      Difference between git on a server and on the desktop is that on the desktop you use a normal git repository - which has all the changes and a working copy; while on the server you only publish the bare-bones git repository - which is only the changes.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    120. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      If the newbie had spent 5 minutes following the examples in the git book the newbie would've been good to go.

    121. Re:How Much Would What Cost? by TemporalBeing · · Score: 1

      For many trees, a Git repository with full history, and a checked out working tree, can be smaller than the equivalent SVN checkout.

      (SVN may have changed this recently, I've stopped using it) ; SVN keeps a second pristine working copy of the files in hidden folders for comparison purposes, Git keeps everything packed in compressed files.

      SVN changed their working copy information in 1.7 - now you have a central .svn folder for the entire working copy instead of in all the sub-folders. It's a little more painful as before you could just copy a subfolder somewhere else to copy it; now you can't - you have to go through a checkout. It gains them some efficiencies though. I don't think they do any compression on the files though.

      As to git, it's more efficient in that the whole repository is there with only a single version of each object. However, it doesn't track folders that don't yet have any contents (something I find really annoying).

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    122. Re:How Much Would What Cost? by jandar · · Score: 1

      Also most people like modifying the defaults in new .git/config file (at the very least most people like to customize the remote origin url to make pushing easier) and most people want "something" in their .gitignore file unless they're got the worlds cleanest "make clean" makefile.

      Why would you have any generated files in the source-tree? A clean separation between source and generated files is easy with VPATH and enables compiles from one source (NFS-mounted) to different OS/CPU versions. A very clean "make clean" translates to an easy and obviously correct "rm -r ${OBJDIR}".

    123. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      A 10-year-old piece of junk PC that has a working CPU (of no particular speed), network card (10 Mbps would do, 100 would be overkill), RAM (128MB would suffice), and storage (20 GB would be enough for years) should cost almost nothing;

      And is also significantly more prone to failure, driver issues, and bottlenecks due to performance issues.

      Look, I'm all for saving money by not buying overpowered systems, but stop recommending that people run critical infrastructure on hardware that's long past most of its components' MTBF. If you want to run a server internally, get a good quality, recently-built system - it doesn't need to be expensive to be a solid system that you can expect to last for a few years, and is supported by your IT / vendor contracts. A decent modern server class system that you can slap Linux on and get support for shouldn't cost you more than $1500-2000. You can certainly spend more if you have the budget.

      If you're not willing to spend the effort of building & maintaining the server, then outsorce to github, or kiln, or some other commercial service and pay the modest fees they ask for.

    124. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      AnkhSVN is recommended if you're in a .Net environment, use a SVN server, and like to have IDE integration.

    125. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      I don't want to be the dick that suggests you run subversion on windows, but .... well... you can run subversion on windows.

      We use VisualSVN and it works fine.

      Will you get your nerd membership card revoked? Maybe. Will it be a functional version control system. Probably.

    126. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      Ummm yeah non technical apple user here.

      So I've set up web servers with killer RAS (sun boxes), and tape auto loaders for 3tb over UWscsi320. And made/run Ethernet cables. And, in 1985, had a 137k basic program that controlled my Hayes micro modem 2e (and my acoustic coupler before that) to run my POTS BBS. SO YEAH IM A NON-technical aPple user.

    127. Re:How Much Would What Cost? by SuperQ · · Score: 1

      No, seriously, JQP has the right answer. If my manager couldn't understand a simple explanation about what version control is, why it's a good idea, and basically a function of business continuity and software/systems best practices I would do everything in my power to get them ejected as incompetent.

    128. Re:How Much Would What Cost? by SuperQ · · Score: 1

      Yea, it's not even hard. My girlfriend who is moderately technical was wanting to check some .xlsx spreasheets into her git repo but was annoyed that it wasn't plain text XML like she thought it was supposed to be. She's used to writing in docbook XML.

      I helped here out by writing a quick script that would unzip the spreadsheet file and then xmllint (A tool she does know how to use, and suggested it) the files in the sheet so that they're easier to diff. Then she is able to just run the script before checking in spreadsheet changes and have nice easy-to-see diffs.

    129. Re:How Much Would What Cost? by rioki · · Score: 1

      As far as I know Clear Case was one of the first to implement diff and merge for Office Documents... It has come to a more main stream thing; though I still don't understand want to put an office document into version control; actually use Office...

    130. Re:How Much Would What Cost? by kiwimate · · Score: 1

      ...and get you fired, if any of the people above you who get involved are having a grumpy day when this hits them.

    131. Re:How Much Would What Cost? by kiwimate · · Score: 1

      Of course you can. Word has had this feature baked in for quite some time now. It's rudimentary, but it works.

      For those users with higher demands (specifically law), use a third party tool like DeltaView. (CompareRite used to be the de facto standard in law firms, then they went away and DeltaView became the new de facto standard.) They all integrate with your favorite document management system as well, so now you have comparisons and version control.

    132. Re:How Much Would What Cost? by DutchUncle · · Score: 1

      This, except I installed Subversion using a server-located file (yes, I know the red bean book says not to) and then demonstrated to my new boss how I could backtrack to any day's work. Version control sounds complicated; "backup" they understand.

    133. Re:How Much Would What Cost? by ILongForDarkness · · Score: 1

      You have a girlfriend that knows xml and can do diffs? Does she have a sister? :)

    134. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      Harlan, is that you ?

    135. Re:How Much Would What Cost? by khayman80 · · Score: 1
    136. Re:How Much Would What Cost? by Anonymous Coward · · Score: 0

      Once you know how a version control system works, yes, it's simple. If you don't know how to use it, you're still going to need to learn how to use it even if you're paying someone to host it.

    137. Re:How Much Would What Cost? by Jane+Q.+Public · · Score: 1

      I looked again, and didn't find anything from this year. So my memory could be incorrect.

      But there's Maclay and Forward, from 2004. There are more recent examples but I will not have time to hunt them up today.

      Granted, it's only a thought experiment, and it doesn't generate practical energy even then, in this form. But hey... fusion isn't practical yet, either.

      To be clear: I did not claim anybody had found anything practical. Only that there may be ways to do it.

    138. Re:How Much Would What Cost? by jgrahn · · Score: 1

      Wikipedia has a very good description and definition of Revision Control. However, I just typically explain it like this: It's like Apple's Time Machine for source code.

      Two problems with that: most people have never used Time Machine (whatever that is) and revision control is *not* just for source code!

    139. Re:How Much Would What Cost? by jgrahn · · Score: 1

      Here's how I explain version control to non-techies: "Remember that time you had to work on a group project and you started writing a word document in MS Office and then you passed it out to the group while you still worked on it and then you got four more versions back with corrections and updates and you just started cursing out your computer? Yeah. Believe it or not, they fixed that problem for software a very long time ago and it's dirt cheap. In fact, if developers follow simple rules, those versioning nightmares you had with your group's powerpoint and other Microsoft files never happens."

      That's a good one, because it stresses that it's a tool for collaboration. But it's incomplete: it doesn't describe many important features. Off the top of my head:

      • Being able to isolate unrelated work tasks (typically via per-feature branches)
      • Being able to safely experiment, then revert if it doesn't work out.
      • Peer review.
      • Situation awareness: asking questions like "what am I about to change now?", "what did I change last week?", "what did Bob really do yesterday?"
      • Fast and reliable access to older versions.
      • Human-readable documentation of the change history, by commit messages.
      • Variant management, e.g. doing maintenance on a released version while continuing with new development.
  2. Mac OS Time Machine by Anonymous Coward · · Score: 3, Insightful

    You could say it's like Mac OS' Time Machine, where files are backed up and can be pulled up from the past. Then say it's like each user can work on their own copy in time and put the files together in the future.

    Or you could just ask for server space and stick the repo in a central location.

  3. Just do it. by Anonymous Coward · · Score: 0

    What is there to sell? Install svn or git and start using it. If there is a problem then I would look for a new job as they don't have a clue.

  4. configuration control by Anonymous Coward · · Score: 0

    You need to explain the concept of configuration control. Configuration control can be done with or without version control software. Using version control software just makes the process easier.

  5. Don't explain _what_ it is, explain how it helps by Omnifarious · · Score: 5, Insightful

    First, you should've added a 'Mercurial' tag. :-)

    Explain what it will do for them. For example...

    So, let's say we're working on the website and the code behind it. We push out some new code one day, and a few days later, after we've already started working on a bunch of other stuff, someone reports a bug. One of the form fields isn't validating correctly.

    But, we've been working on that form already. We can't really tell if the bug is still there, or if maybe it was something that was wrong that got moved around. We also can't tell how the bug got there in the first place. That's because we don't know what the old code looked like exactly anymore.

    But, suppose we had a version control system.... Then, when we push new code out to the site, we know exactly which version we push. When someone reports a problem, we can easily go back to that version in a testing environment to find the problem for ourselves and figure out exactly what's causing it. And then, once we've determined the cause, we can analyze the history (because we've been keeping a history of everything we do) to figure out how the problem got there in the first place so we can do better next time.

    There you've explained how it helps you. You no longer need them to understand what it is exactly. You've just explained why it would be good for them to get it for you, and that's all they really care about anyway. They don't want to understand what it is. Understanding stuff like that is why they hired you in the first place.

  6. wait... by manicpop · · Score: 1

    If they're not technically people, what are they?

    1. Re:wait... by SuperQ · · Score: 5, Funny
    2. Re:wait... by Auroch · · Score: 0

      If they're not technically people, what are they?

      Mac users.

      --
      Quartz Extreme and Core Image. Are there any other real reasons to spend all that money on generic hardware?
  7. Explain it with Word by Anonymous Coward · · Score: 0

    "Ever wanted to go back to a version of a document you wrote a month ago? Compare it against what you have now to see the changes? That's what this is."

  8. How Dumb Are You? by Anonymous Coward · · Score: 0

    That's the question for the boss. Perhaps you should tell him/her that it's like "track changes" for computer stuff.

  9. Stack Overflow says... by Anonymous Coward · · Score: 5, Informative

    I will quote from Stack Overflow (http://stackoverflow.com/questions/1408450/why-should-i-use-version-control):

    Have you ever:

            Made a change to code, realised it was a mistake and wanted to go back?
            Lost code or had a backup that was too old?
            Had to maintain multiple versions of a product?
            Wanted to see the difference between two (or more) versions of your code?
            Wanted to prove that a particular change broke or fixed some piece of code?
            Wanted to submit a change (patch) to someone else's code?
            Wanted to see how much work is being done (where/when/who)?
            Wanted to experiment with a new feature without interfering with working code?

    In all these cases a version control systems should make your life easier.

    1. Re:Stack Overflow says... by plover · · Score: 5, Informative

      Another link from Stack Overflow (http://stackoverflow.com/questions/1469623/a-few-basic-version-control-questions) was a link to this series of articles on source control by Eric Sink: http://www.ericsink.com/scm/source_control.html Chapter 0 includes his list of benefits:

      • It provides a place to store your source code.
      • It provides a historical record of what you have done over time.
      • It can provide a way for developers to work on separate tasks in parallel, merging their efforts later.
      • It can provide a way for developers to work together without getting in each others' way.

      For a completely non-technical manager, a money analogy is probably more appropriate. Remind them that their source code represents the total of investments they've made in developing software. It's the output of thousands (or millions) of hours of very expensive labor. A source code control system is like a bank, keeping their investments safe and organized.

      From there, you can use all of these arguments to point out how expensive it can be to not have a source code control system. It's a single point to back up, making maintenance of all your source code simpler and more manageable. It lets you get back to when something worked, in case someone's made a change that broke stuff. It's an efficient way for developers and projects to share code, to browse the whole library of what you've got. Let them know that it makes people working on a program more efficient, because they're not spending time hunting down where the code is hiding. Let them know that the development tools you already use have the capability to integrate into source management tools (assuming you use Eclipse or Visual Studio) and that they work faster with them. A good source code management system makes things faster, not slower.

      You might give them specific examples of a couple of costly failures that impacted your organization. "Remember that time Joe spent two months working on Project X, and then his PC crashed and his disk drive went bad? Remember when Jane suddenly left and nobody could find the stuff she'd been working on? Those incidents had to have cost us several thousand dollars each in wasted effort redoing all that work. A source code control tool would have prevented them automatically."

      You could remind them that it's a computer program whose entire purpose is to automate the processes that your people are currently managing with manual processes. It can do those tasks far more reliably and much faster than the humans.

      And to dive off the deep end, a complete application lifecycle management system makes it much easier to organize everything about your products. It lets you manage everything by storing it all in the tool, such as requirements or other project documentation, along with the source code. You can manage the projects in the tool, by assigning work items in it, collecting and managing bug reports, creating tests, managing product feature backlogs, etc. An ALM tool can make the project visible to everyone involved by presenting project status on a web page. But given that your manager doesn't yet understand the value of such an ordinary and foundational tool as a source code management system, you'd no doubt scare them off by throwing out an ambitious plan to change a lot of stuff. But it wouldn't hurt you to consider features like those as potential next steps of improving your software engineering practices.

      --
      John
    2. Re:Stack Overflow says... by billius · · Score: 1

      Both of these lists are solid gold. Thank you so much!

    3. Re:Stack Overflow says... by Anonymous Coward · · Score: 0

      Unfortunately, most business people have never experienced any of these things.

    4. Re:Stack Overflow says... by Anonymous Coward · · Score: 0

      "Wanted to see how much work is being done (where/when/who)?"

      Shit man, don't tell management that!

    5. Re:Stack Overflow says... by Anonymous Coward · · Score: 0

      One thing I do all the time with git, using git hooks is ...

      Every time I change from testing my code to preparing it for production I have to make a few simple changes. I do them once and the version control system does them automatically for me every time after (and installs the software in production for me).

      Nobody seems to have mentioned that yet.

  10. Tell her it's like a car by ModernGeek · · Score: 1

    Tell her that it's like a car. You have different models every year, but you want to keep the old ones as a reference so that you can check out the old ones if the new ones have issues.

    --
    Sig: I stole this sig.
  11. "Track Changes" on Steroids by aaarrrgggh · · Score: 1

    It is simple-- Word's track changes on steroids. How much more than that do you really need to explain-- beyond working on a single "document," it works across all "documents" at the same time, but without mangling the report or needing to "accept changes" for each line of code.

    1. Re:"Track Changes" on Steroids by riverat1 · · Score: 1

      That might be useful if the boss knows about the change tracking in Word.

  12. Nutshell: It's like a ledger by davidwr · · Score: 5, Insightful

    Get his attention with this:

    "Would you run a business without a ledger?

    We've been running our software development like that and it's high time we started doing it right."

    Now that you have his attention, you can sell him on the particular version-control-system you want and, if necessary, explain the other good things a VCS can do, like provide legal accountability of which employee checked in what, forking off maintenance releases, and more.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  13. Why are you asking permission? by iiii · · Score: 5, Insightful

    Why are you explaining and asking permission to use a tool? Download git, install it, use it, done. Standard practice, free, so what's the issue? Just do it. The management doesn't want to see how the sausage is made.

    Also, there is a "manage your management" issue here. When the bosses ask if you need anything, you need to provide answers that they understand and can accomplish. Asking for something they don't understand and don't know how to get for you leads to them feeling stupid and ineffective. Line up your own tools without bothering them. When they ask what you need be ready with something that they can easily accomplish, like stocking the fridge with Mt. Dew.

    --
    Light cup, beer drink, thin so chain, neck turtle fat, man I won't say it again
    1. Re:Why are you asking permission? by Kittenman · · Score: 1

      Agreed. General rule for life - it's always easier to apologize afterwards than ask permission beforehand.

      --
      "The greatest lesson in life is to know that even fools are right sometimes" - Winston Churchill
    2. Re:Why are you asking permission? by Anonymous Coward · · Score: 0

      If you want your "sausage" backed up.. on a Source control server isn't one of the "production" webservers (typically a no-no)... than yeah... you probably want to clue them in so you can get buy-in to handle costs of backing up another server.

    3. Re:Why are you asking permission? by rknop · · Score: 1

      Exactly -- just do it. Download, install. Start doing "releases" of the tools for the social science researchers to use-- they can download tarballs (or whatever) and install them. You can also write a quick instruction web page for "how to get the latest version" that tells them how to svn (or hg or whatever) checkout the source, just in case anybody cares. But you'll have the version control for what you need. Only demand that the others learn it if they're banging on the code themselves.

      Eventually, that's how I got the astrophysics group I was working with back in the late 1990's to move from a craptastic flat-file database (read once when the data analysis environment *started*, never updated even if other people saved changes until you restarted your environment) into a real-time updated combination of PostGreSQL and flat files. I realized pretty quickly that having meetings and getting permission would just involve a lot of discussion and no action. I was in a position where I was the one running things, so I must made the change. There were a few bumps in the road, but eventually things worked much better.

      (One side effect, though, was that whenever anybody had any trouble with anything, "the database" got blamed and they came to me. I would get frantic calls that the database was broken when people who make typoes in simple commands.)

    4. Re:Why are you asking permission? by Anonymous Coward · · Score: 0

      With git, it's backed up very wall by virtue of the entire history being on everybody's workstation.

    5. Re:Why are you asking permission? by Anonymous Coward · · Score: 0

      Depending on your company and the regulatory rules they have to play by, this advice just might get you fired. Company I work for doesn't go QUITE that far, but they do have a FOSS policy that says "every FOSS tool must have a risk assessment done by Legal, and an executive's sign-off accepting that risk."

      For each and every version of a free or open source tool you want to bring in. (This is because some things change licensing between versions... which has the POTENTIAL of opening up lawsuit risks.)

      They've never denied a request, but they HAVE made developers remove a tool until the proper oversight is done. The "firing" option is written into the FOSS policies, just in case they ever decide they need to use it.

    6. Re:Why are you asking permission? by Anonymous Coward · · Score: 0

      The approach our software department used for that was to run our own server, but the files behind it are on a network share that IT takes care of backing up. We first tried asking IT to set up svn on one of their servers, but the software department here is a minor part of the business from their perspective, and the overhead for IT of having another server which they need to install and maintain meant that nothing was going anywhere fast with that request.

    7. Re:Why are you asking permission? by foniksonik · · Score: 1

      This. You should ask for extra RAM to run your 64 bit server properly AND a stocked fridge. Make sure you've got a decent switch in place for the extra traffic VCS will generate. Nothing worse than everyone trying to check out the latest version on a slow network attached to a memory starved server.

      --
      A fool throws a stone into a well and a thousand sages can not remove it.
    8. Re:Why are you asking permission? by pete6677 · · Score: 1

      Regardless of the company or industry, shit policies like this are ridiculously counterproductive. The executives who come up with crap like this (no doubt at the suggestion of CYA-ing lawyers) are probably bitching out the other side of their mouths about needing to cut costs, and never quite grasp the connection between needless work and higher costs.

    9. Re:Why are you asking permission? by swillden · · Score: 1

      Nothing worse than everyone trying to check out the latest version on a slow network attached to a memory starved server.

      Git is another solution to this problem. Cloning the repository is harder on the network because you're downloading a complete revision history (though represented in a very compact way) but requires virtually no CPU or RAM on the server, and once you've got your clone all of your subsequent work is very low-impact on the server in all respects: network, RAM, CPU.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    10. Re:Why are you asking permission? by GigaplexNZ · · Score: 3, Insightful

      There's free software out there with clauses in their licenses that say not for commercial use, and other potential restrictions. I don't think it's unreasonable (even if it would annoy me) to have such a policy in place to make sure 3rd party software licenses are not violated. Lawsuits can get messy and expensive.

    11. Re:Why are you asking permission? by Anonymous Coward · · Score: 0

      This is some of the worst advice I've ever seen. About anything. This is how you end up with a company or department that has seventeen different source control tools, none of which work worth a damn.

      Management can institutionalize usage of a tool like this so people *have* to use it and someone aside from yourself can support it. Especially after you leave your position.

    12. Re:Why are you asking permission? by Anonymous Coward · · Score: 0

      Thanks, without people like you I wouldn't get paid so much to go in and clean up the almighty mess cowboys create when they just download and install things.

    13. Re:Why are you asking permission? by Tom · · Score: 0

      Why are you explaining and asking permission to use a tool? Download git, install it, use it, done. Standard practice, free, so what's the issue? Just do it. The management doesn't want to see how the sausage is made.

      In the majority of Fortune 500 companies, that would get you fired with no questions asked.

      Sorry geeks, you are not special and no different from the pencil pushers when it comes to downloading and installing software on company property. You need to get clearance from legal/finance (licensing) and security. Sure, for git the licensing issue is a formality because it's free, but you still need a signature.

      Software development is still looked down upon because it's largely a free-for-all, do-a-I-please and that's just not how business works. This attitude of "I'll just do whatever I think" is what will - rightfully - get you into trouble.

      Convincing your boss is precisely the correct approach. A good boss won't need much convincing, he doesn't even need to understand things, he just needs to see that you have thought about it and really need it and aren't just looking for a toy to play around with because it was mentioned on /. this morning.

      --
      Assorted stuff I do sometimes: Lemuria.org
    14. Re:Why are you asking permission? by cyclomedia · · Score: 1

      Let me check-out that rule, refine it and check-in a new version:

      "It's easier to ask for forgiveness than permission"

      --
      If you don't risk failure you don't risk success.
    15. Re:Why are you asking permission? by stridebird · · Score: 2

      changeset: 3:c6d1653a288f

      "It is easier to beg forgiveness than to ask permission"

    16. Re:Why are you asking permission? by Anonymous Coward · · Score: 0

      And don't forget to mention the added cost of your new quarterly bonus.

    17. Re:Why are you asking permission? by cyclomedia · · Score: 0

      Nice, we should do a Release build of that one.

      Seriously, I have quite a control-freakery-micro-manager to contend with at work and this rule helps me out tons. If you try explaining something wonderful you CAN do he's not interested, if you explain something wonderful you're ALREADY doing, then he tends to get with it :)

      --
      If you don't risk failure you don't risk success.
    18. Re:Why are you asking permission? by HornWumpus · · Score: 1

      The trick with those is to give them something to do. Look around, there is something kind of tedious, not all that important and potentially very time consuming you can pretend is critical for long enough that he sniffs it out and takes it over. Something in bug tracking perhaps, depends on your process. Micromanagers love busy work, it's in their nature. They look like they're working hard. Then he is out of your hair.

      How much do you want to bet there are senseless management processes in every old organization that can be traced back to the above plot or similar decades ago?

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    19. Re:Why are you asking permission? by pete6677 · · Score: 1

      While you are correct, I think the chance of a lawsuit resulting from a company's internal use of open source software is very remote, to say the least. Now if the company is considering incorporating OSS/GPL material into their product line, a full legal review would of course be necessary. But when was the last time a company was sued because a developer installed a "no commercial use" piece of free software on his personal workstation?

      Weigh the probability of being sued and the potential costs thereof with the costs of lost productivity resulting from the prevention of the use of free software.

    20. Re:Why are you asking permission? by Anonymous Coward · · Score: 0

      There's all non-PD software out there with clauses in their licenses

      To single out free software is wrong.

      I don't think it's unreasonable (even if it would annoy me) to have such a policy in place to make sure 3rd party software licenses are not violated. Lawsuits can get messy and expensive.

      Free software projects rarely start lawsuits. At best they ask that irregular situations be fixed and try to shame abusers into compliance. They almost never have the financial resources to start lawsuits and they've deliberately made it free software which means they're usually more interested in making the world a better place than being paid.

      The PP is right; such lawyer policies are ridiculously counterproductive in any but the most anal of environments. Doing a review of licenses used in software sold (i.e. money is changing hands and your own license is on the line also) would seem reasonable.

      There's arisen a very damaging tendency in the US and elsewhere to attach a lawyer to every possible transaction between two or more people. Apart from being very profitable for the lawyers and very costly for everybody else it's simply a stupid thing to do. Who's to watch the watchers?

    21. Re:Why are you asking permission? by Anonymous Coward · · Score: 0

      I've seen this comment a few times from people on Slashdot in this thread.

      To propose the use of a system, such as revision control, without running it by your boss, without telling them, is a really poor business decision. What would that accomplish in terms of your relationship with your manager? Sure, it might make you more productive, but you must always consider the social repercussions of your decisions.

      Write a formal proposal including the cost of installation (in man hours with your salary, or a consultant's salary, as the baseline). Include considerations like the return on investment and the total cost of ownership. Include items about loss prevention and best practices. Set up a meeting with your boss to formally present your proposal.

      99% of the "my boss won't let me do XX" is because the employee either hasn't presented an argument that includes a business case or because the manager is threatened by his/her employee's superior knowledge.

      I can't say which is true for the OP's situation, but ignoring the social side of the problem and just solving the technical side is exactly why a lot of people hate technology workers.

      As an additional note, the management of an SVN server isn't really that significant. It took me approximately 3 hours to set up and administrate a dozen projects. That time is now about 15 minutes. On average, I spend about 0 minutes a month administrating our SVN server itself. Set up a virtual machine with a linux distro on it, install and configure your version control system of choice, and see what it really takes to work with it.

  14. Simple by MobileTatsu-NJG · · Score: 2

    "It's like massively-multiplayer undo!"

    --

    "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

  15. Use an example by Anonymous Coward · · Score: 0

    Tell Him/Her that's it's like Wikipedia.... when changes are made, if anyone makes a bad change, it makes it easy to revert to the good working version.

    simple. Easy. Something they should be able to relate to and it gets the point across without embarrassing them or making them sound like an idiot.

  16. CMS by Anonymous Coward · · Score: 0

    A lot of people are familiar with Sharepoint or something similar or a Wiki for version control of documents.

    Tell them Source Control is like CMS for source code with (most times optional "approval" process).

    As for cost, if you use subversion you are only out the cost of the disk/cpu server consumption it will entail (make sure to factor backups into your cost analysis however).

  17. Shift your vernacular... by Anonymous Coward · · Score: 0

    After working with researchers for five years, I would suggest you try comparing it to tools or constructs that said researcher would be more likely to use. Anything from "It's like track changes in Word." to "It's like having a grant manager for the web site. A tool to help keep track of everything that is going on with the project/site/code and verify/approve changes/additions/disbursements." or even (since you are talking social sciences) "It's like having a census for the web site." It's really all about finding a vernacular/construct that is relevant to their work.

  18. Re:Don't explain _what_ it is, explain how it help by DJRumpy · · Score: 4, Informative

    Very much this. Trying to give a technical reason to a non-technical person who doesn't understand the benefit is futile. Take a lesson from Apple. They explain technical benefits in a 'what it will do for you' way.

    Give a scenario where the lack of version control does something suitably bad, and then explain what it does when properly implemented.

    One caveat. Keep the benefit a bit more watered down than above. When dealing with management, keep it simple, and meaningful to them, not to you. Talking about validating a form field or whatnot isn't a good way to go about it. Talk about the lost time and productivity, potential impact while troubleshooting and finding root cause, etc.

  19. Simple Answers Are Best by indymike · · Score: 5, Insightful

    Version Control for code is exactly like accounting software for money. Without accounting, your business would fail as it becomes more complex. Eventually, without version control, the process of building software will fail as development becomes more complex.

    --
    -- Mike
    1. Re:Simple Answers Are Best by Auroch · · Score: 1

      Version Control for code is exactly like accounting software for money. Without accounting, your business would fail as it becomes more complex. Eventually, without version control, the process of building software will fail as development becomes more complex.

      This is an awesome answer.

      Just saying.

      --
      Quartz Extreme and Core Image. Are there any other real reasons to spend all that money on generic hardware?
  20. It's your responsibility to do it right by pclminion · · Score: 2

    As a blatantly non-technical person, your manager neither needs to know, nor cares, why a developer would want version control. You were hired to develop software, this is part of developing software. If it was a matter of cost, you would need to discuss it, but since there are good free source control systems available that don't require a dedicated server, just pick one and start using it.

    Do you also need to justify your use of a particular text editor or IDE? If management is technical I can see how they'd want input on these decisions (even in that case maybe unwanted), but for somebody non-technical you are just producing your own confusing mess by bringing it up in the first place.

    Your job is to develop, go do that.

    1. Re:It's your responsibility to do it right by wvmarle · · Score: 1

      You might want to say "like a car mechanic needs tools like a spanner, a software developer needs tools like an IDE and a VCS". Hoping that this is not too technical for them :-)

  21. If you describe it, you don't need it by AK+Marc · · Score: 1

    She suggested that we try to write up a brief description of what we wanted and how much it would cost, but I'm drawing a blank an how exactly to describe version control to a person who isn't very technical, let alone a developer. Does anyone out there have any tips on how to sell version control to management?"

    You don't have to describe the workings of an internal combustion engine to explain how a car is useful.

    When you have multiple people working on the same thing, you need to be able to track what happened when, so that you know what code a bug was reported in. You also need to "lock" portions of the code so that only one person is working on it at a time. List all such benefits, and try to put a price on them. Be reasonable though, as most of them are "fixed" by other means, and you don't want to sell a version control system, and price the one you want out of the range so that the solution is to hire a version secretary whose job is to track all that by hand, and you ask the VS for permission to work on a piece of code. That'll make your life harder, and cost less than some of the complex options (though not scalable, it'd be fine for most places).

    1. Re:If you describe it, you don't need it by Anonymous Coward · · Score: 0

      I would love to hear about a company that has a Version Secretary.
      Seems like the perfect plot for a dilbert comic.

    2. Re:If you describe it, you don't need it by AK+Marc · · Score: 1

      I never said it was common, I'm just saying that given the total cost and sales job I've seen for IT buying automation, it's often cheaper to hire a dedicated person to do it manually than buy the automated solution suggested. Usually because the IT person doesn't know how to put together a cost justification.

  22. Just call it "change tracking" by intrico · · Score: 0

    Many nontechnical users may be familiar with the "track changes" feature in Office apps like Word and Excel. The "track changes" feature is a basic form of version control . I would compare it to that or something similar. In my experience explaining technical concepts to nontechnical users, they tend to be receptive of comparisons with the familiar.

  23. Explaining version control by przemekklosowski · · Score: 1

    If you ever saved a file under a name such as mypage.html.Jun12 or, worse, mypage.html.old, you basically used a ghetto Version Control. You already agree that it is useful, so let me show how easy it is to do it properly, in a way that will remember everything about who, when, and how changed every file, and will prevent accidental overwrites and editing conflicts.

  24. Explain it in terms of something they already know by tcort · · Score: 0

    Explain it as being like Apple's Time Machine or Microsoft Office's Track Changes. It's a really smart backup system that lets you roll back to a specific point in time, see when someone changed something, see who changed something, and see why someone changed something (via the commit log message).

  25. Morale issue by ewg · · Score: 1

    Explain that it's a morale issue, makes developers feel they're working on a solid foundation.

    --
    org.slashdot.post.SignatureNotFoundException: ewg
  26. git for designers by Anonymous Coward · · Score: 0

    http://lmgtfy.com/?q=git+for+designers

  27. You were rewarded with lunch? Whoa now... by Trip6 · · Score: 3, Funny

    She thought enough of your work to take you to lunch? I think you have to declare that. I've been doing version control for years and never even got a Twinkie.

    --
    I hate being bipolar; it's awesome!
  28. Call them "saved games" by Anonymous Coward · · Score: 0

    If they're reasonably young, make an analogy with game saves in a video game and they will understand perfectly.

  29. Technically, I could tell you by Anonymous Coward · · Score: 0

    but then I would, technically speaking, have to kill you.

  30. Do you know what Google is? USE IT. by Anonymous Coward · · Score: 0

    http://lmgtfy.com/?q=what+is+version+control%3F&l=1

    Seriously, why is it that you didn't ask google the question?

    --BitZtream

  31. "If we have an audit..." by Anonymous Coward · · Score: 0

    "If we're ever audited, they'll want to know we're using version control."

    The best single answer I've ever found to work with management - they don't like getting stung by auditors.

    But the real answers are - Not using it is unprofessional, bordering on negligent.

    There is no cost to version control.

    Version control makes your life easier.
    It makes fixes easier.
    It allows collaboration.
    You never need to keep crappy old code "just in case we need it again".
    No more "oldfile.old.new.old.bak.2007(2)"
    If you use something like github it provides an offsite backup.

    Even in a team of one, using version control is easier, more efficient, and all 'round better than not using version control.

    Not using it is some dark ages shiz.

  32. simple. version control is a lot like accounting. by NemoinSpace · · Score: 1

    You just put the minus signs and the decimal points in different places.
    Congratulations Jones, the board loved your presentation. We've just put you in charge of accounting.

  33. Great description of version control by ckthorp · · Score: 1

    I usually explain version control as working just like a library with a small twist. Imagine that this library holds paper notebooks that are partially used. You can go to the library, checkout a notebook, and write and erase parts of it while it is in your possession. Just like a library, if you have the original notebook, no one else can check it out -- you have exclusive rights to the notebook.

    There is a bit of a twist that you can think of as working like an attentive librarian: every time the notebook is checked in, the librarian makes a complete copy and stores it in the reference section of the library. At any time, regardless of whether the original notebook is checked out, anyone can go to the reference section and read the reference copies of old versions. And, just like a regular library reference section, you cannot check those old copies out; they are read-only.

    1. Re:Great description of version control by DMUTPeregrine · · Score: 1

      That's a reasonable explanation of how it works, and a terrible explanation of why you'd want it.

      --
      Not a sentence!
  34. Explain it in terms of simpler software by Anonymous Coward · · Score: 0

    Version control provides the functions of several kinds of software rolled into one:
    - Backup, so you never lose your files, including older versions
    - Collaboration software, allowing multiple people to work on the same file
    - Logging software, so you can see what was changed when by whom
    The above may not be 100% exact, but should be enough to convey the benefits.

  35. Typos, or... by davidwr · · Score: 2

    One of their students was "Little Bobby" T.

    OT: I wonder how many /.'ers saw this comic in their mind without having to follow the link? :)

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
    1. Re:Typos, or... by Newander · · Score: 1

      I actually have it hanging in my cube.

      --

      Jesus saves and takes half damage.

  36. Have them watch a Ted Talk by Anonymous Coward · · Score: 0

    I watched this today, which is a different take on this which may help some folks that don't exactly get collaboratively managing information.

    http://www.ted.com/talks/clay_shirky_how_the_internet_will_one_day_transform_government.html

    1. Re:Have them watch a Ted Talk by eepok · · Score: 1

      I came here to suggest this very thing.

  37. FREE! by TiggertheMad · · Score: 1

    She suggested that we try to write up a brief description of what we wanted and how much it would cost ...

    I don't understand why this story is tagged with git and svn then asks how much it will cost.

    Amen bother. To Poster: Don't explain how much it will cost. Go get SVN, which is free and simple. GIT is more powerful, but sort of overkill if you are just two people within shouting distance. Don't bother trying to explain it to her, and use her offer to help with tools on a product that you can't get for free.

    --

    HA! I just wasted some of your bandwidth with a frivolous sig!
    1. Re:FREE! by AlienIntelligence · · Score: 1

      Amen bother. To Poster: Don't explain how much it will cost. Go get SVN, which is free and simple. GIT is more powerful, but sort of overkill if you are just two people within shouting distance.

      iPhone user?

      -AI

      --
      For me, it is far better to grasp the Universe as it really is than to persist in delusion
    2. Re:FREE! by vlm · · Score: 1

      Go get SVN, which is free and simple. GIT is more powerful

      I warn you, you'll regret it.... you can emulate svn in git merely by typing different command lines in a nearly 1:1 manner. If I recall SVN correctly, its been a few years, something like "svn update" is exactly coincident with "git pull". I think the absolute worst case scenario is where you used to "svn commit" in git you have to "git commit" and then "git push" to shove it up to a central repo...

      The killer feature for GIT is when you understand branches and either use GIT-flow or doom yourself to reimplementing GIT-flow imperfectly. If you do branching "correctly" then you pretty much end up doing it the git-flow way so you may as well use git flow to automate the steps.

      Nobody who switches to GIT later says to themselves, "man, I wish I had used SVN longer before switching"

      Also while you're in the apt-get mood, may as well setup gitolite and gitweb and gitstats and a cron job to run gitstats on all your repos. gitweb and gitstats do what you'd guess. gitolite is basically a git hosting "service" for multi-users and multiple project that is configured, itself, in a git repo. If you start using git by having everyone ssh into some endusers account you'll inevitably WTF and either switch to gitolite or painfully reimplement gitolite.

      Finally... backups... you need to backup the SVN server... however anyone (or anything) with a recently pulled git repo IS a backup, plus or minus some branch issues. People look at me weirdly when I explain I have over two dozen backups across the country of the total history of all my stuff automatically.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    3. Re:FREE! by paraax · · Score: 1

      Speak for yourself. Tried git for a small project. It may be that I just didn't understand the push's properly, but as it was explained a gatekeeper would have to merge all pushes into the central repository. This seemed like an unnecessary burden when work is naturally segregated into modules and sharing needs to occur regularly. That and the commit with a merge somehow managing to put diffs into the file and I never quite trusted it to handle merges again.

      Working with svn now and I'm much happier. Possibly just matches our admittedly simple workflow much better.

  38. Perforce by Anonymous Coward · · Score: 0

    Why not get the free Perforce - at www.perforce.com
    A small configuration like yours (about 3 people?) does not need a license version - and the best part - it is Free

    1. Re:Perforce by Dr_Barnowl · · Score: 1

      "The even better part - should your needs grow, Perforce will have their foot in the door, and management will see the benefits of paying them a license fee to reduce risk, even if the geeks tell them they could just migrate to something else."

      Free with a capital F? Hardly.

  39. Sounds exactly like a university IT approach to me by Ahab's+compliments · · Score: 1

    .... particularly a departmental one, where there's been a history of ad hoc development that met the needs of the staff well when the applications were first developed but there is no management buy-in to maintenance of a code base and no culture of rigour in the developers who may have been brought in and out to do piecework. It's also a standard approach for a manager in an academic position to want a justification, which is fine, although sometimes they want to make insightful comments/recommendations from their academic disciplinary perspective which is often not useful. Academics also ask for a lot of information - after all, their job predisposes them to be analytical - whether they really need to or not. If you really need to sell it, the image in the first reply is helpful - http://upload.wikimedia.org/wikipedia/commons/a/af/Revision_controlled_project_visualization-2010-24-02.svg talk through that, explaining how branches and versions are used in the development process - contrast with the opposite scenario when versioning is not used.

  40. Re:Nutshell: It's like a ledger by HornWumpus · · Score: 0

    These are social 'scientists'. That would work for businesspeople.

    I think he should obfuscate the explanation with lots and lots of multi-syllabic synonyms for common words. Spend lot of time babbling about multiple perspectives on project documents and avoiding conflict.

    I think the key analogy is lending library. You checkout a document to modify it, the library keeps track of changes and makes sure everybodies work is backed up. Requiring a checkout prevents multiple people making modifications and work being wasted. Everybody can have a read-only copy or authors can keep documents private. Lone geniuses can keep their whole project checked out for months or years, though it should be discouraged. Paranoids can keep their projects encrypted (use encoded) to keep the CIA out of their thesis', though that wrecks change tracking.

    Your job is to translate the above paragraph into social 'scientist'. The resulting document will be many pages long, have no words shorter then 3 syllabils, and require a week to untangle. Your explanations up to now have no doubt been too clear for them to grasp. Use their jargon, not yours. It will suck.

    Be careful or you will admin the departments records for them and still not have version control.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  41. Example benefits, not internals by greg1104 · · Score: 1

    Non-technical people don't care how version control works or what it does at a low level, and they shouldn't have to. I would explain what type of problems it helps solve, with examples.

    Programmers have to make changes to programs to try and improve them. There are several parts of that job that are made easier with version control software. Some examples are:

    • Sometimes those changes don't work as expected. They might break a program that worked before the change. Version control software lets you easily get back to the older, working version when this happens.
    • When two programmers make changes, they can conflict with each other. Version control software helps each programmer cooperate, to eliminate the conflicts when this happens.
    • When programs are tested, programmers need a way to mark exactly what version of the program the tester used. Version control allows doing that. When a tester reports a problem, a programmer using version control software can more easily duplicate the bug.
  42. Book analogy by Anonymous Coward · · Score: 0

    Imagine you write a book. You write 10 pages. You photocopy them and store them somewhere safe. Then you write another 10 pages and in the mean time you made corrections to some of the previous 10 pages. Total 20. You photocopy all those 20 pages and store as well. That's what version control is without optimizations.

    Simple.

  43. Additional tools .. by dgharmon · · Score: 1

    "During lunch, she asked us if there were any additional tools we needed to do our job more efficiently"

    Don't ask, what's going on here is that neither of them will take responsibility of implementing changes. You may well wonder the managerial polotics that results in why you have to report to a non-technical administrator. Just install the thing and go ahead and start using it.

    --
    AccountKiller
  44. Obligatory by scire9 · · Score: 0

    "I don't know how to explain source control without waving a gun." -- The Profound Programmer http://i.imgur.com/I4C16.jpg

  45. How managers think by BL0 · · Score: 1

    The manager will want to know is the cost of implementing version control worth the risk of not having it. (Even though most version control systems are free - the time for the contractors to implement them are not) Your job is to show what the risks are for not having version control and combined with the total costs that it would take to implement a solution. This is why they want a task brief. It is then up to them to make a decision if they can afford the risk.

    1. Re:How managers think by serviscope_minor · · Score: 1

      Even though most version control systems are free - the time for the contractors to implement them are not

      Huh?

      If you need to get a contractor in to imlement a version control system, then you either have wildly incompetent devs, massively overloaded devs and/or a very top-heavy management stytem, especially for something the size and shape of a university department.

      For SVN, you need an old machine/VM, apache and, well, that's it, really.

      Or some NFS share for git, svn or whatever and access controlled by unix groups.

      It's a couple of hours to set up if you're not already familiar with it, most of which will be waiting for Linux to install.

      Of course, you need the servers to be backed up, but you should already have a sane backup system in place, otherwise you have more problems than a lack of VCS.

      If you need a contractor for a couple of hours work, then you're not in a good place.

      --
      SJW n. One who posts facts.
  46. Just do it. by Anonymous Coward · · Score: 0

    *bleep* management and their proposals. If you are making software, you need version control. Just use whichever of {rcs|cvs|svn|git|mercurial|bzr} you want, but start doing it now.

    You can write proposals for something expensive when you are bored.

  47. History/debugging, undo, collaboration, sand box by sleepypsycho · · Score: 1

    Here is my list of what I would put into a report on the benefits: 1) History/Debugging: It lets us review what changes are made when and why. This can really help debugging because we often know when the problem started showing up so we can see what changed and what might have beend the cause. 2) Undo: We can go back to an earlier version when some changes we made were bad or headed in the wronge direction 3) Collaboration: It has powerful tools for collaboration that make it easier for team to work on a project at the same time 4) Sand Box: It provides a way to create local trial versions that are not shared by everyone and can be merged in later. 5) Backup: Organized system of backup and retrieval, nothing is accidentally lost and we don't each come up with out own way to back it files 6) Versioning/Stability: It allows us to have some people fixing bugs in the version everyone is using while most people are working on new features. So no one has to deal with an unstable version in order to get an update with fixed bugs.

  48. use tps reports... by Anonymous Coward · · Score: 0

    If you have to explain it, easy:

    Imagine you are writing up your tps report. You submit it, but the boss says nope change these things. You make the changes. Your boss turns back to you and says, I liked it better before.

    Revision control is a system that will give you back the original document even though you saved over it.
    Revision control gives the programmer confidence to make changes because you can always go back to the old version if something goes wrong.

  49. here is a shot without using metaphor by mothlos · · Score: 2

    Metaphor can be useful, but it can also cause problems. Here is a shot at a simple explanation without metaphor.

    A version control system maintains a log of all changes that are made to the source code of a piece of software. When a problem arises in a piece of software, the version control system can help find out what code was changed, when it was changed, and who changed it. Without this information, tracking down the piece of code causing the new bug can take a lot longer. This log can also be used to undo changes which prove to be problematic.

    Explaining how version control helps developers recognize conflicting commits is a specific example and likely lost on lay folk without quite a lot of explaining.

    1. Re:here is a shot without using metaphor by Anonymous Coward · · Score: 0

      Explaining how version control helps developers recognize conflicting commits is a specific example and likely lost on lay folk without quite a lot of explaining.

      That's too complicated.

      Version control is like accounting for a business or inventory control for a warehouse. It tells you who did what, when they did it, and where they did it. It helps prevent fuck-ups from happening, and on the chance they do happen it makes it faster and easier to sort it out and, if necessary, assign blame.

      That is simple, to the point, and easily understandable by pretty much anybody.

  50. If you can't explain, you don't understand... by PortHaven · · Score: 1

    Explain that it is three-fold:

    1) The first is a record of all prototypes and changes along the way.

    2) A back up repository that keeps a copy

    3) Facilitates multiple people working on the same item so that everyone receives the changes.

    How to conceptualize it, express that it's like designing a brochure. You create a rough draft, it's send to your boss for review. She requests changes. So you create a revised copy with her changes. It then is sent off to the department head, and the project head. Both make annotations for the changes they'd like to see. Those are returned and then merged to incoporate all the changes. The next year you are releasing the brochure again, but it requires updates. This continues every year. But one year the department head says they want to make the brochure more like the one they did in 2008. So you're able to pull up the older design from the archive.

    Changing it to a real world workflow they can understand will help them see the benefit.

    As for cost...I would simply estimate the cost of having xxxx amount of gigabytes of redundant storage - at least mirrored.

  51. // feline alley gory // by TheRealHocusLocus · · Score: 2

    Version Control is like a very long cat. You pull the latest stable version off in New York, meanwhile an unstable beta is mewing in Los Angeles. Version Control is the same, only there is no cat.

    --
    <blink>down the rabbit hole</blink>
    1. Re:// feline alley gory // by Megane · · Score: 1
      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
  52. Pretty easy by bhcompy · · Score: 1

    You tell them that Apple, Facebook, Google, and Microsoft all use it in some form, and that it's necessary for any form of development. They go "Wow, I didn't know! Where do I sign?"

  53. Re:Nutshell: It's like a ledger by clintp · · Score: 4, Insightful

    Mod the parent up, this is the first non-techie analogy that makes sense to anyone with any accounting or business background.

    The "ledger" idea is the elevator speech you can give to the pencil-pushers. It's one thing to know what the bottom line on a balance sheet is, it's another thing to know how the numbers got there. Multiple sources of changes (Payables, Receivables, Sales, Petty Cash, etc...), in multiple directions (debits/credits), in multiple categories (Assets, Liabilities, Equity) . You'd be foolish to run a business without a general ledger. Source control is the ledger for the software.

    --
    Get off my lawn.
  54. Try a riff on "change management" by mschuyler · · Score: 1

    Use a technical document in a library as an example. When changes are made in a piece of machinery those changes need to be reflected in the technical documents that show how a given piece of machinery works. So the manufacturer sends out "changes" in the form of a few pages reflecting the changes, and instructions as to which pages to replace.

    The old pages are thrown away, and the new pages and the title pages now reflect that the document is now version 1.1 instead of 1.0. As this continues to happen over time a glance at the title pages shows the gradual changes in the document. It contains an entire history of all the changes and what they were.

    (Parenthetically, have you ever encountered HP doc changes for something like HP-UX? Let's just say they waste a whole lot of cardboard and plastic wrap.)

    In any case, use a library-like analogy, and it may get through. Good luck.

    --
    How about a moderation of -1 pedantic.
    1. Re:Try a riff on "change management" by tgeek · · Score: 1

      Or present it as what is: a document management system where the significant majority of the "documents" are source files. You shouldn't have any trouble finding resources describing doc mgmt systems.

  55. You're missing the point! by Anonymous Coward · · Score: 5, Insightful

    Cost is *not* the issue. You don't just "put the website under version control" that's a command in a free to download, free to use software package called [ git | svn | cvs ]. Source Control is *not* a tool. It's a technique. You don't need supervisor permission to backup your files, and you don't need supervisor permission to use source control. What you need to do is start using it, and ensure that everyone *else* who contributes uses it, too. That's a policy detail and needs someone to enforce it.

    The selling point of source control is that it is more than just a backup - it allows you to track changes to the site and more importantly *who* made *what* changes and *when* and *why*. Otherwise you don't know if changes are made, who made them, when they made them, or why they were made. One would think that *social scientists* would be able to appreciate knowledge of history without any notion of "cost"!

    1. Re:You're missing the point! by TapeCutter · · Score: 1

      Source Control is *not* a tool. It's a technique

      Quoting the above to draw the attention of mods to the most informative comment in this thread.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    2. Re:You're missing the point! by clodney · · Score: 1

      What you need to do is start using it, and ensure that everyone *else* who contributes uses it, too. That's a policy detail and needs someone to enforce it.

      Bingo. Source control is an unalloyed good thing, but only if everyone is using it. All it takes is one influential holdout to bollix it up. Suppose that in an effort to get everything into a repository you do lots of work to ensure that the current production code is checked in. But a very senior, highly trusted developer has no interest in using it, so continues developing code from his personal workstation, never committing changes. Now he is on vacation, a bug pops up, someone else innocently goes to the repository, fixes and deploys the code, and loses a bunch of changes that the aforementioned highly respected engineer has already deployed. Customers are screaming, and the engineer blames the source control system (totally unfairly). Now the seed of doubt is planted in managements mind, and everybody is yelling at everybody else.

      Source Control is an easy thing to sell to developers once you use it at all. But it only works if everybody is on board.

    3. Re:You're missing the point! by HornWumpus · · Score: 1

      The key problem in that scenario is allowing a senior highly trusted developer to short circuit the deployment process. How the fuck would he have gotten his code to deployment without checking it in? Is he doing shipping builds on his workstation? What about versioning? Installers? That's just insane. No amount of version control could fix that. It is simply a management issue.

      Once he's checking in for deployment, the constant merging will turn him turn into one of the 'constantly checked out' people. Which is progress. He's using it wrong, but he's using it.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    4. Re:You're missing the point! by clodney · · Score: 1

      My assumption is that an organization that doesn't have source control doesn't have a deployment process. So yes, he is doing shipping builds on his workstation. If you aren't checking code in, chances are you don't have a build machine either.

    5. Re:You're missing the point! by Anonymous Coward · · Score: 0

      Actually, the selling point of source control, for our company, IS that it is a backup with revisions you can quickly and easily browse. Change tracking plays very little into it for us.

      Please don't make generalizations about me.

  56. Analogies usually work for me... by Anonymous Coward · · Score: 0

    ...so in this case I'd tell them it's like MS Word's "track changes" feature. And then, building on the other comment about explaining how it helps, you'd walk through an example about reviewing changes and approving some and rejecting others.

    I know the analogy doesn't hold up if you're talking to a technical person but you've already made it pretty clear that they're not technical. Put it in terms they understand even if it's only partially correct--you can baby-step them through the rest as the need arises.

  57. Look for the right analogy by pt73 · · Score: 1

    Some people have mentioned "backups" as an analogy. While partially true, when you come to talk about backing up the repository (for centralised version control), you'll get the inevitable why backup backups? Given they are researchers, I suspect the best analogy is multiple authors writing a text book. Often writing a book is broken up into chapters with each author writing a chapter. Version control effectively keeps a copy of each draft but rather than keeping copies of each draft, version control manages that process for you. Sometimes multiple authors work on the same chapter. In this case they may take turns. Again, drafts follow a sequence and so this essentially becomes the single author problem with a slight level of complexity. However sometimes someone might review a draft while you continue working. You will receive the review and incorporate changes into your current draft. Verson control provides a process to handle this without having to meticulously go through the review to decide on changes that need to be incorporated. Then explain that unlike authoring a book, a software developer could be generating drafts very quickly - multiple times a day. Other analogies may be the practice of keeping a log book where version control is logging changes to code and (hopefully) reasons for those changes.

  58. Mercurial and S3 - cheap! by erc · · Score: 1

    Turnkey Linux and Amazon S3 - the download's free and I spend a couple of dollars a month to store backups. All you need is a machine :)

    --
    -- Ed Carp, N7EKG erc@pobox.com PGP KeyID: 0x0BD32C9B What I'm up to: http://intuitives.mine.nu
  59. Why not just use it? by Pope+Raymond+Lama · · Score: 1

    You could get one of tens presentations on what it does, point them to the wikipedia article on version control -- but I see all of that as orthogonal to actually using it.

    Just _do_ use git or mercurial on the project - you should already be doing it, and you know that. Btw, those 2 systems are light years ahead anything proprietary V.C. tools have to offer nowadays - not ot mention the complete desburocratization on initally versioning a code base to start with: no need to setup a server, no need to a complicated build process to get the newest version running. Just relax, init the repo, add the files, and you are rolling.

    --
    -><- no .sig is good sig.
    1. Re:Why not just use it? by mattyj · · Score: 1

      Yeah, sure. Just send out a memo to all the developers that 'we are now using git, good luck.' Chances are even the developers don't really have a clue about version control, because they'd be using it, right? There's probably a lot of students in there that have not been exposed to version control, so please don't do anything as stupid as 'just install it' and think that they'll use it. What you'll be doing is creating a hatred for the idea of source control, and when these kids go out into the real world they'll be a few steps behind.

      Better to do it right, involve the developers, build a tool that they want to use and that they can fall in love with. Better to educate than to repel.

      By the way "those 2 systems are light years ahead anything proprietary V.C. tools have to offer nowadays" is patently absurd.

      If you really care about how the tools function and what they can do for you, by all means download the OSS and commercial version control tools and set your developers loose in a test environment. Anyone making blanket statements like this is participating in dogma and nothing else.

  60. How I explain it to students by Yosho · · Score: 1

    So, I teach an intro-level class at a community college on software project development. It covers stuff like version control, issue tracking, continuous integration, unit testing, and so on. We use both Subversion in Git in class for exercises, but I try to talk about general concepts and describe how other VCSes do things, too. With that in mind, my intro to version control speech usually goes something like:

    The first thing I'm going to talk about is what's called a version control repository. The repository is a lot like a normal folder on a computer; it holds files and folders inside it. The thing that makes it special is that it remembers every change ever made to it. Every time a file is added, deleted, moved, or changed, it remembers what time the change happened, what was changed in the file, and who changed it. The repository exists on a server on the network, so whenever anybody changes a file in it, their changes are shared with everybody else. (note: I know distributed VCSes are different, that's a topic for a few weeks later)

    What kind of things can you do with that? Any ideas? (wait for suggestions from the class) The most important thing is that you have a backup of every version of your files that has ever existed. If your hard drive catches on fire, you can get your files back from the repository. If you make a mistake in a file and need to undo your changes, you can always get the previous version of the file. As long as you're using the repository, you never have to worry about losing any data or making any mistakes that can't be undone.

    It also makes it easy to coordinate changes to files with other people. If multiple people are working on the same file at once, the repository can show you the differences between the files and indicate who changed what. If a bug is introduced into your program, you can get the files from a previous version where the bug didn't exist, and you can easily see what has changed in the files since then and who made the changes.

    So, to recap: version control is like an unlimited "undo" button that is backed up to the network, shared with other people, and can tell you who changed what. It can be used for a lot of different applications, but you can probably imagine how this is really important for software development.

    (and that's how I explain to newbie coders)

    --
    Karma: Terrifying (mostly affected by atrocities you've committed)
  61. Re:You were rewarded with lunch? Whoa now... by Anonymous Coward · · Score: 0

    I've been doing version control for years and never even got a Twinkie.

    Me neither. But here in Texas we get paid in BBQ.

  62. Just show 'em. by Anonymous Coward · · Score: 0

    Create a short file. A couple of lines will do. Any text you like. Check in into RCS. Modify text. Check it in again. Check it out at different revision levels (co -p). This is what we had before. This is what we have now. Simple. Easy to understand.

    Then you can get into multiple branches and merging and whatnot and confuse the heck out of 'em.

    The takeaway will be the first part, the simple stuff. "We can get back to where we were." The complex stuff will fly over their head. But they'll just figure if the simple stuff is so incredibly useful, the complex part must be even more important to have!

  63. Typical geeks... by Anonymous Coward · · Score: 0

    Really folks, maybe you should take time between coding sprints for some English lessons, basic writing skills, even Toastmasters.

    This story simply floors me. Two times they asked you if you needed any stuff, and both times you said YES, wimpty dimpty floodle dee bee.

    You should have said, YES we need a server to store all the hundreds of files we have and keep them organized and backed up. It would cost around $3000 or so.

    What on earth is this "source control" you are blabbering on about. Isn't that a piece of software that YOU install on a server? Yes, YOU!!! Why are you bothering these kind people with stuff that is simply not their job. They offered to help you do yours, so tell them how many bucks it costs to get what you need, where it can be bought, and get on with it. And don't forget extra hard drives for backup copies. Extra servers would be nice, but the hard drives are essential.

  64. My source control horror story by Anonymous Coward · · Score: 1

    A few years back my group worked with another group on testing new silicon. Our bosses were completely different, starting at layer 2 management (they were hardware, we were software, level 1 management was the CEO). They used shared Windows directories, no version control. It was common to get email "would whoever broke foo.c for lib bar.a about 20 minutes ago please fix it?". And I have to admit, I broke their build more than once when confusing my editor on my working code with my editor on their reference code.

    After about 18 months they finally agreed to use source control. Very good, thinks I. Then one day I start looking at their version history. I saw they were overwriting changes, doing odd reversions, and generally messing up.

    Then I figured it out. Every night they would delete the entire repository. Then they would re-submit the current contents of their working directory. Every odd version was a "new file". Every even version was "delete file".

    I sent them mail saying they were Doing It Wrong, got mail back saying "It Works For Us", I pointed out the changes they made but lost, they said "Works For Us", I never mentioned source control to them again.

    1. Re:My source control horror story by Snotnose · · Score: 1

      I, snotnose, am the author of the horror story above. I thought I was logged in.

    2. Re:My source control horror story by deek · · Score: 1

      No, I am the author of the story above, and my name is Brian.

    3. Re:My source control horror story by serviscope_minor · · Score: 1

      No, I am and so is my wife.

      --
      SJW n. One who posts facts.
    4. Re:My source control horror story by serviscope_minor · · Score: 1

      I, snotnose, am the author of the horror story above. I thought I was logged in.

      Some people are simply idiots and cannot be helped.

      If they were in a machine shop, they would do sumbass things like try to turn bolts with pliers instead of a spanner, or ham a flat-head screwdriver into a hex head to turn it. Fortunately in that kind of environment, they would outright be fired even if it "works for them".

      It also never ceases to amaze me how much people will claim something works for them even when it does manifestly not, and things continually break. It also never ceases to amaze me how much effort people will put into refusing to learn the correct tools. Each breakage that has to be fixed by hand will take about as long to do as to learn the basics of the right tool, yet people will put in the fixing time weekly or more. The payoff time is something like a fortnight and it just keeps getting better after that.

      What is particularly hilarious is that people will often do this while claiming that they won't switch because they know the tools. My favourite example is a bunch of programmers/engineers working on a massive, shared word document (never do this). Naturally, it's a nightmare. Everyone refuses to switch to a more sane took because they "know word". Except they noone seems to know how to do more than change fonts, so noone uses even the built in styles and cross-referencing. Each time, the merge took some poor bastard about a week solid to fix it up.

      --
      SJW n. One who posts facts.
  65. Branching by PmanAce · · Score: 1

    I would probably briefly mention this incredibly important aspect of source/version control, strange that I haven't seen anyone mention it.

    --
    Tired of my customary (Score:1)
  66. Multiple backups? by aNonnyMouseCowered · · Score: 1

    "Some people have mentioned "backups" as an analogy. While partially true, when you come to talk about backing up the repository (for centralised version control), you'll get the inevitable why backup backups?"

    So what's wrong with having "multiple" backups? There's no need to go into more sophisticated non-IT analogies when a backup is the one thing any responsible administrator should have as a matter of policy.

    Want something more sophisticated? Tell him/her that's it's a backup would multiple levels of undo. "Undo" or Ctrl-Z is a familiar enough concept.

    Leave the details to your fellow techies. Or you'll suffer the fate of those climate scientists who don't get a good press because they're so subtle with their description of what's happening to the weather.

  67. an oft overlooked aspect. by Kaenneth · · Score: 1

    Blame; being able to know who inserted racial slurs into your product is useful for knowing who to fire.

  68. Re:Nutshell: It's like a ledger by PPH · · Score: 2

    Read the summary: The OP is working for the social science department of a university. So the answer to the question, "Would you run a business without a ledger?" might very well be, "What's a ledger?"

    --
    Have gnu, will travel.
  69. Timemachine by Anonymous Coward · · Score: 0

    Come on! It's not like Apple isn't using the concept to explain things already.

    Version Control is nothing more than a multi-revision filesystem. Like Git. You can explain it that it acts like a timemachine, so if you make a mistake, you can go back to a version that does not have a problem and and see what exactly went wrong and fix the problem in the current version.

    It also tracks who did what, where and where.

    You don't need to explain anything else.

  70. If they're that bureaucratic by hey! · · Score: 1

    Explain to them that version control is the cornerstone of practically all modern software development best practices, whether they be agile or waterfall oriented. It's open and shut. You can't do best coding practices without version control. Period. The reason is that version control is fundamental to collaboration. Without it collaboration is awkward, time consuming and error prone.

    If the project is small with only a single developer, collaboration includes handing off responsibility for the system to that developer's successor. No more dumpster diving through the old guy's hard drive to find all the files that make up the system (and wondering if you got the right ones). The new guy simply checks out the current version from the source control server and he's ready to roll. Not only does he have the current version, he has a *complete* history of *all* the changes made to the software and why. You can toss the old guy's hard drive in the trash. This is even more so if you have a build automation tool like Maven that allows you to retrieve all the library and framework files you need to set up a build system on a new machine.

    For teams working on software simultaneously, source control eliminates the kind of three-legged race you have to run to make sure all your changes work together. Sure, some of the time you have reconcile incompatible changes, but it's much easier when you can retrieve, compare, even *merge* different versions of any file in the system.

    Source control is essential for support and for responsible management of software development investment. It allows you to find out not only what changed, but why. It allows you to recreate your software (or web site) at any point in the past, by version number or by date, do whatever you need with that data, and then simply toss your copy of the source files away -- all that old information can be instantly recreated any time you wish. No more confusing and redundant files and directories on your development machines (e.g. "myfiles.save.c" -- why was I saving that? "myfile.new.c" -- when was it new, and what was new about it? That kind of malarkey is unprofessional).

    By removing the clutter, bookkeeping, and errors created by juggling versions of files on your hard disk, version control becomes a kind of safety net that allows you to be more creative, trying things that might break the system in full confidence that you can get anything you want back any time you want. You can also branch of speculative versions of the system, throw them away if you don't want them (and get them back if you change your mind), and merge those branches (with a some work of course, but it's a lot easier knowing you can't possibly screw anything up).

    Version control is so immensely useful, I think people should use it for *everything*, including personal documents, papers, proposals ... anything whose integrity or history is important. Researchers who keep data in Excel spreadsheets or Access databases ought to use version control on those. They ought to put their scholarly papers in version control too. The problem is that most source control systems are overkill, but if you have an in-house expert (a professional developer) he can train people on the stuff they need. I keep all my personal writing in bzr, which isn't necessarily the system I'd choose for software development, but it's simple, easy to use and cross platform.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  71. This is undoubtedly astroturf. by superwiz · · Score: 1

    Every version control system which is free is better than every control system which isn't. NOT BECAUSE it's free, or because it's open source. But because it is. There is plenty of examples of bad open source projects. Version control just happens to be better implemented in the open source projects. Some will, undoubtedly argue it is because of the the philosophy itself, I will reserve the judgement of the philosophy for myself (in this case) and let everyone be their own judge of the open source philosophy. But, in this particular category of software, every single particular example happens to be better than every commercial one. So if you trying to imply otherwise with a slashdot post, you are either looking for ideas on how to market a turd commercial version control, or you are hoping to get people to take a look around and notice what you are selling. Not going to happen.

    --
    Any guest worker system is indistinguishable from indentured servitude.
    1. Re:This is undoubtedly astroturf. by Anonymous Coward · · Score: 0

      You're out of your mind. There is no 'best' or 'better' source control tool, it all depends on the type of project you're working on.

      Try developing a 3rd or 4th generation game using git, where your local database might have to be 3-4 TB. All this general OSS RULEZ stuff is disingenuous.

      git and mercurial are great in environments with the know-how and leadership to support it, but in an environment where single assets might be 100's of MB in size? The idea of using distributed, OSS version control is ludicrous.

      So, you know, do some actual research or get a job in the field before you go blabbing about things you know nothing about.

    2. Re:This is undoubtedly astroturf. by cbhacking · · Score: 1

      Eh, give me Perforce over Subversion (I've used both; the latter is simple but lacks some things) much less anything older like CVS or RCS. Git and Mercurial are probably better still (although the only place I've used Git, it was wastefully overkill and I'd have preferred something much simpler).

      --
      There's no place I could be, since I've found Serenity...
    3. Re:This is undoubtedly astroturf. by serviscope_minor · · Score: 1

      It's not surprising that OSS VCS systems are better. VCS systems pretty much do not have users who are not developers. A large fraction of the users know how to hack the tool. It's the ultimate in itch scratching tool developed to be optimal exactly for the sorts of people who use it.

      It's kind of unfair to compare perforce to CVS. CVS is ancient and many projects have migrated from CVS to something newer. This encourages people to use silly words like deprecated or legacy, but basically it was pretty much the first VCS which didn't suck (with locking and all), and was AMAZING for what it was.

      SVN is CVS done right. If you like the model of CVS, then SVN fixes all the warts.

      But your comment about git is quite telling. I used to be a big fan of CVS, in that I started using it in 2005 back when it was pretty much the only sane choice as other things weren't widespread or stable enough. I loved it. It was a breath of fresh air and turned my drab, meaningless existence into a magical world of rainbows and unicorns. OK, that might be hyperbole and technically the unicorns came later, but you get the idea. I wasa big fan and it made part of my life much more pleasant and was a massive improvement over things gone before. The client/server model is "obvious" and quite straightforward.

      However, I basically switched everything I do over to git. I got started a few years later on DVCS systems. The model of DVCS is not actually any more complex, but is different and you have to change mental model before. I've used DARCS a fair bit and love it, except that it chokes on large files. I've used Mercurial a tiny bit and it seems OK. I got badgered to shift my OSS projects from CVS to git and I did. As as result, I mostly use git now because it is good enough and has enough momentum in my life to make it the easier choice.

      I wouldn't claim to be an expert, but I would say that if you find that $DVCS (e.g. git) is massively overkill, then you're probably doing something wrong. They all have lots of features and all do more or less the same things. They're all about equally easy to initialise a repository, but for non DVCS you have to choose a server.

      The key to understanding is to understand the model of how they work. You have internalised that for CVS and SVN, I expect. For DARCS, it's what you get if everything is done by emailing patches and you make a VCS around it (that and some cool maths which I don't understand). With git, it's like you periodically do a cp -r src/ src.bak.N, and then build a VCS around that model.

      Git is, on the whole explained very badly, and if you've ever read a git guide for CVS users, do your best to forget it.

      There's one doc called "a git parable" or something like that.

      End result: even for tiny projects, git isn't overkill.

      --
      SJW n. One who posts facts.
    4. Re:This is undoubtedly astroturf. by superwiz · · Score: 1

      I am currently forced to use perfoce.. It's over-engineering with a huge feature bloat. Most people end up avoiding incremental check ins that are the staple of a good version control system. Honestly, I've seen better performance from a LARGER group of people with simple use of CVS than I do from this small group with p4.

      --
      Any guest worker system is indistinguishable from indentured servitude.
    5. Re:This is undoubtedly astroturf. by superwiz · · Score: 1

      All this general OSS RULEZ stuff is disingenuous.

      Way to attack a point which I EXPLICITLY did not make.

      --
      Any guest worker system is indistinguishable from indentured servitude.
  72. They're probably reasonably intelligent people by Anonymous Coward · · Score: 0

    If they took an hour to read this, it would probably (mostly) make sense to them and enlighten them:

    http://betterexplained.com/articles/a-visual-guide-to-version-control/

  73. Easy explanation by Anonymous Coward · · Score: 0

    We can write code faster.

  74. Big Juju, Much Magic by Greyfox · · Score: 1
    Code break more often, if not version controlled!

    Or... you know... it remembers every change you ever made to the code ever since you stuck it in version control, so that if you screw something up six months ago, you can see where that problem was introduced and remove it without affecting any other changes. It is absolutely necessary as your team expands beyond more than just a couple of people, and even has benefits with smaller teams. Personally, I use git for my personal projects, and host most of that code up on github. Hell just show her the github branch tracker, and you'll probably have a convert.

    Then you can explain version control best practices and how to use your version control effectively to work on single features, code branching and merging. That stuff's a bit harder to sell since it actually involves a bit more work for developers, but deciding that you only want 3 of the 5 changes you've been working on in the last release cycle and actually being able to create a production branch for that by merging three feature branches is kind of a win. Also, being able to check out the branch of code that production is currently running without any changes you've made since then, also a big win. Have some jackass accidentally format one of your production servers and see how big a win that is.

    If you're feeling adventurous you could even talk to her about a backup policy...

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  75. Re:Don't explain _what_ it is, explain how it help by Anonymous Coward · · Score: 0

    And what it costs. Even more important than how it helps. When I do these kinds of presentations (and I do a lot of them), I always provide the easy/medium/hard scale. Provide trade-offs (even the stupid solution has to have at least 1 advantage. Which you beat to death in the medium and hard catagories.

    I also ballpark costs. I usually express costs as a loss of productivity ("Of 40 hours per week, I spend 5 hours looking for current versions, and 3 hours housekeeping. 20% of the week. That's approximatel $xxx/year in costs. [$xxx is the percentage of your salary you spend working on manual version control and housekeeping] and you can buy a yyyyy for that," where yyyy is something real-world, like the cost of VC software or upgrades to the IT infrastructure, etc)

    When you show folks how much money they waste because they're lazy, its astonishing how quickly they want to be come educated and 'good stewards'.

  76. Technical Decision by Anonymous Coward · · Score: 0

    Whether to use version control or not is a technical decision to be made by a technical person or team*. If you have to justify that to someone who does not have a technical background, you have bigger problems than not having a version control.

    * I would like to say version control is no longer an option but standard industry practice, only I have seen development teams no using any.

  77. i cracked up when i saw the topic by Anonymous Coward · · Score: 0

    First, technical people need to understand version control. Few do. If you are reading this and think you understand source control -- ask yourself this question. How do I know if the source control system I am using at work today, is aligned with how the company does business (i.e moves product from concept to the customer and EOL). If the team is using CVS, Subversion, Perforce (the family of tools that are trunk/branch based) -- and not a web company or a chip company, then the team is most likely using a source code control system that is inappropriate for their SDLC

  78. Another Use Case by Anonymous Coward · · Score: 0

    In addition to the various use cases for Version Control in development, with roll your own software it can also make your DB backups more meaningful.

    Often DB backups are kept for years (13 years is common with systems I work on) but the application code is not. So years later a DB instance is refreshed but the code that make sense of it is not available. A good version control system can help address this scenario.

    E.g. I once spent about a fortnight trying to make sense of a 6-7 year old DB backup because it was required as part of a discovery process for a court case. In the end I had so many proviso's (The meaning of this filed is unclear, this depends on a config item, etc) that I felt my work was a piece of fiction.

    And no, the app was not backed up. It still existed though on the network and could not start-up with the ancient DB schema.

  79. "Saving all your work forever" by Rozzin · · Score: 1

    I like Michael R. Head's description of VC as "Saving All Your Work Forever":
    http://www.cs.binghamton.edu/~mike/seminars/cvs-svn-bzr-bucs-seminar-2007.pdf .

    --
    -rozzin.
  80. Re:Nutshell: It's like a ledger by WiiVault · · Score: 2

    Wow, despite the stereotype you peddle to the angry at the world basement dweller *portion* of Slashdot, these same social scientists you mock include most of the founders of any significant human civilization and the documentors/philosophers of high level thinking; which I'm told is something required even to do even "real" science. Heck many of them were "real" scientists as well and not just wimpy philosophy space wasters. Back when people were only considered wise if they valued both understanding the physical and the metaphysical. These beta test scientists understood silly things like maintaining analyzing history, being able to speak/write coherently, and many other social innovations were key to a society where ""real" science could be performed. These proto-social scientists found patterns and themes in history, created structured language, documented things, and otherwise enabled the wide spread acceptance and clear reasoning for the social contract distinguishing humans from other animals through mutual generational information transfer. This is what makes us able to understand the value of interaction over pure instinct and creates an environment where experiments and science can exist. Humans didn't do much of anything to progress up until this point. Before all this a lab would have been pointless and useless, specimens/materials from far away lands would be impossible to acquire or identify, the concept of the academic collaboration/review model would seem pointless. Heck good luck building anything even resembling a piece of modern scientific equipment over the course of a lifetime. Even if you did you would be all alone in figure out how to use it. Though none of that would interest you because you likely would be too focused on survival, unfamiliar with anything you hadn't personally experienced, and without any way to compile, compute, or transfer knowledge to future generations. So science, "real" or "social" would seem like a total waste, and in the just another thing distracting you from the next meal. Luckily some early humans understood what you do not. Thank them everytime you do anything that you wouldn't see your dog do.

  81. TED will do this for you by Anonymous Coward · · Score: 0

    Hey slashdot, my first post

    This will explain everything to them:
    http://www.ted.com/talks/clay_shirky_how_the_internet_will_one_day_transform_government.html

  82. BitBucket plug by Anonymous Coward · · Score: 0

    https://bitbucket.org/ - free hosting for unlimited repositories for up to 5 users

  83. The use of analogy by Taco+Cowboy · · Score: 2

    From TFA:

    We both told her that version control was an invaluable tool for any kind of software development, but had a difficult time describing to her what exactly version control was

    I attempted to explain that it created a log of all the changes made to the code and allowed us to make sure that multiple developers working on the same project would not step on each other's toes

    Look, geeks evolve too.
     
    In the olden days, geeks were geeks, and geeks didn't have to say non-geeky things to non-geeks.
     
    Nowadays, it's different. We have to explain very geeky things to non-geeks and you just can't load up all the jargons and tell it to the non-geeks. They will go bonkers !!
     
    Nowadays we geeks have evolved into geeks who can speak every-day-language using non-geeky-examples, ie., analogies
     
    In the case like TFA, the submitter could have use the example of a recipe, a kitchen, and 3 cooks.
     
    The intended project is the recipe. The cooks as the programmers, and the kitchen is the programming environment.
     
    Where the version control fits in? The food, of course !
     
    If the recipe calls for 3 eggs, two scrambled and one sunny side up, and cook A already done one egg scrambled, he better let cook B and cook C know what he has accomplished. That's where version control comes in.
     
    In this way, non-geeks can get a clearly picture in their mind, on how a version control software functions.
     
    In my career spanning decades, I had to explain all kinds of very geeky things to very very awkward non-geeks, and I have to make them understand the details without making them jumping off the 55th floor.
     

    --
    Muchas Gracias, Señor Edward Snowden !
    1. Re:The use of analogy by Chris+Mattern · · Score: 4, Insightful

      If the recipe calls for 3 eggs, two scrambled and one sunny side up, and cook A already done one egg scrambled, he better let cook B and cook C know what he has accomplished. That's where version control comes in.

      Aaaaand you've now convinced your manager that version control has something to do with cooking eggs.

    2. Re:The use of analogy by SomeoneGotMyNick · · Score: 1

      Aaaaand you've now convinced your manager that version control has something to do with cooking eggs.

      With the original codebase as described, I wouldn't doubt that it was a collection of "poached" code. The egg analogy fits!

    3. Re:The use of analogy by TWX · · Score: 1

      The fastest and easiest way to explain version control is to cite Wayne Kemp's and Johnny Cash's "One Piece At A Time" and to show pictures of the various cars people have built in homage to that song.

      --
      Do not look into laser with remaining eye.
    4. Re:The use of analogy by Anonymous Coward · · Score: 0

      That sounds like you're eating cold eggs = bad. I'd go with solving a big maze. Working without version control is like if your pen line disappeared behind you as you tried to solve a maze. No idea where you've been and no way to get back. You'd constantly be going down the same dead ends.

      Now throw in the case where the maze has a bunch of different exits (as in you want to go two different directions with the software). By keeping track of the pen line, you split the search in two. If you ever get to a point where one path could use information from the other path, you have all the data you need to have the work without redo-ing it.

    5. Re:The use of analogy by jonadab · · Score: 1

      Actually, it sounds to me like version control has something to do with finding ridiculously inefficient ways to divide up a workload. Instead of the first cook just saying "Okay, I'll do the eggs, you guys can start on the bacon and hash browns", he... cooks just one of the eggs, even though several are needed, and now instead of just telling the other two guys what he's doing, he wants to jot down notes on the recipe card. No, we are not going to run our business that way. No "version control" abominations for you clowns. Get back to work.

      --
      Cut that out, or I will ship you to Norilsk in a box.
  84. Do it by analogy by batistuta · · Score: 1

    just say that we use version control to do what we want:

    - using Git/Mercurial is like walking naked on the beach
    - using svn is walking naked at home
    - using Clear Case is going through airport scanning and being detained 30 min for having a nail cutter, followed by anal examination
    - using Visual Source Safe is terrorism. It's lie having your balls hit repeatedly, by something like the door of a submarine.

  85. All the free systems are OK by Animats · · Score: 1

    For a small project, any of the free open-source version control systems will work. Pick CVS, SVN, Git, or Mercurial, set up a repository on a server, and install the Tortoise client for it on all the relevant Windows machines. Then set up remote vaulting for the repository, preferably to at least two locations. If it's just code, you don't need a commercial system. (Microsoft (Visual SourceSafe is rather retro.)

    The version control system will work fine. It's getting users used to the idea of check-ins and visibility that takes work.

  86. Yeah, don't. by die+standing · · Score: 1

    A sincere supervisor will not ask a question to sincere developers when really and truly the supervisor has no intention of taking action on the matter; eg. there is no need to sell anything.

    Does anyone out there have any tips on how to sell version control to management?

    1. Re:Yeah, don't. by mattyj · · Score: 1

      Have you worked in the real world? Or in any environment with a manager?

      Business schools are not currently producing a steady stream of 'sincere' managers.

    2. Re:Yeah, don't. by tilante · · Score: 1

      And if you can get a big enough batch of sincere managers together, then on Halloween night, the Great Manager will rise from the manager batch, and --

      No, wait, that's pumpkins. And patches.

      Never mind.

  87. primer by spongman · · Score: 1

    get them to watch Primer. tell them that if they had had version control, they would have understood it.

  88. Here's how you explain version control. by Vellmont · · Score: 1

    Most technical people make the mistake that they should give all these technical reasons for something to non-technical people. What you should be doing is giving the high level picture. Here's how you do that:

    "Developers screw up. A lot. Sometimes code breaks and we don't know how or why, or who did it. Keeping track of what/who/when and being able to go back to an old known good version saves us tons of headaches, and thus saves us time and money. When we don't do this we waste time and money and create stress. These are bad things. Source code control is extremely cheap, will pay for itself the first time it's used, and just requires the discipline to use it, which we already have".

    That's actually about all you have to say. Anyone that's not a total moron will understand that going back to a known good version when something breaks is valuable.

    --
    AccountKiller
  89. Why explain? by Anonymous Coward · · Score: 0

    Does a plumber need to explain why he needs a basic tool to do his/her work?

    You just say, we need version control to be able to work organized and cooperatively on our source code, here is my favorite choice. I talked with my colleagues and we agreed on it. It costs n dollars and Mr./Mrs. Y will take care of it as the admin.

    1. Re:Why explain? by mattyj · · Score: 1

      Yes, if a plumber is asking their manager for that basic tool, he absolutely has to explain why he needs it. "I lost my old one." might be a valid answer to the question of why a plumber needs a new wrench.

  90. Re:Don't explain _what_ it is, explain how it help by Macman408 · · Score: 1

    Yes, this. How will the people using it benefit? For example:
    1. It makes it easier for multiple people to make changes to the same document at the same time.
    2. It keeps a history of all changes ever made, so you can go back to an older version if you make a mistake.
    3. Users can provide a comment with each change to say why they made it, and describe what is different. Later, when looking at code, you can look at who made a change and why, which can help you understand the code.
    4. Different users can use different versions of a project. For example, say a researcher uses a piece of software to generate data for a paper they're writing; that researcher can continue to use the same version of that software, while the people writing it can continue making changes for other researchers. Down the road, if anybody ever wants to go back to look at what was used to generate that paper's data, it's easily accessible. And if they never need to do that, there aren't files cluttering everything up.

    That said, if you're just looking for version control for you and the other web developer, I don't know why you're waiting for your supervisors to approve - I know people that run a version control system just for their own documents - code and otherwise. Everything they do gets version controlled. The only reason you need your supervisors to intervene is if you want the whole department to start using it, or if you want the version control to be supported by an IT group or something like that. Otherwise, just tell your supervisor "Yeah, there's this thing called version control that will help us stay organized. I'm going to download which is free and open-source and we're going to start using it. It'll make our job easier, and we'll be able to get more things done."

  91. Version control by skovnymfe · · Score: 1

    keeps a backup of all older versions, so it provides a reliable rollback plan in case the unthinkable happens, and as an added bonus it prevents new bugs from happening by keeping track of all changes.

    Don't be afraid to lay it on real thick with buzzword bingo terms like backups and rollbacks (or better yet, disaster recovery measures) and preventative processes and process management and all that jazz. It's all true... More or less... Hell they won't know the difference anyway.

  92. Managerspeak by mattyj · · Score: 1

    Managers understand the word 'Desktop', and that's perhaps the extent of their technical knowledge.

    Tell them that a version control tool is like a shared desktop that saves every version of a file ever put on it by any user and never empties the trash can.

    If they can't grok the utility in that, then God help you.

    As for cost, an open source tool is probably all you need even though a certain popular commercial product I've based my career on has free academic licensing (name withheld as to not be accused of shilling), so you'd just need to be sure to include the human cost (time) for setting it up, coming up with a workflow, training and any day-to-day maintenance the IT support team might have to charge back to the department. Even though the costs are not monetary, if I remember anything about school, they still need to charge and track every resource that goes into something.

  93. Re:Don't explain _what_ it is, explain how it help by billius · · Score: 1

    I think this is a very good approach. Thanks for the suggestion!

  94. Tell them a story by Anonymous Coward · · Score: 0

    Essentially, you have to pick them up from where they are, so

    Step 1: tell them about a case that everyone already experienced: having multiple versions of a document flying around by email, everyone makes little changes, noone really knows which version is now complete.
    Step 2: make the anology: the svn/git is someone who is there to take care of the mess. Instead of mailing the file to each other all the time, you just ask that person "give me the latest version", and once you are done editing "here is my updated document".
    Step 3: extend to other scenarios, eg. "two users changed the same text fragment at the same time", "somebody wants to know what was changed in the last month", etc.

    1. Re:Tell them a story by Anonymous Coward · · Score: 0

      the document could be anything that applies best in your case: drafts for papers, notes on research projects, etc etc.

  95. Re:Nutshell: It's like a ledger by Anonymous Coward · · Score: 0

    Read the summary: The OP is working for the social science department of a university. So the answer to the question, "Would you run a business without a ledger?" might very well be, "What's a ledger?"

    No, he works for the U, the work he does is on systems for the Soc folks. So his boss is either in charge of the Department or higher up in the administration. The ledger analogy should work, another good one would be the student transcript. You don't just give a degree, you track individual grades for every course ever taken, and the situation where a class is re-taken would be especially helpful as an analogy.

  96. real answers by Joiseybill · · Score: 1

    Mattyj and a few others had some good info. Use analogies, but tailor them to stuff your faculty/admins are familiar with; grades, exams,meeting minutes, billing , other frequently-touched projects. and ABSOLUTELY, document costs. if possible, show what you can project costs are for NOT using it - based on some tangible event or cost. Hardware: needs storage, and if a dedicated server you can help harden it by keeping it on private address space. Plus, many mgrs like fully-contained costs, not a partial share of use/maintenance on a shared box. Warranty or service contract, installation (if racked), and costs if you need to shift/share costs with telecom/network for campus, new/repurposed electrical feed, UPS & backup systems. Operating System: license & support costs if any, and human time to train up, and document, backup, train others Software, lots of open source stuff - weigh the support ( even poor support is better than a project that gets abandoned) cost and support to learn/almost master that particular application.. and document and train.. Projected Lifecycle: how long will this be viable, before it needs to be replaced or moved to a new OS/ new piece of hardware? -- will your data be in a simple-to-migrate form (txt, csv, xml).. even 10 yrs or so from now? --- forecast interim upgrades, failed hard disks, and other 'reasonable to expect' products -- what happens to old data from old code projects? secure storage and old storage on this box is wiped? or will everythnig stay as long as hard drives can hold it? Universities don't have anywhere near the perceived resources that some have said. Student labor is rare - especially in a job where they do more than answer phones between facebook and homework. Spare equipment is becoming the standard equipment.. I haven't been able to test a new server OS for 3+ years. All live deployments on the only equipt. available.

  97. Don't explain... by Anonymous Coward · · Score: 0

    ...anymore than you would a compiler or threads or recursion.

    Just make a free GitHub account and push.

    Your time is better spent coding and doing the right thing than trying to explain it to social scientists.

  98. Happened to me by abhi2012 · · Score: 1

    It happened to me once and all I had to tell to convince the client was a version control system would keep track of all changes so if anybody messes up, we won't lose anything saving tons of time and money :).

  99. Use Wikipedia as an analogy by Danae's+Dad · · Score: 1

    1. Sit non-techie in front of Wikipedia and navigate to a page of their choice.
    2. Click the "Edit" tab and show how easy it is for anyone to modify the article.
    3. Explain the productivity benefits of low barriers to entry -- no locks, no approval process.
    4. Ask what the downside would be. Hope for an answer about dangers of vandalism or poor-quality contributions by unqualified people.
    5. Click the "View history" tab and show how all edits are visible and never lost.
    6. Show how easy it is to "rewind" to an earlier version of the article. At this point, the non-techie should start to understand why Wikipedia works and is not just a mess of low-quality, vandalised articles.
    7. Help by pointing out how every edit identifies the contributor, or at least their computer (IP address) so they can be blocked.
    8. Explain that source code control is like Wikipedia but for computer programming -- nobody's work is ever lost, all contributions are identifiable and traceable, rewinding is easy, and people can build on each other's work quickly and easily.
    9. Explain that modern (distributed) SCC systems are much more powerful than Wikipedia in terms of what programmers can do to organise their work and their teams.

  100. Re:You were rewarded with lunch? Whoa now... by upside · · Score: 1

    What I'm thinking is the cost of lunch vs. an online source control system annual subscription.

    --
    I'm sorry if I haven't offended anyone
  101. Go for the catastrofies by Anonymous Coward · · Score: 0

    Go down explaining the easiest catastrofies senarios that you can avoid using vc such as:
    Code back up in stages, conflict resolution, blame.
    Also adding the fact that is free if implemented locally, and very cheap using a service online is a good argument.
    It sounds limitating but managment care mostly about gaining more and cutting costs, so.

  102. Re:Don't explain _what_ it is, explain how it help by gnasher719 · · Score: 1

    1. It makes it easier for multiple people to make changes to the same document at the same time.

    5. It makes it harder for multiple people making changes to the same document to mess up each others' changes. If they have a minimum IQ.

    (One of my colleagues once had a fight with some other developer who apparently didn't quite get the concept - used Perforce and checked in his changes, overwriting everyone else's changes in the same file and breaking everything. Repeatedly. After being told not to. After being explained why not to. )

  103. more confident you have the same files by kayoshiii · · Score: 1

    A version control system is just something that lets multiple people on multiple computers work on a single project consisting of many files at the same time and be reasonably sure that they have the same versions of everything as everybody else.

    Furthermore it is usally easy to get a copy of earlier versions of any of the files in the project.

    At the moment I am looking I am looking at sparkleshare (http://www.sparkleshare.org) as a way of making it as easy as possible for a non technical user to interface with a version control system.

  104. Revision control isn't technical. by Ihlosi · · Score: 1
    Why only limit the explanation to software? There are tons of other documents that should have some sort of revision control (especially when you're dealing with a quality management system - there's documents describing processes all over the place).

    Anyway. To describe revision control to a nontechnical person, get away from software. Use a novel as an example, which consists of different chapters. Revision control will help the writer organize the various drafts of each chapter and which drafts together form a draft of the actual novel. Revision control also helps the writer keep inconsistencies out of the novel (e.g. the murderer was character A in early drafts, but changed to character B in later ones, etc).

  105. Re:Nutshell: It's like a ledger by Anonymous Coward · · Score: 0

    Get *his* attention with this:
    Now that you have *his* attention, you can sell *him* on

    so why did the gender of the boss change when moving from the article to your head?

  106. time machine by Anonymous Coward · · Score: 0

    I'd explain version control as a time machine. you can go back to old versions of code anytime, any version. plus it saves the code in a safe place and everybody who needs it can access it. and finally it ease development when more than a developer is involved.
    also, there are a lot of free alternatives, so all the cost is really the time you spend setting it up and maintaining it.

  107. Why? by bloodhawk · · Score: 1

    Why are you trying to explain version control/revision control from a technical perspective? This concept existed long before IT started using it, it is about as ancient as writing itself. IF they have never heard of or handled versions of documents in written form let alone electronic form I would be very very concerned about their capabilities to successfully do any sort of research.

  108. Re:You were rewarded with lunch? Whoa now... by dintech · · Score: 1

    Maybe management think you're paid well enough to buy your own twinkies.

  109. rtfm by Anonymous Coward · · Score: 0

    Are you kidding us all? Do you actually know anything about source code control? You took as much time writing up your troll bait as it would have taken to download, install, and do a basic tutorial of git or mercurial. You don't need to ask anyone, just do it. Don't confuse your boss with the details.

  110. Answer "Why?" and "Costs?" but not "How?" by Barryke · · Score: 1

    They ask you what you need, so you'll say "Version Control.
    She then asks "Why?" and "Cost? ".
    I guess she did not ask "How?". Its not important that she understands "How?", its only important she understands "Why?".
    If she did ask "How?", she actually meant to learn "What is the impact on other people and their work process?".

    The questions "Costs?" can be answered with "Just some time to set it up the free software, and for productivity i recommend buying SmartGit for 300 bucks.". If there is other stuff/hardware you need, just determine a budget, make a plan, take decisions and work it out, and don't bother her with details, only when there is an strategic/tactical choice to make.
    I'm flabbergasted that this (just doing it yourself, not wasting words on it) isn't how you approached the "problem" already, it it was a problem.

    --
    Hivemind harvest in progress..
  111. version or source control by Anonymous Coward · · Score: 0

    Their is version control and source control. Sometimes version control can be overkill. Take a web project. If you are constantly maintaining code for a large site do you really want to rebuild everything as a new version when you only need to update one or two files. This is one area where some of the free systems are lacking.

  112. It's about the cost of NOT having version control. by Anonymous Coward · · Score: 0

    The cost of a version control is mostly drive space nowadays. The software is free and drive space is cheap. In contrast, NOT having version control can be very expensive indeed.

  113. Most important: What is the latest version! by guus_deleeuw · · Score: 1

    Above all it shows what the latest (and hopefully best) version of a file and where to get it. The whole logging / change story comes second. I don't understand what the problem is with setting up a simple subversion server for yourselves. There must be a pc around that is always on. Just start for yourselves and then slowly spread it among the other people, explaining them how to use subversion, update, etc. Start with the more open-minded people first. Use subversion, not git. Subversion is more user friendly and you don't need the distributed stuff.

  114. Free is never Free, as in 'Free Beer' by Anonymous Coward · · Score: 0

    Theres ALWAYS a cost. And its cost that management worry about.

    Its just not an option to say.. 'I need this, its a free download therefore its free'.

    As a short list of things to think about when you think something is free and management disagree.

    1) Time (your time isn't free, you get paid right?)
    2) Resource (does it need a server/disk/bandwidth?)
    3) Training (you already know how to use it?)
    4) Support (you're going to look after it yourself? But that stops you doing your 'real' job)
    If you work in any sort of corporate enterprise where money is the bottom line there always a cost involved. At its very basic, if you're messing around installing some free version control software you're not actually writing the code you're paid to write. There may be a cost/benefit pay off, but then you need to be able to quantify that. Welcome to business case hell.

    1. Re:Free is never Free, as in 'Free Beer' by guus_deleeuw · · Score: 1

      In a research environment cost (as in hours) is not so well defined as in corporate environments. Researchers don't write hours, etc. So in this case they can just teach themselves and set up a server somewhere. Resources, bandwidth, etc. are neglect-able. Training is also not a big issue; they are all highly intelligent people.

  115. The Most Important Part of Debugging by spec_guy · · Score: 1

    The justification is derived from the question What is the most important part of debugging? to which the answer is Laying Blame[1].

    Or, stating it more professionally: the most important part of debugging is finding the cause, which is more quickly found if you can see:
    - What changed recently?
    - Was it part of some bigger group of changes?
    - Who made the change?

    If you know who changed it last, you know who to ask questions of.

    [1] We can prove that laying blame is the most important part of debugging by observing the behavior of any group of developers after a bug is discovered. The conversation immediately takes the form "Did Mary touch that last?" and "Wasn't Joe making changes there as part of the new authentication stuff?"

  116. Don't forget about the hardware costs.. by Anonymous Coward · · Score: 0

    Make sure that along with any tools you need that you also have the server/hardware to host the solution.

    This includes:
    - server hardware
    - maintenance contracts
    - resources allocated to manage the hardware
    - backups

  117. Use a book as a metaphor... by Genda · · Score: 1

    You have a team writing a book. Different people responsible for different sections of the book, with a lead editor making certain all the parts are accurate, not loaded with typographical or syntactic errors, and the content is factually accurate.

    As people begin submitting work and the outline look more and more like a book, you want to store the latest version on a daily basis. This is important for a few reasons;
    1. If you find a problem, for instance inaccurate content or a quote without a legal release, you can just roll your book back to the prior version before the last check in.
    2. You can do a partial or full rollback, If the error only effects a small section of the book, for instance the work of only one author, then a partial rollback may be appropriate.
    3. The notes containing the metadata for your book, allow you to see how the book is evolving, and make subtle changes in the road map to accommodate new content or features that your book should include.

    This structured environment gives you both insight and control of the PROCESS by which your book is created and with a team, is essential to making certain everyone is honoring the conventions of the Books themes and presentation style. It allows you to prioritize, emphasize, reorganize, and expand the scope of the book in ways that a haphazard approach would be completely unable to do. It also let's you measure the metrics of text generation and who your heavy lifters are. In short it gives you the handle on your process to ensure a logical and orderly development for writing your book, while also providing you with the information you need to be able to determine if your original plans hold water or not.

    Programming is the process of organizing language into well structured logical blocks to accomplish work. A versioning system allows to apply the same kind of logical process to the development of your application. It provided you with a natural framework upon which to build while giving you the freedom to investigate logical branches and parallel development. It allow you to manage all the dangly bits without letting them drag in the dirt.

    1. Re:Use a book as a metaphor... by Fuzzums · · Score: 1

      Using a metaphor is a good idea, but things like metadata, partial rollback and road map are probably too complicated already.
      Use a metaphor, but stay away from technical terms.

      --
      Privacy is terrorism.
  118. Don't Ask by Kirth · · Score: 1

    Just apt-get install git-core.

    --
    "The more prohibitions there are, The poorer the people will be" -- Lao Tse
  119. easiest way to explain it by Anonymous Coward · · Score: 0

    have you ever screwed something up and wished there was an undo button?
    version control is an undo (and redo!) button for very large projects with many people working on it.

  120. BitBucket by Anonymous Coward · · Score: 0

    Is free for the usage you are talking about (less than 5 developers), and supports both git and hg.
    https://bitbucket.org/

  121. You've been shuffled by Anonymous Coward · · Score: 0

    When a supervisor says:

    ...write up a brief description of what we wanted and how much it would cost...

    That means she is stalling you. She has no real intention of giving you the tools and just wants your to go through some meaningless exercise so that, in the end, she has a tangible record of your attempt to pass around and prove that you really didn't need the tool. In the mean time you will continue your stellar performance without the tool proving to all that you never needed the tool in the first place.

    Time to quit.

  122. Tell her in terms she understands by AbominableSnowMan · · Score: 1

    You have to talk to her in a way she can relate to: she is expecting to hear of a a tool that will make an instant impact on the work she now sees and perceives as "pleasing" and, as long as she assumes this, she won't understand. Besides what you already told her, stress out that it is a tool designed to dramatically improve the workflow process: making things happen faster and with less errors. But, anyway, why not just use git?

  123. Call it Unfuck Machine by Krigl · · Score: 1

    Let it spread unofficially and once they get the meaning imprinted in them and the only remaining trouble is inappropriate name, just think of something noble sounding, like "Asssaver".

    --
    Troll 2.0 Fear my asocial networking!
  124. Explain version control EASILY by BrentRBrian · · Score: 1

    A photo album of your family. It records "snap shots" of time ... forever ... so you can at ANY TIME go back and look at them, compare them, learn from them.

  125. Researchers by Anonymous Coward · · Score: 0

    You're supporting researchers right ? Version control for researchers is invaluable : it allows them to go back to a previously done experiment, and re-run it in the same conditions (code-wise). Or re-check how a particular aspect of it was handled. Or compare two experiments. Tell them that and they might take notice.

    On the other hand, they are social researchers, and you can't VC humans. Yet.

  126. Hardcore by Anonymous Coward · · Score: 0

    My mother didn't have a computer until she was over 60 years of age. She is computer illiterate to an extent I'd say contradicts being alive.

    I explained it to her that way:

    You write a text. You save it.
    You change the text.
    So you have two versions, an older one and the current one.
    You want to keep both versions.
    If you just save the text, the old version gets lost.
    If you rename the current version, you have both versions.
    But you need something to remember:
    a) you have two versions.
    b) you know, where they are.
    c) you know the naming scheme.
    There is software, which does this for you. It keeps track of these issues and allows many other things.

    I did ask her questions which showed me if she did understand the matter to that point.

  127. Good employees by Anonymous Coward · · Score: 0

    Glad to hear you are trying hard to be a good employee. With that in mind, there are two types of bad worker:

    * People who never do what they are told.
    * People who only do what they are told.

  128. Just do it. by Evro · · Score: 1

    This is a clear instance where the right course of action is simply to go ahead and set up what you need. You don't need to ask permission. Just do it. Once it's done and all code has been moved into git/svn/whatever, you can either tell the supervisor what you've done, or not. If the supervisor isn't technical then there's no need for them to be troubled.

    The closest analogy I can think of is: you started your job and found spilled milk on the floor. The correct course of action would be to clean up the spill, not to ask for permission to clean up the spill, or ask your supervisor how best to clean up the spill. You know what needs to be done, so just do it.

    --
    rooooar
  129. This is a basic tool by vlm · · Score: 1

    Version control is a critical basic dev and admin tool.

    Once you figure that out, schedule a 8 hour meeting with all stakeholders and several layers of management to see if you're allowed to adjust the brightness and contrast settings on your monitor despite not being A+ certified, and/or if you're allowed to use the new fangled pageup/pagedown keys instead of hitting up and down arrow a lot of times, after all the IT helpdesk will require extensive training and documentation on how to be responsible for pgup/pgdn and its not written into any existing procedures nor are there tracked, graphed, and reported performance metrics on the use of pgup/pgdown keys. Also ask for permission to wear light gray socks instead of regular gray socks, that might have to go up to CEO level for approval of course.

    If you don't see where I'm going, your boss Might be a micromanager so start looking for work. Emphasis on Might because reality could vary from "hey cool I just wanna learn more" all the way to "thou shalt hit the exact keystrokes your lord and master has specified in the exact order at the exact time", and there's no way to tell on slashdot.

    Or just tell the boss, the other devs will laugh at you and steal your lunch money unless you install and use git, which happens to be free...

    --
    "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
  130. Re:Don't explain _what_ it is, explain how it help by Omnifarious · · Score: 1

    One caveat. Keep the benefit a bit more watered down than above. When dealing with management, keep it simple, and meaningful to them, not to you. Talking about validating a form field or whatnot isn't a good way to go about it. Talk about the lost time and productivity, potential impact while troubleshooting and finding root cause, etc.

    This is likely true. My technical nature betrays me here. :-)

    But I think the most important thing is to use a story. Explain it in stories and scenarios that are geared towards their worldview.

  131. Re:Don't explain _what_ it is, explain how it help by Omnifarious · · Score: 1

    I think some of the people who replied to me had really good points and suggestions for how this approach might be done better than I described as well.

    Particularly this one, and this one about focusing on costs.

  132. Use this example by kiick · · Score: 1

    Demo this: open up a document in your favorite editor/word processor. Now, go in and change all the 'p's to 'q's, using search and replace. Easy right? Now change all the 'q's to 'p's. This does not put things back the way they were, does it?

    No problem, just use "undo" a couple of times and you are back to the original, correct document, right?
    That's when you point out that without a version control system, you have no "undo". Without it, your only recourse is to go through that document one letter at a time and fix the p's and q's by hand.

    Then draw the obvious parallels to source code bugs, emphasizing that finding bugs is much harder than finding misspellings.

    QED.

  133. The thing about VC by Anonymous Coward · · Score: 0

    There's an obvious deficit in the concept of Version Control.

    It's not automatic, It requires the user to "decide" when something should be "Versioned" and perform an action.

    The action is usually entangled with the event or operation of "Committing" a change and as we all know most programmers "can't commit".

    The biggest problem I ever saw working with a coding team was the efforts they went to "uncommit" and to "back out a change" from the "Version Control" system.

    The next biggest problem was "reconciliation"

    When faced with a choice between their code and someone else's conflicting code, they will always choose theirs over someone else's and not expend the effort to understand why something else was committed. Then they will slice and dice a project to prevent conflicts and "confrontations" which kind of invalidates the need for Version Control.

    If you then look at it as a personal tool, you might as well use Dropbox for the repository and save a new version every time you save a file. Which then says its purpose is to save disk space or to "de-duplicate". Of course we've all come into conflict with our own files, in which we don't have time to reconcile and "fork" so that we have both the old copy and a new copy tailored for a particular purpose.

    So you see.. version control is more about social interaction and getting people to agree to "talk" and "reconcile" in a formal agreed upon manner, rather than an enforcer and teacher as everyone wishes it to be. It doesn't save yourself from yourself. Its really not much better than an automated backup system with a fancy name an a "Bragging Badge" of honor.

    What would I recommend?

    A structured shared folder with automatic saves, perhaps some meta documenting system like a version control - but a whole heck of a lot more people communicating, and frequent automatic backups of the repository.

  134. Everything Local: a good idea? by Compaqt · · Score: 1

    Git's tagline is "everything local". But is that a good idea? Every developer has the company's entire codebase (including history) on his laptop. Which means it's just a tar and an scp away from delivering to his next place of employment.

    --
    I'm not a lawyer, but I play one on the Internet. Blog
    1. Re:Everything Local: a good idea? by sbditto85 · · Score: 1

      Git's tagline is "everything local". But is that a good idea? Every developer has the company's entire codebase (including history) on his laptop. Which means it's just a tar and an scp away from delivering to his next place of employment.

      But you can actually do sub repos , albeit I think they are a pain in the a$$ but yes you can do it.

    2. Re:Everything Local: a good idea? by jgrahn · · Score: 1

      Git's tagline is "everything local". But is that a good idea? Every developer has the company's entire codebase (including history) on his laptop. Which means it's just a tar and an scp away from delivering to his next place of employment.

      If you can work with the code at all, you can also tar and scp it. That's true no matter if you use Git, CVS, ClearCase or any other version control tool out there. The only thing that's worse with Git is theft of the laptop, but all companies I know of use full hard disk encryption anyway!

  135. A different point of view by James+Ojaste · · Score: 1

    Your manager doesn't care how you will use it or what the internals are doing in the background. They care a) how much it will cost/save (both in terms of your time and in terms of cash), b) what will it enable you to do (extra services they can sell?) and c) what risks will it mitigate or exacerbate. Give them a couple of buzzwords that they can google if they want to sound knowledgeable (such as Change Management and Release Management).

  136. How I explain it by Anonymous Coward · · Score: 0

    I usually get a couple people together to do a small demonstration where I give them a subject to write about and have one person write about it. Then I photocopy it for each person in the demonstration and ask them to make whatever changes they see fit. Then aggregate the results into a pile and ask the original writer to sort out all of the changes into one coherent document. If they actually go through with it, or you have to jump in to do it, point out that is what the version system does, as well as keeping track of who each change came from and the ability to view each change side-by-side with a before and after copy with things highlighted in colors that represent addition, removal, and alteration.

  137. Filing cabinet by Anonymous Coward · · Score: 0

    Tell them it's like an automated filing cabinet where you file different versions of the files you're working on. If you need a specific version, you can get a specific version, and it keeps everything neat and orderly.

    Go talk to the Computer Science guys, and ask them how they get a Linux VMs, or boxes. A large University should have enough resources to setup a VM with some SAN space for this.

    Also Rhodecode is a self hosted source control management system, like Github, which supports both git and mercurial. It even has Windows installation instructions, or if you can't get them to install a Scientific Linux or CentOS VM for you.
    http://rhodecode.org/
    http://packages.python.org/RhodeCode/installation_win.html#installation-win

  138. Geeze by Anonymous Coward · · Score: 0

    This is not a difficult thing to explain. Some things can't be simplified any more. The term "version control" is self-explanatory to anyone with an average IQ.

  139. Perforce now free for more teams: 20/20 by scorp1us · · Score: 1

    I'd like to plug that back in February, Perforce changes its free edition from 2 users / 2 workspaces to 20 users / 20 workspaces.This means it (bazaar or git, or svn) is now free and you can evaluate it on its merits. Generally these days people choose git, but git is overkill if you are bot doing distributed development. Since you're centralized at your office and not a bunch of disparate developers I'd highly suggest you just start using it.

    Also it might be worth your time to just use it for a few versions, then show your boss what it can do by going back through your actually revision history.

    --
    Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
  140. Define Repository by Zaphod+The+42nd · · Score: 1

    Skip the version control, and just say you need a Repository. (Both software and hardware). You need a server to save backups to (manager should be familiar with the idea of backups and why they're valuable) combined with a way to manage changes over time in case you went the wrong way on something and need to back up. Tell them its software to keep multiple, automated backups just in case. Also explain that code is very complicated, and you cannot work on the code simultaneously, so explain that multiple developers working together gives you different versions of the code that have to then be merged / blended together. To make sure that merge didn't mess anything up, you want to keep backups of all the different versions. Pretty simple.

    --
    GCS/MU/P d- s:- a-- C++++$ UL++ P+ L++ E+ W++ N o K- w--- O M+ V- PS+++ PE Y+ PGP t+ 5- X R++ tv+ b++ DI++ D++ G+ e++ h-
  141. Point in time snapshot by Dareth · · Score: 1

    It also has "snapshots" of particular points in time for all of the files.

    --

    I only look human.
    My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
  142. seriously? by geekoid · · Score: 1

    " but had a difficult time describing to her what exactly version control was"
    If you can't describe it in a few sentences, then you don't understand it.

    Version control it how you keep discrete version of the software. It makes trouble shooting faster, it allows you to roll back in case of a crisis, and allows for cheaper maintenance. You can maintain the current release, while still developing a new version.
    If she wants more, list all the issue you had to be paid to clan up that wouldn't happen with good version control.

    In most cases, my initial sentence is enough to get the all rolling.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  143. bug - enhancement database very important too by peter303 · · Score: 1

    When I moved from academia to a non-software technical company to a software company, one of the best tools I saw was a database to track reported bugs and requested enhancements. This really matters if the entire team is more than a couple of programmers, i.e testers, help desk, documentation. half of fixing a bug is documenting that it is there and how to repeat it. Multiple software users will probably come across. then they can be prioritized and marked as fixed.

    We use some over-ornate database form Oracle-PeopleSoft. I do not know what may be free out there.

  144. Relate it To Their Tools by Kookus · · Score: 1

    Like...
    Track changes feature in Microsoft Word.
    Change orders applied to the contract of building a new house.
    Amendments to contracts.

    It's just the management of the amendments in a fashion that allows many people to make amendments and figure out when those amendments conflict with each other. Then other tools help you resolve those conflicts and and make everything work in the end.

  145. The Value of the Code by Anonymous Coward · · Score: 0

    If the source code is valuable to the company in a proprietary way, you might not want to use an external repository. It depends on the company whether they are comfortable that security measures on the external VCS are good enough. What if the service goes down just when you need the last version to fix a production bug that is costing the company money? What if the external service is purchased by someone aligned with your companies competitors? What if they don't secure the code and someone with admin privledges makes a copy of your code for fun or profit? What if they are hacked? Are these all scenarios that your company is good with.
    Of course, you have to compare it to the internal server scenario. Is there support for the internal servers at 2:00 AM when you are doing an emergency fix of your software and the VCS server can't be contacted due to a network issue? Do you have sufficient "data center" security to keep the bad guys out of your code and code history?
    It sort of all depends on the code and what it does and the mindset of company management.

  146. Like "Track Changes" in Microsoft Office by Anonymous Coward · · Score: 0

    I'm sure your manager knows about the "Track Changes" feature in Microsoft Word.

    Version control is like that, but for software development.

    That's probably the best explanation you can provide.

  147. Show them Clary Shirky's TED Talk by Baldrson · · Score: 1
  148. Don't sell it, just use it by Anonymous Coward · · Score: 0

    There are plenty of great, free, version control systems. I prefer git, but there is also hg, bzr, and of course the good old fashioned svn.

  149. Johnson rod by Anonymous Coward · · Score: 0

    Tell them that without it the Johnson rod will cause a meltdown.

  150. How about "Change Management" rather than "VC" by Up'emInIrons · · Score: 1
    If you get their attention with one of the 'elevator speeches' above, you could try something like this for a more detailed description. Note that while we offer CVS Suite as one solution, we'd rather see you use something rather than nothing -- we just believe our solution has all the features you'll need at a great price.

    Change Management is a discipline to ensure that the configuration of an item (and its components) is known and documented and that changes are controlled and tracked.

    Everyone who works with documents uses some form of change management, from simple to sophisticated systems. A simple system might have the latest copy in the user "Documents" folder and older copies stored in an email "sent items" folder. A more sophisticated process would keep the information in a consistent location and capture detailed information on the important elements of change: What was the change, Who did it, Why did they change it, When did the change happen, and provide the ability to easily retrieve any previous version.

    Change Management processes don't require software (you can maintain a log of changes in a written journal), but with the right software your process will be much easier to use and consistently apply. The opposite is also true: the wrong software can make it much harder to manage change and cause frustration and delays, slowing down the change you are trying to manage. It is important that the software you choose is not getting in the way of your change management process.

    Modern CM research by firms such as the Configuration Management Institute has shown that the majority of benefits only occur when the change management system can ensure the integrity of all managed items, make their evolution more manageable and the interrelationship clear. The effectiveness can be improved by implementing automated techniques for Insulation, Security and Access Control, Lifecycle Management, Communication and Detailed Reporting.

    In summary, Effective Change Management is a process that for each managed item will:
    • Document changes.
    • Ensure integrity.
    • Make the evolution more manageable.
    • Clarify the relationships between changes.
    • Manages security and access control.
    • Facilitates easy flow through the lifecycle.

    Enable communication and detailed reporting about changes.

    CVS Suite contains the features you need to establish an effective Change Management process.

    Quoting from a draft for http://march-hare.com/

  151. Re:Non-technical explanation of version control by Anonymous Coward · · Score: 0

    If you still need to explain version control in non-technical terms, maybe try explaining it in terms of medical mistakes. I'm sure your manager has seen articles about patients who have the wrong leg amputated or been prescribed the wrong medicine. Now she can imagine the impact if someone makes a similar mistake in your software. And you can go on with the analogy by explaining how version control lets you revert to a previous state, effectively reattaching the amputated limb, to extend the medical analogy

    If she just needs an explanation of why a service is better for you than maintaining your own Mercurial environment, I think you already have it covered: it will save your team from maintenance effort that you can use to be more productive in other areas, and that the gain in productivity will exceed the cost of the service. (Assuming you have numbers to back that up.)

  152. Fork by Avatar8 · · Score: 1
    A simple analogy for a non-technical person is by using "fork in the road."

    Making a change to software is like choosing to take a fork in the road - you either change, or continue unchanged.
    Version control remembers when and where you took that fork in the road and most importantly provides a map of how to get back to that fork.
    By descriptions of VC software here, it sounds like you can also view multiple forks at the same time and judge which one would allow you to arrive at your desired destination.

  153. What to say by whitroth · · Score: 1

    A version control system came out of the computer field. Formerly, when several people would work on a given program, or even one person, they might accidently wind up with multiple copies of files, all different, and no good way of figuring out which was the good one.

    With version control, files are checked in and out, and only edited after being checked out. Once done, you check them back in; and all the versions that have ever been checked in can be reproduced on demand by the VCS.

    When you're ready to roll out something to production, you add a label on all of the files that are going into production. If there's a show stopper once it's rolled out, it's trivial to simply extract by label the previous production version and replace the new version in production with the previous working version.

    And there is never any question about what the most recent version, or production version, is.

                          mark

  154. Re:Nutshell: It's like a ledger by HornWumpus · · Score: 0

    For about the last 80 years social science has been infected with relativism. Which says that nothing is true and everything (including real science) is socially constructed.

    Until this mass of stupidity is excreted from the academe, social science is worse then useless. It is circular reasoning at it's worst. Used to justify the prejudices of the social scientists. Hell they study Marx to learn about capitalism. Most think Adam Smith got it wrong and Marx was insightful.

    Of course anybody who disagrees will never get a position. Circle jerks abound.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  155. It's like a Document Management System, but... by Anonymous Coward · · Score: 0

    for Source Code. All the best source code control systems are available free of charge, we just need some modest hardware to run it.

    You're welcome.

  156. Facebook timeline for programmers. by Anonymous Coward · · Score: 0

    Facebook timeline for programmers.

  157. Turnkey Linux by tahuti · · Score: 1

    http://www.turnkeylinux.org/gitlab Give this to your server team and let them run it under virtualization.

  158. Whatever you do, don't go technical. by Fuzzums · · Score: 1

    Don't go into technical terms. Don't get even near them. They will probably not understand what you say after 5 seconds and then it's game over.

    Version control is THE system used everywhere by developers to keep their work safe (they'll probably like that). It allows them to collaborate (!) efficiently (!) and easily recover (!) from any made mistakes.

    That are things that are not too complicated to understand.
    Try to explain it to your mother, or grandmother for example. If they think they understand, you're in the right track.

    Perhaps try to compare it to writing articles. They should understand that. You keep older versions of the paper, just in case you find you deleted important parts.

    Trying to explain branching would probably be too technical already.

    --
    Privacy is terrorism.
  159. Give them an example from their world by Custard · · Score: 1

    "It's like "Track changes" in Word, but way geekier. We need it and it's cheap. It'll pay for itself by the end of the month."

  160. I explain it like this. by multicoregeneral · · Score: 0

    Most clients I work with have had good and bad experiences with programmers. That said, they almost never have source control set up. So I ask them if they've ever been ripped off, or had someone disappear with the source. If so, it's a good reason to use source control. If not, it could happen any time if you don't use source control. As a client, all you need to know is that every line of what you pay for is stored, locked away, and safe, the minute you install GIT or Subversion. Oh, and that I'm awesome for suggesting it. You're welcome.

    --
    This signature intentionally left blank.
  161. You don't explain it by Anonymous Coward · · Score: 0

    You draw up a budget - include everything: servers, staff, training for the end users.

    Also, you make a measurement of the current size of the problem. Take a wild guess about how many hours are wasted by people trying to do manually what version control would let them do automatically. If you have trouble getting numbers, you can always do a survey. Ask people how much time they spend trying to coordinate multiple simultaneous revisions to a group document, then ask them if they are satisfied with the tools they have to do their jobs.

    You go to your boss and say, "For X dollars, I can boost productivity by Y man-hours and improve employee satisfaction by 10%. It'll take about four weeks for the pilot project and six months to get the whole company on board."

    She won't care how, she'll just say "do it." She won't care at all if your employee satisfaction only goes up 5% (it will - you get to write that survey too) if you are anywhere close to being on time an on budget.

    Note that you have to do it without turning the whole organisation upside down. If the staff doesn't know what version control is, it's crucial to start with a small group of volunteers who at least have an inkling that what they're doing now isn't working very well. Use the lessons learned from moving them onto the tool, to fine-tune your strategy for getting the rest of the company to actually use the tool. Remember, from many users' perspective, using version control is actually extra work. It's only the poor sucker currently stuck with the job of reconciling different versions who sees a direct advantage. Education and ease of use are crucial.

  162. How I describe version control by zildgulf · · Score: 1

    I describe version control using a real world example. Company A is having a problem with their warehouse management system crashing every time a bunch of programmers change "stuff" for the month. The system would be down for days while the programmers try to back changes out of the system. Version control software makes it possible to store the previous setups. If the system crashes after a bunch of updates are put into their warehouse management system again, you can go to the version control software and restore the previous known good setup and get the system up within an hour.

    Then they say "Oh, it is just like a backup".

    Then I say it is better than a backup because with a monthly backup, the point where you save the system, you have to restore the ENTIRE system and that can take a few hours to maybe a day or two. Version control software can back out changes in the code ONE AT A TIME. You will be able to bring the system up, with some needed changes, often before the warehouse even opens. You can't do that with a restore from backup.

    Then they get the idea that version control is far better than backup software. That is what most people understand. We in Slashdot know that version control does so much more than that.

  163. Not "what it is" but "what you need" by Anonymous Coward · · Score: 0

    The thing I've always failed at is in first announcing what I'm looking for, then narrowing to specific packages.

    "What does this computer need?" :"It needs an operating system." :"What's an operating system???"
    "erm... you won't get it but I need it...."

    Instead,

    "What does this computer need?"
    "It needs TRSDOS 3.1*"
    "Well, what's TRSDOS 3.1*?"
    "It's the software that allows us to run programs. It costs $75.00*. The computer won't run without it."
    *The name and price of the OS has been changed to protect the innocent poster.

    Applying this...

    "What do you need?"
    "We need GitHub."
    "What's a GITHUB?"
    "It's a subscription web service for code development management. By providing pre-existing tools it will take away a lot of the time we have to spend managing code development and doing revision and bug tracking, freeing up out time for more code development, revision, and bug fixing. It costs $50.00 per month."

    But darn, that's seriously hard, becuase I think in terms of categories of what I need to fix a problem, not the exact tool for what must be done.

  164. Re:Nutshell: It's like a ledger by Anonymous Coward · · Score: 0

    HA! I do believe you found the "social scientist" in the room. Good job.

    We can all go home now.

  165. External Hosting by Mendy · · Score: 1

    It would be worth thinking about how secure you need your code to be before you entrust it to a 3rd party. The services should be secure but it is an additional risk.

    What I have in mind here is not so much the actual code but hard coded passwords or even data that might have found its way in amongst the code.

    If it hasn't been mentioned elsewhere you can use SVN without a server but with a repository created on a shared file share which might be an option and at least if all the data is staying on the same share you can't be making things less secure than they are now.

  166. Explaining Version Control to Management by lsatenstein · · Score: 1

    I believe that the management you were describing would be otherwise known as clever blonds.

    How did they get to where they are in management? Surely they must know about keeping copies. They would if they wrote documents and needed to refer to earlier ones.

    --
    Leslie Satenstein Montreal Quebec Canada
  167. Time machine by si618 · · Score: 1

    Conceptually, version control is like having your own time machine for documents.

    Here's a brief summary I wrote about the benefits.

    --
    Sometimes I doubt your commitment to Sparkle Motion
  168. My approach by onlyremedy · · Score: 1

    If I had to explain then, I would start with "If you had the ability to undo all the mistakes that you did since you were born, wouldn't you be confident enough to try something new? Now apply that for code, you'll be able to try new stuff hoping that all working code is backed up and you can fix things if something goes wrong." Your manager might reply asking you to backup code for the above statement. I would continue "Imagine that you are not sure about something goes wrong with your life, you won't know until that happens. Now unless you have ability to rewind stuff and fix things, you'd be in trouble, that's what version control does to projects, it prevents you from getting into problems." If manager still doesn't get convinced, I'll ask him/her to play Prince of Persia game :P

  169. Accountant Metaphor by Lord+Bitman · · Score: 1

    It's always strange to me that business people understand the importance of keeping track of money, but not other company resources.
    To put it in terms they understand, try explaining it in terms of accounting.

    Imagine an accountant who only kept track of exactly one number: The amount of money the company currently had.
    This accountant might be really good at remembering where all the money is, and can even explain where all of that money needs to go and where it came from, usually. But he only ever actually writes down the current amount.

    Throughout the day he does everything on a single calculator, then at the end of the day he writes down the final number, to use as the starting point for the next day.

    Sometimes, just before or just after a major transaction, he'll write down the number and maybe the date, first.

    But it's only ever one number.

    Would you hire that accountant? Would you trust them with your accounts? Even if the accountant seemed really good at staying on top of things?

    You can't just keep track of "where you are." you need to know how you got there. You need to know why you took each step along the way.

    --
    -- 'The' Lord and Master Bitman On High, Master Of All