When should I start using version control during the software development process?

This is not a question "why should I use version control" :-)

I have always used version control from the first line of code for each project that I have written so far. However, yesterday I came across a question (maybe silly) that I cannot find an answer to: when does version control really begin during the software development process? Should it start on the first line of code, as I have done all my life, or should it start when you really have an operational version of your code? In other words: should versioning be used before the first version of your software? (I mean version control, not the original backup, of course!).

+4
source share
3 answers

Preliminary development does not require version control; but what you need is a collaboration mechanism to track changes to specifications and documentation.

Some teams deploy version control at this point. Personally, I do not consider its value here, wiki / trello or the like is more valuable and makes more sense; as you track a lot of abstract ideas.

As soon as you start writing code, you should start the version control process; and during the development phase, prior to deployment, you continue to use version control; this is where you start to get value from it. Especially if you are developing along with others. If you're a solo developer, versioning might seem like extra work without any benefit; This is debatable, but when you work as a team it is very important.

After the deployment of the project; version control is critical and mandatory . You simply cannot afford to not do this - version control offers you many advantages for the type of work that you perform after deployment. Fixes, automated testing, deployment - they can be easily automated from your version control system. If you did not use version control during development; Now is the right time to deploy it, as you have a solid base as your reference point.

Version control these days is so easy to use with mercurial / git and their online hosting services that it costs nothing to start; and the advantages far outweigh any disadvantages.

+2
source

The question is pretty abstract. So, an equally abstract answer.

I think you should use version control for a specific project as soon as it starts adding value.

If you can distinguish between two phases - proof of concept / prototype, etc., as well as product code, I think you should separate the code bases for the two. And you can use version control tools for both (initial backup first and then real version control), just avoiding cluttering up the production repository with early material.

+1
source

If you use version control for code only, you can ask this question.
But ideally, version control should help you reproduce the assembly, which means that configuration files and other parameters can be just as important as your first line of code.

See for example .classpath and .project - check version control or not? .

This is the kind of data that will facilitate cooperation, as other developers will work and work (that is, they can create your program) very quickly.

0
source

Source: https://habr.com/ru/post/1440217/


All Articles