1

Some of us can say a Distributed Version Control System (e.g. Mercurial, git) will have a positive impact on developers only out of the experience of using one (under the right conditions: higher productivity, higher code-base stability, etc.), but, in what situations could a customer (i.e. the observer of the outcome of the software development lifecycle) tell there is a difference from using a CVCS and a DVCS?.

Anyone with empiric evidence of a customer "feeling" a difference upon DVCS adoption gets a big double-chocolate cookie with whipped cream and a cherry on top.

Note: "tell the difference" doesn't mean "know there was a DVCS involved" nor even remotely "know what a DVCS is"

3
  • @JosephKern Uhm... nope, not quite. I'm asking about end value for the customer, not business decisions about technical tools. May 11, 2012 at 4:16
  • I mean my question in the most practical and pure sense possible. I could say "the best software architecture is good for engineering and business ergo good for the customer", but the customer might just disagree and rather have a crappier architecture and faster delivery because it needs a quicker-to-market product. May 11, 2012 at 4:30
  • Possibly the customer may be interested in whether a version control system is used, rather than which type of version control. It is unacceptable to tell customer that our company lost the source code so cannot delivery a bug fix or enhanced version.
    – linquize
    Jul 26, 2012 at 9:11

2 Answers 2

4

In addition to the indirect better tools allowing programmers to do better job, there are some cases where there may be more direct effect. If you are developing for another company and for any reason it's not possible to access intranet of one from the other, than any time you need to debug and fix something at customer site having working version control with full history on your notebook is immensely helpful.

It happened to me a few times. In one case a colleague went to customer site to debug some problem, fixed it, but we ended up sending modified sources there and back over a file sharing server, because we needed to integrate the fix with some other changes we did in the meantime. In the other cases having reasonably recent sources on the notebook and integrating the modification after return was enough, but it would certainly have been easier with DVCS (The customer was at least 4 hours of travel away, sometimes involving flight, so it was not possible to stop by at our office at the end of the day.)

1
  • This is the kind of answer I'm looking for May 12, 2012 at 6:11
4

Absolutely.

A programmer who uses the best available tools will create a better end result. A DVCS is a very good tool with very real benefits.

Comparing DVCS to no source control at all is like comparing paint to mud. A painter who uses high quality paint on the walls of your house will do a much better job than a painter who uses mud.

Comparing DVCS to a non distributed VCS isn't quite as clear cut, more like comparing high quality paint to low quality paint... but the difference is still there.

If you use DVCS you will write code a little bit faster, and with slightly less bugs. How noticeable the effect is will depend on how complex your code is.

A programmer working by him/herself on a simple project will get less benefit (but still some) than a team of programmers working on a complex project.

There aren't any huge features that make DVCS better than VCS, but there are a million small ones. A few years ago, when they were new and possibly buggy that was a valid argument against using DVCS, but today the software is tried and true.

High quality paint is more expensive than cheap paint. But one of DVCS's benefits over VCS is it's cheaper to use a good quality tool (assuming you are paid by the hour). You should use DVCS for every project you are involve in. Even if you are the only person on the project who uses it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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