Versioning Definition and Implementation
Branching is mandatory after the first delivery to the client. The versioning scheme chosen for your project should be adapted to the size, maturity and real needs of the team since, in some cases, incorporating GIT may represent a high learning cost in relation to the immediate benefits. Because of this, the level of complexity in your versioning approach will depend on your project.
In the following cases, it is suggested to adopt a simple versioning scheme and avoid overly complex ones:
For very small and coordinated teams, all working on the same functionality and communicating constantly.
For short, punctual or experimental developments, where the priority is placed on speed rather than order.
For legacy projects with no evolution and very low maintenance.
In these cases, at least one single branch per version or delivery milestone helps to maintain some order and traceability.
Important
Versioning is not mandatory for every project from the beginning of the development, but it becomes mandatory once a project delivers the first version to a client.
When to start branching
Versioning is mandatory after the first delivery to the client is made. However, there are previous stages during development where branching is strongly suggested:
When parallel developments start to coexist, with different levels of progress or delivery dates.
When there is a functional base consolidated that allows splitting without the need to constantly perform update pulls:
The team already defined the architecture of the application (dependencies are added).
The team already set the theme and basic layers defined on the Design System standards (such as layouts and views).
The team uploaded the resources provided by the design team.
The team set the required parameters.
The team defined ranges of values for tokens. See Data for tokens best practices.
Developers have everything necessary to start bulding functionalities.
Read Versioning Schemes to learn about each versioning approach that can be adopted within a team and choose a right fit for the project you are working on.