The next thing I do is explain that I will be spending more time for coding upfront because I will introduce testing into the project.
These are not negotiable.
The next thing I do is explain that I will be spending more time for coding upfront because I will introduce testing into the project.
These are not negotiable.
I have listed all the positive benefits of version control in detail to my clients and still have the idea rejected due to it being an "unnecessary complication"...
Just try it. Not making any promises, but i think you'll have better luck if you do. Sounds like you're either framing things wrong, or allowing certain people to make the decision when it should be yours to make ;-)
The way it is framed seems to suggest that they have an existing (probably solo) developer who is used to not using version control and is frightened by the thought of adding new tools and processes.
If you introduce such a person to version control it will necessitate them spending some time to learn the system which they may be defensive about since they see it as some outsider encroaching on their territory.
In such a case the best bet might be to follow their method until you hit some situation where there is a problem or significant reduction in productivity as a result (shouldn't take long) and then demonstrate the virtues of using source control.
If on the other hand it is a non technical person who is making specific dictates about source control then that might raise another set of red flags.
Your method of using appropriate timing to introduce new tools is also what we employed and works very well.
Other developers can be trickier, but it's very simple to get logical people on the path of version control if you override their changes once or twice. (usually unintentionally)
Actually, the only time I've encountered zero version control, I simply refused to start working until git was introduced into the project.
It helps that I write integration/functional tests almost exclusively (unit tests are imho useful only for algorithms, which is not what I'm usually working on).
I mean, I can either spend 20min writing a test, or 5min clicking around the app every time I change something ...