Updated: Nov 18, 2022
Those of us who have been in the software development world for years know of the transformation the tools we use have undergone. Remembering the passage between versioning systems such as Subversion, Mercurial, and finally GIT with the understanding that the code we write will be automatically tested, deployed, and integrated into the final product. This thanks to the magic of DevOps.
In the same way that the Agile culture was implemented in corporate organizations, today, the DevOps culture is growing on them. However, certain practices need to be taken into account for a successful implementation:
Tracking and Testing of user stories:
Without talking about a specific tool, it is necessary to take into account the requirements raised for the product as well as the entire process that it goes through from lifting to putting it into production. Each stage in the software development cycle must have its respective tests, whether they are their own or automated. To mention a few tools: Jira for user story management and Selenium for evidence management.
Version Control System:
This speaks for itself, at this point we can't talk about creating code without a good versioning system. This is completely mandatory in both small and large teams due to the many advantages it has. An example and with which we have worked several years successfully: Git, Bitbucket.
A great branch management strategy:
Just as we need a version control system, we need a strategy for managing the branches where our code will rest. What is the use of having versioned code if it is not ordered by specific branches for each possible scenario? A great add-on to the Git versioning system is Gitflow.
Manual Merging Tools:
For some reason, there are times when our code cannot be joined automatically and we are forced to do this work manually, for this it is very important to have tools that allow us to do this task. In our experience, we have used Meld and Notepad ++ with the Compare plugin, successfully.