Neomind
  • Blog
  • Categories
    • Business Case
    • ECM
    • Fusion Platform
    • Innovation & IT
    • BPM
  • About Neomind
  • English
    • Portuguese (Brazil)
Neomind
  • Blog
  • Categories
    • Business Case
    • ECM
    • Fusion Platform
    • Innovation & IT
    • BPM
  • About Neomind
  • English
    • Portuguese (Brazil)
  • Follow us

Do you know what an SCM system is?

by Fabrício Winter24/01/2023 in Innovation & IT, no comment
SCM (Source Code Management)

What is an SCM system and why your company should use it

SCM, or Source Code Control System, is a standard used by software developers to streamline the creation and distribution of code. Its idea is to avoid the use of physical media (such as a CD or even pen drives) to distribute sources under development.

The advantages of using an SCM system

One of the  SCM systems’ main advantages is version control (SVC/CVS or Source Version Control), which allows viewing the history of changes made to the code, thus making it possible to find when a particular problem was solved and what was changed. to resolve it.

SVC systems keep sources separated by “tags” and “branches”. The tags represent versions where the code was sent to production and branches where it is in active development.

Normally, codes stored in tags should not be changed, as they represent an official version of the software. During the development process, the source code is sent to the branches, which are later joined (an operation known as merging) and become a tag.

Another advantage is its flexibility, being able to operate using business rules (such as filters and restrictions) or even integrate other external systems, such as a Continuous Integration (CI) system or a ticket/helpdesk management system.

Commercially available implementations

The SCM standard has several implementations that were developed over the years by different people and companies, each one designed to solve a certain problem that occurred during software development.

Some of the most used version control systems are:

• Subversion (or SVN) – Developed by Apache Software in 2000 (the company that created Tomcat, a web server used by several WEB systems), initially to replace and improve the CVS (Concurrent Versions System) system, which is now in disuse.

• Git – Created by Linus Torvalds (creator of the Linux Kernel), in 2005. It was developed to replace the BitKeeper system that was used to control Linux sources at the time, since it had been privatized. Currently, it is the most famous version control system, being used by thousands of companies around the world.

• Mercurial (or Hg) – Created by Matt Mackall in 2005 to be an alternative to BitKeeper, which could be used by other open-source projects at the time, such as Linux itself.

• Team Foundation Server (TFS) – Developed by Microsoft in 2005 to meet its internal (and external) demand for source control, the system stores the codes in the cloud and is directly linked to a Continuous Integration system also developed by the company.

Why use an SCM system?

Keeping source codes is important both for software developers and for companies that have internal systems and customizations, since:

• It organizes source code storage, avoiding programming discrepancies (for example: between the machines of two developers) and

• It acts as an active backup in case the developer’s machine fails.

SCM systems also allow the restoration and verification of previous versions, something that can help solve problems in an effective way (through “downgrading” or even by making it easier to find the changes made), thus reducing the downtime of services in production.

Above all, SCM systems keep things organized, as they separate different versions of the same product into different “tags” and “branches”, enabling quick consultation and analysis of the development changes.

Neomind

Here at Neomind we use Subversion (SVN) and GIT as source control tools, as they efficiently meet our internal needs. Neomind also offers source guard services and customizations for its customers with a build process and automated test integration.

Share on FacebookShare on Twitter

Fabrício Winter

Com quatro anos de experiência na área de programação, integra a equipe de manutenção da Neomind, é técnico em Informática pela Unisociesc/Tupy e acadêmico de Engenharia da Computação pela mesma instituição.

Leave a comment Cancel reply

Related posts

capa-role-process-management-continuous-improvement (1)

The Role of Process Management in Continuous Improvement

by Farley Niehues29/10/2024no comment
capa-just-in-time

Just in Time: What it is and what benefits it brings

by Farley Niehues09/10/2024no comment
capa-data-analytics

Data Analytics: what is it and how to apply it in practice?

by Siegnorett Beulke27/08/2024no comment
capa-swot-matrices-process-management

How to use SWOT analysis in process-based management?

by Farley Niehues21/08/2024no comment

  • Company
  • Consulting
  • Content
  • Support

© 2022 Neomind. All rights reserved.