SCMWise.com

Source Code


Definition

Source Code is typically a file, or set of files, that contain human readable text that when it is interpreted or compiled by a computer, it performs a task, or runs a computer program.

The Internet browser you are using to read this web page is an example of a compiled computer program.

This file, or set of files, contain a set of instruction that tell the computer what to do.

Most computer programs are made up of hundreds or thousands of files containing source code.

These computer instructions are written in a computer language that can be interpreted or compiled on the computer by tools known as an Interpreter or Compiler.

Examples of computer languages are C, C++, Java, Python, Perl and C#.


A Step Further

Source Code is the intellectual property of an organization. Understanding and properly protecting this valuable asset is one of Software Configuration Management's highest priority.

The difference between wisely and foolishly administering code can greatly impact the success of any development organization.

There have been software development organizations who have had catastrophic loss of their code through a hardware failure or data corruption, only to suffer little to no down-time because of proper backups and precautions were followed.

There have been known cases where companies encountered weeks of down time due to Version Control ignorance and not following code administration best practice.

Following standard Code Administrative Best Practices is the only way to ensure a healthy and productive development environment.



Software Version Control

Using a Software Configuration Management Tool, or Version Control Tool, is the only way to properly manage your development source code.

It is required to use a SCM Tool to properly administer code.


Best Practices
  • Use a reliable and dedicated server to house your code
  • Backup your code daily
  • Test your backup and restore processes
  • Choose a source control tool that fits your organization's requirements
  • Perform all tool specific administrative tasks
  • Keep your code repositories as clean as possible
  • Secure access to your code
  • Source Control Administration


The $64,000 SCM Question

"What source control tool should we use?"

This has to be the most widely asked question of SCM professionals. The frustration for the people asking this questions is the answer.

"It depends."

Many factors go into the selection of a tool for any organization. Properly gathering requirements will reduce the anxiety of making this choice.

Company politics, personal agendas and vendor relationships all weigh heavily on this process. Try to separate them from the actual requirements.


SCM Tool Evaluation Criteria


The Next Most Asked SCM Question

Should we branch?

And the unfulfilling reply.

It depends

Just like choosing a tool, there are many factors and forces that can go into the decision about branching and a strategy for it in the future.


Reasons to Branch

  • Physical
  • Functional
  • Environment
  • Organizational
  • Procedural


Branching Best Practices

  • Use Meaningful Branch Names
  • Prefer Branching over Code Freezing
  • KISS (Keep it Simple Stupid)
  • Isolate Change
  • Isolate Work, not People
  • Source Code Branching


Software Baseline

The goal of the baseline is to uniquely identify each version of a software component or application, and to facilitate detection and correction of configuration errors.

Software Baseline


Software Configuration Management Tools

SCM Tools is a list of the more popularly used Software Configuration Management Tools.

The plan is compile an exhaustive list of tools and rate them according to their usability.

Software Configuration Management Tools


Software Configuration Management Tool Reviews

Please share your Software Configuration Management Tool experiences and reviews!

Or

Read what other think of their Software Configuration Management Tools.

SCM Tool Reviews



Version Control Software Table of Contents

Software Version Control Software Version Control is a software system designed to track changes to individual files and directories. It's primary function is to facilitate, track and help organize changes to constantly evolving software systems.

Source Code Source Code is the intellectual property of an organization. Understanding and properly protecting this valuable asset is one of Software Configuration Management's highest priority.

Source Code Administration Source Code Administration is an important aspect of SCM. Ensuring wise and effective administration to your companies source code is vital to your organization's success.

Source Code Branching Most software projects will invariably require some efforts to be done in parallel. Large software projects require many roles to be filled, developers, architects, builders, testers and managers.

Software Baseline The goal of the baseline is to uniquely identify each version of a software component or application, and to facilitate detection and correction of configuration errors.

Source Code Evaluation In Software Configuration Management, one of the most common asked questions is what SCM source code tools should I use. The answer is, it depends on your source code evaluation criteria.

Source Control Source Control is a system or tool that versions the changes to a source code file. This is beneficial for many reasons, but the most fundamental reason is that it allows you to track changes on a per file basis. The typical tools used for versioning are called version control tools, software configuration management tools, or content management tools.

Version Control Version Control is a system or tool that captures the changes to a source code element: file, folder, image or binary. This is beneficial for many reasons, but the most fundamental reason is it allows you to track changes on a per file basis.

Version Control Software Version Control Software is an overview of the features and concepts of a few of the more commonly used Open Source SCM Tools, Subversion, Bazaar and Git.

SCMWise Home SCMWise is dedicated to Software Configuration Management. This site is a central repository for the collection of best practices, processes, methodologies and tools that surround SCM.



SCMWise Configuration Spec



© Copyright 2007 - 2016
Powered by Site Build It!
Page copy protected against web site content infringement by Copyscape SCMWise.com's Privacy Policy
ADD TO YOUR SOCIAL BOOKMARKS: add to BlinkBlink add to Del.icio.usDel.icio.us add to DiggDigg
add to FurlFurl add to GoogleGoogle add to SimpySimpy add to SpurlSpurl Bookmark at TechnoratiTechnorati add to YahooY! MyWeb